diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 9d08a1a8..00000000 --- a/.editorconfig +++ /dev/null @@ -1,9 +0,0 @@ -root = true - -[*] -charset = utf-8 -indent_style = space -indent_size = 2 -end_of_line = lf -insert_final_newline = true -trim_trailing_whitespace = true diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 2cf1da45..00000000 --- a/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -dist -build \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 142d6f99..00000000 --- a/.eslintrc.js +++ /dev/null @@ -1,53 +0,0 @@ -module.exports = { - root: true, - env: { - node: true - }, - parser: 'vue-eslint-parser', - parserOptions: { - parser: '@typescript-eslint/parser' - }, - extends: [ - '@vue/eslint-config-standard', - 'plugin:vue/vue3-recommended', - 'plugin:@typescript-eslint/recommended' - ], - plugins: ['@typescript-eslint', 'prettier'], - rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'vue/component-name-in-template-casing': ['error', 'PascalCase'], - 'arrow-parens': ['error', 'as-needed'], - 'no-unused-vars': 'off', - 'no-undef': 'off', - 'vue/no-v-html': 'off', - 'vue/require-prop-types': 'off', - 'vue/require-default-prop': 'off', - 'vue/multi-word-component-names': 'off', - '@typescript-eslint/semi': ['error', 'never'], - '@typescript-eslint/member-delimiter-style': [ - 'error', - { multiline: { delimiter: 'none' } } - ], - '@typescript-eslint/type-annotation-spacing': ['error', {}], - '@typescript-eslint/consistent-type-imports': [ - 'error', - { prefer: 'type-imports', disallowTypeAnnotations: false } - ], - '@typescript-eslint/camelcase': 'off', - '@typescript-eslint/explicit-function-return-type': 'off', - '@typescript-eslint/explicit-member-accessibility': 'off', - '@typescript-eslint/no-explicit-any': 'off', - '@typescript-eslint/no-parameter-properties': 'off', - '@typescript-eslint/no-empty-interface': 'off', - '@typescript-eslint/ban-ts-ignore': 'off', - '@typescript-eslint/no-empty-function': 'off', - '@typescript-eslint/no-non-null-assertion': 'off', - '@typescript-eslint/ban-ts-comment': 'off', - '@typescript-eslint/explicit-module-boundary-types': 'off', - '@typescript-eslint/ban-types': 'off', - '@typescript-eslint/no-namespace': 'off', - indent: 'off', - '@typescript-eslint/indent': ['error', 2] - } -} diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 9791d842..60a44906 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -10,4 +10,4 @@ liberapay: # Replace with a single Liberapay username issuehunt: # Replace with a single IssueHunt username otechie: # Replace with a single Otechie username lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry -custom: ['paypal.me/antongithub', antonreshetov.gumroad.com/l/masscode] +custom: [paypal.me/antongithub, antonreshetov.gumroad.com/l/masscode] diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index f86f7726..e2c913cb 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,6 +1,6 @@ -name: "\U0001F41E Bug report" +name: 🐞 Bug report description: Report an issue with massCode -title: "[Bug]: " +title: '[Bug]: ' labels: [pending triage] body: - type: markdown @@ -53,4 +53,4 @@ body: - label: Check that there isn't [already an issue](https://github.com/massCodeIO/massCode/issues) that reports the same bug to avoid creating a duplicate. required: true - label: Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/massCodeIO/massCode/discussions). - required: true \ No newline at end of file + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 14a17a2c..f8761111 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -2,4 +2,4 @@ blank_issues_enabled: false contact_links: - name: Questions & Discussions url: https://github.com/massCodeIO/massCode/discussions - about: Use GitHub discussions for message-board style questions and discussions. \ No newline at end of file + about: Use GitHub discussions for message-board style questions and discussions. diff --git a/.github/assets/logo.png b/.github/assets/logo.png new file mode 100644 index 00000000..78f71df0 Binary files /dev/null and b/.github/assets/logo.png differ diff --git a/.github/workflows/issue-close-require.yml b/.github/workflows/issue-close-require.yml index 58a7e664..d80cc449 100644 --- a/.github/workflows/issue-close-require.yml +++ b/.github/workflows/issue-close-require.yml @@ -2,7 +2,7 @@ name: Issue Close Require on: schedule: - - cron: "0 0 * * *" + - cron: '0 0 * * *' jobs: close-issues: @@ -11,7 +11,7 @@ jobs: - name: need reproduction uses: actions-cool/issues-helper@v3 with: - actions: "close-issues" + actions: close-issues token: ${{ secrets.GITHUB_TOKEN }} - labels: "need reproduction" - inactive-day: 3 \ No newline at end of file + labels: need reproduction + inactive-day: 3 diff --git a/.github/workflows/issue-labeled.yml b/.github/workflows/issue-labeled.yml index 4783fe2a..43512f75 100644 --- a/.github/workflows/issue-labeled.yml +++ b/.github/workflows/issue-labeled.yml @@ -13,9 +13,9 @@ jobs: if: github.event.label.name == 'need reproduction' uses: actions-cool/issues-helper@v3 with: - actions: "create-comment, remove-labels" + actions: 'create-comment, remove-labels' token: ${{ secrets.GITHUB_TOKEN }} issue-number: ${{ github.event.issue.number }} body: | - Hello @${{ github.event.issue.user.login }}. Please describe in detail the sequence of actions that leads to the bug (skip it if it's already there). Add screenshots of errors from the console. If possible add a video. Issues marked with `need reproduction` will be closed if they have no activity within 3 days. - labels: "pending triage" + Hello @${{ github.event.issue.user.login }}. Please describe in detail the sequence of actions that leads to the bug (skip it if it's already there). Add screenshots of errors from the console. If possible add a video. Issues marked with `need reproduction` will be closed if they have no activity within 3 days. + labels: pending triage diff --git a/.github/workflows/release-tag.yml b/.github/workflows/release-tag.yml index 28fa0604..37ac48af 100644 --- a/.github/workflows/release-tag.yml +++ b/.github/workflows/release-tag.yml @@ -3,7 +3,7 @@ name: Add GitHub Release Tag on: push: tags: - - "v*" # Push events to matching v*, i.e. v1.0, v20.15.10 + - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 jobs: build: @@ -23,4 +23,4 @@ jobs: with: tag_name: ${{ github.ref }} draft: true - preset: angular # Use conventional-changelog preset \ No newline at end of file + preset: angular # Use conventional-changelog preset diff --git a/.gitignore b/.gitignore index a2ac8086..1e796700 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,10 @@ -node_modules dist -build +build/main +build/renderer +scripts/build-sponsored.sh -.vscode -.idea +node_modules .DS_Store -src/renderer/types/auto-imports.d.ts -src/renderer/types/components.d.ts -*.log -*.local -.env +components.d.ts +auto-imports.d.ts +.github/*-instructions.md \ No newline at end of file diff --git a/.husky/.gitignore b/.husky/.gitignore deleted file mode 100644 index 31354ec1..00000000 --- a/.husky/.gitignore +++ /dev/null @@ -1 +0,0 @@ -_ diff --git a/.husky/commit-msg b/.husky/commit-msg deleted file mode 100755 index d71a03b9..00000000 --- a/.husky/commit-msg +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -yarn commitlint --edit $1 diff --git a/.husky/pre-commit b/.husky/pre-commit deleted file mode 100755 index d2ae35e8..00000000 --- a/.husky/pre-commit +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -yarn lint-staged diff --git a/.npmrc b/.npmrc deleted file mode 100644 index cc8df9de..00000000 --- a/.npmrc +++ /dev/null @@ -1 +0,0 @@ -node-linker=hoisted \ No newline at end of file diff --git a/.prettierrc b/.prettierrc index 49955e2e..8b0bc4ef 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,5 +1,3 @@ { - "semi": false, - "singleQuote": true, - "trailingComma": "none" -} + "plugins": ["prettier-plugin-tailwindcss"] +} \ No newline at end of file diff --git a/README.md b/README.md index f61e34b9..797ad0fc 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ -

- + massCode

massCode

@@ -11,7 +10,6 @@ Inspired by applications like SnippetsLab and Quiver.

-

GitHub package.json version GitHub All Releases @@ -27,8 +25,7 @@

Extensions: VS Code | - Raycast | - Alfred + Raycast

@@ -47,10 +44,11 @@ ## Support -massCode is open source project and completely free to use. +massCode is an open-source project and completely free to use. -However, the amount of effort needed to maintain and develop new features for the project is not sustainable without proper financial backing. You can support massCode development via the following methods: +Maintaining and adding new features requires significant time and effort. If you find massCode useful, consider supporting its development. Your contribution helps keep the project alive and moving forward. +You can support massCode through the following channels:

[![Donate via Open Collective](https://img.shields.io/badge/donate-Open%20Collective-blue.svg?style=popout&logo=opencollective)](https://opencollective.com/masscode) @@ -60,54 +58,60 @@ However, the amount of effort needed to maintain and develop new features for th
## Features + ### Organization -massCode allows you to organize snippets using multi-level folders as well as tags. Each snippet has fragments - tabs, which gives even greater level of organization. + +Organize your snippets with multi-level folders and tags. Each snippet can contain multiple fragments (tabs), giving you fine-grained control over structure and grouping. ### Editor -massCode uses [Codemirror](https://github.com/codemirror/codemirror5) as the basis for the editor and `.tmLanguage` as the grammar for syntax highlighting. This tandem opens the door to over [600](https://github.com/github/linguist/blob/master/vendor/README.md) existing grammars. The application currently supports more than [160](https://github.com/massCodeIO/massCode/tree/master/src/renderer/components/editor) grammars. In addition to `.tmLanguage`, the application supports `.tmTheme` for themes. There is also support for [Prettier](https://prettier.io) for code formatting. -### Real-time Render for HTML & CSS -You can not only collect snippets, but also see the rendering result for HTML and CSS in real time. Test the idea or just view the result. +Built on [CodeMirror](https://github.com/codemirror/codemirror5) with `.tmLanguage` grammars for syntax highlighting. -### Markdown -massCode allows you to write in Markdown and provide support to syntax highlighting, tables, list and other formatting. Also massCode supports [Mermaid](https://mermaid-js.github.io/mermaid/#) - diagramming and charting tool that renders Markdown-inspired text definitions to create and modify diagrams dynamically. +* Supports over [600 grammars](https://github.com/github/linguist/blob/master/vendor/README.md), with 160+ available out of the box. +* Integrated [Prettier](https://prettier.io) for clean, consistent code formatting. -### Presentation Mode +### Real-time HTML & CSS Preview -massCode allows you to make a presentation out of a sequence of snippets. It's great for classroom use, team meetings, conferences or simply reviewing notes on your own. +Write and instantly preview HTML and CSS snippets. Perfect for prototyping, testing ideas, or quick visual checks. -### Mindmap +### Markdown -massCode allows you to create mental maps from markdown, making the process of creating and editing maps fast and intuitively understandable. It's a great way to organize and structure information visually. +Full Markdown support with syntax highlighting, tables, lists, and more. -### Search -It is impossible to imagine a productive snippets manager without quick access to snippets. Therefore massCode has a fast full-text search with highlighting of the search query. +* Integrated [Mermaid](https://mermaid-js.github.io/mermaid/#) for dynamic diagrams and charts. -### Autosave -massCode automatically saves any changes you make during work, so you don't have to worry about losing changes. +### Presentation Mode -### Sync -You can use any service that provides cloud synchronization, such as iCloud Drive, Google Drive, Dropbox or other similar. +Turn a sequence of snippets into a presentation. Useful for classrooms, team meetings, conference talks, or simply walking through your own notes. -### Database -massCode uses a simple JSON to store your data. The database files are on your local computer. +### Mindmap + +Generate mind maps from Markdown. Fast, intuitive, and ideal for structuring and visualizing ideas. ### Integrations -massCode supports extensions for [VS Code](https://marketplace.visualstudio.com/items?itemName=AntonReshetov.masscode-assistant), [Raycast](https://www.raycast.com/antonreshetov/masscode) and [Alfred](https://github.com/massCodeIO/assistant-alfred), which gives even more possibilities to use application. With the VS Code extension you get practically zen mode, search for the necessary snippets and insert them immediately or save the selected code sections as a snippet. + +Extend your workflow with: + +* [VS Code Extension](https://marketplace.visualstudio.com/items?itemName=AntonReshetov.masscode-assistant): zen mode snippet search, instant insertion, and save selected code as snippets. +* [Raycast Extension](https://www.raycast.com/antonreshetov/masscode): quick snippet access directly from Raycast. ### Beautiful Screenshots -Create beautiful snippet images on different backgrounds and in different modes + +Export snippets as polished images with customizable themes and backgrounds. ### Developer Tools -massCode provides developers with a range of convenient tools, such as: -- Text tools: Case Converter, Slug Generator, Sort Lines, URL Parser -- Cryptography & Security: Hash, HMAC, Password and UUID Generators -- Encoders & Decoders: URL, Base64 +Handy built-in utilities for everyday dev tasks: + +* **Text Tools**: Case Converter, Slug Generator, URL Parser +* **Crypto & Security**: Hash/HMAC, Password Generator, UUID +* **Encoders/Decoders**: URL, Base64, JSON ⇄ TOML/XML/YAML, Text ⇄ ASCII/Binary/Unicode, Color Converter + +--- ## Overview -The goal of creating this application was mostly my own growth as a developer. Also, I wanted this project to absorb the best of such applications already on the market (both free and paid). At the same time, I wanted this project to be an open source project. +massCode was created as a personal learning project and evolved into an open-source tool. The goal: combine the best features of snippet managers (free and paid) into one flexible, developer-friendly application. ## Follow - News and updates on [Twitter](https://twitter.com/anton_reshetov). @@ -115,11 +119,8 @@ The goal of creating this application was mostly my own growth as a developer. A ![](.github/assets/subscribe.gif) -## Other -You can also [download](https://github.com/antonreshetov/massCode) massCode v1. - ## License [AGPL-3.0](https://github.com/massCodeIO/massCode/blob/master/LICENSE) -Copyright (c) 2019-present, [Anton Reshetov](https://github.com/antonreshetov). \ No newline at end of file +Copyright (c) 2019-present, [Anton Reshetov](https://github.com/antonreshetov). diff --git a/entitlements.mac.inherit.plist b/build/entitlements.mac.inherit.plist similarity index 100% rename from entitlements.mac.inherit.plist rename to build/entitlements.mac.inherit.plist diff --git a/build/icons/256x256.png b/build/icons/256x256.png new file mode 100644 index 00000000..8afef6d5 Binary files /dev/null and b/build/icons/256x256.png differ diff --git a/build/icons/icon.icns b/build/icons/icon.icns new file mode 100644 index 00000000..38f41a03 Binary files /dev/null and b/build/icons/icon.icns differ diff --git a/build/icons/icon.ico b/build/icons/icon.ico new file mode 100644 index 00000000..1993db0a Binary files /dev/null and b/build/icons/icon.ico differ diff --git a/commitlint.config.js b/commitlint.config.js index b2894ad6..5c4a9e1b 100644 --- a/commitlint.config.js +++ b/commitlint.config.js @@ -10,15 +10,14 @@ module.exports = { 'docs', 'feat', 'fix', - 'perf', 'polish', 'refactor', 'release', 'revert', 'style', 'test', - 'types' - ] - ] - } + 'types', + ], + ], + }, } diff --git a/config/electron-builder.ts b/config/electron-builder.ts deleted file mode 100644 index e2f85055..00000000 --- a/config/electron-builder.ts +++ /dev/null @@ -1,87 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import type { Configuration } from 'electron-builder' -import path from 'path' - -const isSponsored = process.env.VITE_SPONSORED === 'true' -const isTestBuild = process.env.TEST_BUILD === 'true' -const testMacArch = process.env.TEST_MAC_ARCH - -const artifactName = isSponsored - ? '${productName}-${version}-${arch}-sponsored.${ext}' - : undefined - -const macTarget = [ - { target: 'dmg', arch: 'arm64' }, - { target: 'dmg', arch: 'x64' } -] - -if (isTestBuild) { - if (testMacArch === 'arm64') macTarget.pop() - if (testMacArch === 'x64') macTarget.shift() -} - -export default { - appId: 'io.masscode.app', - artifactName, - productName: 'massCode', - directories: { - output: path.resolve(__dirname, '../../dist') - }, - // afterSign: !isTestBuild ? 'build/scripts/notarize.js' : undefined, - nsis: { - oneClick: false, - perMachine: false, - allowToChangeInstallationDirectory: true, - shortcutName: 'massCode' - }, - mac: { - target: macTarget, - icon: 'config/icons/icon.icns', - category: 'public.app-category.productivity', - hardenedRuntime: true, - entitlements: 'build/entitlements.mac.inherit.plist' - }, - win: { - target: 'nsis', - icon: 'config/icons/icon.ico' - }, - linux: { - target: ['snap'], - icon: 'config/icons' - }, - extraMetadata: { - main: 'src/main/index.js' - }, - protocols: [ - { - name: 'massCode', - schemes: ['masscode'] - } - ], - files: [ - '!**/node_modules/*/{CHANGELOG.md,README.md,README,readme.md,readme}', - '!**/node_modules/*/{test,__tests__,tests,powered-test,example,examples}', - '!**/node_modules/*.d.ts', - '!**/node_modules/.bin', - '!config', - '!README.md', - '!scripts', - '!dist', - '!src', - '!build', - '!hero.png', - '!commitlint.config.js', - '!tsconfig.electron.json', - '!tsconfig.json', - { - from: 'build/renderer', - to: 'renderer', - filter: ['**/*'] - }, - { - from: 'build/src', - to: 'src', - filter: ['**/*'] - } - ] -} as Configuration diff --git a/config/icons/256x256.png b/config/icons/256x256.png deleted file mode 100644 index ce728acb..00000000 Binary files a/config/icons/256x256.png and /dev/null differ diff --git a/config/icons/icon.icns b/config/icons/icon.icns deleted file mode 100644 index c12d909f..00000000 Binary files a/config/icons/icon.icns and /dev/null differ diff --git a/config/icons/icon.ico b/config/icons/icon.ico deleted file mode 100644 index c98a94a9..00000000 Binary files a/config/icons/icon.ico and /dev/null differ diff --git a/config/vite.ts b/config/vite.ts deleted file mode 100644 index ceecafb0..00000000 --- a/config/vite.ts +++ /dev/null @@ -1,58 +0,0 @@ -import path from 'path' -import vuePlugin from '@vitejs/plugin-vue' -import { defineConfig } from 'vite' -import AutoImport from 'unplugin-auto-import/vite' -import Components from 'unplugin-vue-components/vite' -import Icons from 'unplugin-icons/vite' -import { FileSystemIconLoader } from 'unplugin-icons/loaders' -import IconsResolver from 'unplugin-icons/resolver' - -const pathSrc = path.resolve(__dirname, '../../src/renderer') -const pathOut = path.resolve(__dirname, '../renderer') - -export default defineConfig({ - root: pathSrc, - publicDir: 'public', - server: { - port: 8080, - open: false - }, - build: { - outDir: pathOut, - emptyOutDir: true, - target: 'esnext' - }, - define: { - // прокладка для pseudomap при билде - 'process.env.TEST_PSEUDOMAP': {} - }, - plugins: [ - vuePlugin(), - AutoImport({ - dts: `${pathSrc}/types/auto-imports.d.ts` - }), - Components({ - dts: `${pathSrc}/types/components.d.ts`, - dirs: [`${pathSrc}/components`], - resolvers: [ - IconsResolver({ - prefix: '', - customCollections: ['unicons', 'svg'] - }) - ] - }), - Icons({ - customCollections: { - unicons: FileSystemIconLoader( - './node_modules/@iconscout/unicons/svg/line' - ), - svg: FileSystemIconLoader(pathSrc + '/assets/svg') - } - }) - ], - resolve: { - alias: { - '@': pathSrc - } - } -}) diff --git a/demo/db/db.json b/demo/db/db.json deleted file mode 100644 index dd8d921a..00000000 --- a/demo/db/db.json +++ /dev/null @@ -1,2879 +0,0 @@ -{ - "folders": [ - { - "id": "J7rNZi7X", - "name": "Test Grammars", - "defaultLanguage": "typescript", - "parentId": null, - "isOpen": false, - "isSystem": false, - "createdAt": 1659494503299, - "updatedAt": 1659494610605 - } - ], - "snippets": [ - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "ABAP", - "content": [ - { - "label": "Fragment 1", - "language": "abap", - "value": "***************************************\n** Program: EXAMPLE **\n** Author: Joe Byte, 07-Jul-2007 **\n***************************************\n \nREPORT BOOKINGS.\n \n* Read flight bookings from the database\nSELECT * FROM FLIGHTINFO\n WHERE CLASS = 'Y' \"Y = economy\n OR CLASS = 'C'. \"C = business\n(...)\n\nREPORT TEST.\nWRITE 'Hello World'.\n\nUSERPROMPT = 'Please double-click on a line in the output list ' &\n 'to see the complete details of the transaction.'.\n\n\nDATA LAST_EOM TYPE D. \"last end-of-month date\n \n* Start from today's date\n LAST_EOM = SY-DATUM.\n* Set characters 6 and 7 (0-relative) of the YYYYMMDD string to \"01\",\n* giving the first day of the current month\n LAST_EOM+6(2) = '01'.\n* Subtract one day\n LAST_EOM = LAST_EOM - 1.\n \n WRITE: 'Last day of previous month was', LAST_EOM.\n \nDATA : BEGIN OF I_VBRK OCCURS 0,\n VBELN LIKE VBRK-VBELN,\n ZUONR LIKE VBRK-ZUONR,\n END OF I_VBRK.\n\nSORT i_vbrk BY vbeln ASCENDING.\nSORT i_vbrk BY vbeln DESCENDING.\n\nRETURN." - } - ], - "id": "JMINV1s7", - "createdAt": 1659494546718, - "updatedAt": 1659494556760 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "ABC", - "content": [ - { - "label": "Fragment 1", - "language": "abc", - "value": "%abc-2.1\nH:This file contains some example English tunes\n% note that the comments (like this one) are to highlight usages\n% and would not normally be included in such detail\nO:England % the origin of all tunes is England\n\nX:1 % tune no 1\nT:Dusty Miller, The % title\nT:Binny's Jig % an alternative title\nC:Trad. % traditional\nR:DH % double hornpipe\nM:3/4 % meter\nK:G % key\nB>cd BAG|FA Ac BA|B>cd BAG|DG GB AG:|\nBdd gfg|aA Ac BA|Bdd gfa|gG GB AG:|\nBG G/2G/2G BG|FA Ac BA|BG G/2G/2G BG|DG GB AG:|\nW:Hey, the dusty miller, and his dusty coat;\nW:He will win a shilling, or he spend a groat.\nW:Dusty was the coat, dusty was the colour;\nW:Dusty was the kiss, that I got frae the miller.\n\nX:2\nT:Old Sir Simon the King\nC:Trad.\nS:Offord MSS % from Offord manuscript\nN:see also Playford % reference note\nM:9/8\nR:SJ % slip jig\nN:originally in C % transcription note\nK:G\nD|GFG GAG G2D|GFG GAG F2D|EFE EFE EFG|A2G F2E D2:|\nD|GAG GAB d2D|GAG GAB c2D|[1 EFE EFE EFG|[A2G] F2E D2:|\\ % no line-break in score\nM:12/8 % change of meter\n[2 E2E EFE E2E EFG|\\ % no line-break in score\nM:9/8 % change of meter\nA2G F2E D2|]\n\nX:3\nT:William and Nancy\nT:New Mown Hay\nT:Legacy, The\nC:Trad.\nO:England; Gloucs; Bledington % place of origin\nB:Sussex Tune Book % can be found in these books\nB:Mally's Cotswold Morris vol.1 2\nD:Morris On % can be heard on this record\nP:(AB)2(AC)2A % play the parts in this order\nM:6/8\nK:G \n[P:A] D|\"G\"G2G GBd|\"C\"e2e \"G\"dBG|\"D7\"A2d \"G\"BAG|\"C\"E2\"D7\"F \"G\"G2:|\n[P:B] d|\"G\"e2d B2d|\"C\"gfe \"G\"d2d| \"G\"e2d B2d|\"C\"gfe \"D7\"d2c|\n \"G\"B2B Bcd|\"C\"e2e \"G\"dBG|\"D7\"A2d \"G\"BAG|\"C\"E2\"D7\"F \"G\"G2:|\n% changes of meter, using inline fields\n[T:Slows][M:4/4][L:1/4][P:C]\"G\"d2|\"C\"e2 \"G\"d2|B2 d2|\"Em\"gf \"A7\"e2|\"D7\"d2 \"G\"d2|\\\n \"C\"e2 \"G\"d2|[M:3/8][L:1/8] \"G\"B2 d |[M:6/8] \"C\"gfe \"D7\"d2c|\n \"G\"B2B Bcd|\"C\"e2e \"G\"dBG|\"D7\"A2d \"G\"BAG|\"C\"E2\"D7\"F \"G\"G2:|\n\nX:4\nT:South Downs Jig\nR:jig\nS:Robert Harbron\nM:6/8\nL:1/8\nK:G\n|: d | dcA G3 | EFG AFE | DEF GAB | cde d2d |\ndcA G3 | EFG AFE | DEF GAB | cAF G2 :|\nB | Bcd e2c | d2B c2A | Bcd e2c | [M:9/8]d2B c2B A3 |\n[M:6/8]DGF E3 | cBA FED | DEF GAB |1 cAF G2 :|2 cAF G3 |]\n\nX:5\nT:Atholl Brose\n% in this example, which reproduces Highland Bagpipe gracing,\n% the large number of grace notes mean that it is more convenient to be specific about\n% score line-breaks (using the $ symbol), rather than using code line breaks to indicate them\nI:linebreak $\nK:D\n{gcd}c<{e}A {gAGAG}A2 {gef}e>A {gAGAG}Ad|\n{gcd}c<{e}A {gAGAG}A>e {ag}a>f {gef}e>d|\n{gcd}c<{e}A {gAGAG}A2 {gef}e>A {gAGAG}Ad|\n{g}c/d/e {g}G>{d}B {gf}gG {dc}d>B:|$\n{g}ce {ag}a>e {gf}g>e|\n{g}ce {ag}a2 {GdG}a>d|\n{g}ce {ag}a>e {gf}g>f|\n{gef}e>d {gf}g>d {gBd}B<{e}G {dc}d>B|\n{g}ce {ag}a>e {gf}g>e|\n{g}ce {ag}a2 {GdG}ad|\n{g}c<{GdG}e {gf}ga {f}g>e {g}f>d|\n{g}e/f/g {Gdc}d>c {gBd}B<{e}G {dc}d2|]\n\nX:6\nT:Untitled Reel\nC:Trad.\nK:D\neg|a2ab ageg|agbg agef|g2g2 fgag|f2d2 d2:|\\\ned|cecA B2ed|cAcA E2ed|cecA B2ed|c2A2 A2:|\nK:G\nAB|cdec BcdB|ABAF GFE2|cdec BcdB|c2A2 A2:|\n\nX:7\nT:Kitchen Girl\nC:Trad.\nK:D\n[c4a4] [B4g4]|efed c2cd|e2f2 gaba|g2e2 e2fg|\na4 g4|efed cdef|g2d2 efed|c2A2 A4:|\nK:G\nABcA BAGB|ABAG EDEG|A2AB c2d2|e3f edcB|ABcA BAGB|\nABAG EGAB|cBAc BAG2|A4 A4:|\n\n%abc-2.1\n%%pagewidth 21cm\n%%pageheight 29.7cm\n%%topspace 0.5cm\n%%topmargin 1cm\n%%botmargin 0cm\n%%leftmargin 1cm\n%%rightmargin 1cm\n%%titlespace 0cm\n%%titlefont Times-Bold 32\n%%subtitlefont Times-Bold 24\n%%composerfont Times 16\n%%vocalfont Times-Roman 14\n%%staffsep 60pt\n%%sysstaffsep 20pt\n%%musicspace 1cm\n%%vocalspace 5pt\n%%measurenb 0\n%%barsperstaff 5\n%%scale 0.7\nX: 1\nT: Canzonetta a tre voci\nC: Claudio Monteverdi (1567-1643)\nM: C\nL: 1/4\nQ: \"Andante mosso\" 1/4 = 110\n%%score [1 2 3]\nV: 1 clef=treble name=\"Soprano\"sname=\"A\"\nV: 2 clef=treble name=\"Alto\" sname=\"T\"\nV: 3 clef=bass middle=d name=\"Tenor\" sname=\"B\"\n%%MIDI program 1 75 % recorder\n%%MIDI program 2 75\n%%MIDI program 3 75\nK: Eb\n% 1 - 4\n[V: 1] |:z4 |z4 |f2ec |_ddcc |\nw: Son que-sti~i cre-spi cri-ni~e\nw: Que-sti son gli~oc-chi che mi-\n[V: 2] |:c2BG|AAGc|(F/G/A/B/)c=A|B2AA |\nw: Son que-sti~i cre-spi cri-ni~e que - - - - sto~il vi-so e\nw: Que-sti son~gli oc-chi che mi-ran - - - - do fi-so mi-\n[V: 3] |:z4 |f2ec|_ddcf |(B/c/_d/e/)ff|\nw: Son que-sti~i cre-spi cri-ni~e que - - - - sto~il\nw: Que-sti son~gli oc-chi che mi-ran - - - - do\n% 5 - 9\n[V: 1] cAB2 |cAAA |c3B|G2!fermata!Gz ::e4|\nw: que-sto~il vi-so ond' io ri-man-go~uc-ci-so. Deh,\nw: ran-do fi-so, tut-to re-stai con-qui-so.\n[V: 2] AAG2 |AFFF |A3F|=E2!fermata!Ez::c4|\nw: que-sto~il vi-so ond' io ri-man-go~uc-ci-so. Deh,\nw: ran-do fi-so tut-to re-stai con-qui-so.\n[V: 3] (ag/f/e2)|A_ddd|A3B|c2!fermata!cz ::A4|\nw: vi - - - so ond' io ti-man-go~uc-ci-so. Deh,\nw: fi - - - so tut-to re-stai con-qui-so.\n% 10 - 15\n[V: 1] f_dec |B2c2|zAGF |\\\nw: dim-me-lo ben mi-o, che que-sto\\\n=EFG2 |1F2z2:|2F8|] % more notes\nw: sol de-si-o_. % more lyrics\n[V: 2] ABGA |G2AA|GF=EF |(GF3/2=E//D//E)|1F2z2:|2F8|]\nw: dim-me-lo ben mi-o, che que-sto sol de-si - - - - o_.\n[V: 3] _dBc>d|e2AF|=EFc_d|c4 |1F2z2:|2F8|]\nw: dim-me-lo ben mi-o, che que-sto sol de-si-o_." - } - ], - "id": "XvJhtwXD", - "createdAt": 1659494559915, - "updatedAt": 1659494581094 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "ActionScript", - "content": [ - { - "label": "Fragment 1", - "language": "actionscript", - "value": "package code\n{\n /*****************************************\n\t * based on textmate actionscript bundle\n\t ****************************************/\n\t \n\timport fl.events.SliderEvent;\n\t\n\tpublic class Foo extends MovieClip\n\t{\n\t\t//*************************\n\t\t// Properties:\n\t\t\n\t\tpublic var activeSwatch:MovieClip;\n\t\t\n\t\t// Color offsets\n\t\tpublic var c1:Number = 0;\t// R\n\t\t\n\t\t//*************************\n\t\t// Constructor:\n\t\t\n\t\tpublic function Foo()\n\t\t{\n\t\t\t// Respond to mouse events\n\t\t\tswatch1_btn.addEventListener(MouseEvent.CLICK,swatchHandler,false,0,false);\n\t\t\tpreviewBox_btn.addEventListener(MouseEvent.MOUSE_DOWN,dragPressHandler);\n\t\t\t\n\t\t\t// Respond to drag events\n\t\t\tred_slider.addEventListener(SliderEvent.THUMB_DRAG,sliderHandler);\n\t\t\t\n\t\t\t// Draw a frame later\n\t\t\taddEventListener(Event.ENTER_FRAME,draw);\n\t\t}\n \n\t\tprotected function clickHandler(event:MouseEvent):void\n\t\t{\n\t\t\tcar.transform.colorTransform = new ColorTransform(0,0,0,1,c1,c2,c3);\n\t\t}\n\t\t\n\t\tprotected function changeRGBHandler(event:Event):void\n\t\t{\n\t\t\tc1 = Number(c1_txt.text);\n \n\t\t\tif(!(c1>=0)){\n\t\t\t\tc1 = 0;\n\t\t\t}\t\t\t\n\t\t\t\n\t\t\tupdateSliders();\n\t\t}\n\t}\n}" - } - ], - "id": "QpGK-4E3", - "createdAt": 1659494622609, - "updatedAt": 1659494644279 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "ADA", - "content": [ - { - "label": "Fragment 1", - "language": "ada", - "value": "with Ada.Text_IO; use Ada.Text_IO;\nprocedure Hello is\nbegin\n Put_Line(\"Hello, world!\");\nend Hello;" - } - ], - "id": "Px9jIO7P", - "createdAt": 1659494650343, - "updatedAt": 1659494671562 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Alda", - "content": [ - { - "label": "Fragment 1", - "language": "alda", - "value": "# Example taken from https://github.com/alda-lang/alda-core/blob/master/examples/across_the_sea.alda\n(tempo! 90)\n(quant! 95)\n\npiano:\n o5 g- > g- g-/f > e- d-4. < b-8 d-2 | c-4 e- d- d- g-\n\nflute:\n r2 g-4 a- b-2. > d-32~ e-16.~8 < b-2 a- g-1" - } - ], - "id": "nxTqeuxF", - "createdAt": 1659494682982, - "updatedAt": 1659494699425 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Apache", - "content": [ - { - "label": "Fragment 1", - "language": "apache_conf", - "value": "Redirect /linux http://www.linux.org\nRedirect 301 /kernel http://www.linux.org\n\n# comment\nRewriteEngine on\n\nRewriteCond %{HTTP_USER_AGENT} ^Mozilla.*\nRewriteRule ^/$ /homepage.max.html [L]\n\nRewriteRule ^/$ /homepage.std.html [L]\n" - } - ], - "id": "A89NVbKL", - "createdAt": 1659494861634, - "updatedAt": 1659494932607 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Apex", - "content": [ - { - "label": "Fragment 1", - "language": "apex", - "value": "public class testBlockDuplicatesLeadTrigger {\n\t\n\tstatic testMethod void testDuplicateTrigger(){ \n\t\n\t\tLead[] l1 =new Lead[]{\n\t\t\tnew Lead( Email='homer@fox.tv', LastName='Simpson', Company='fox' )\n\t\t};\n\t\tinsert l1;\t\t// add a known lead\n\t\t\n\t\tLead[] l2 =new Lead[]{\n\t\t\tnew Lead( Email='homer@fox.tv', LastName='Simpson', Company='fox' )\n\t\t};\n\t\t// try to add a matching lead\n\t\ttry {\tinsert l2;\t} catch ( System.DmlException e) { \n\t\t\tsystem.assert(e.getMessage().contains('first error: FIELD_CUSTOM_VALIDATION_EXCEPTION, A lead with this email address already exists'),\n\t\t\t e.getMessage());\n\t\t}\n\t\t\n\t\t// test duplicates in the same batch\n\t\tLead[] l3 =new Lead[]{\n\t\t\tnew Lead( Email='marge@fox.tv', LastName='Simpson', Company='fox' ),\n\t\t\tnew Lead( Email='marge@fox.tv', LastName='Simpson', Company='fox' )\n\t\t};\t\t\n\t\ttry { insert l3;\t} catch ( System.DmlException e) { \n\t\t\tsystem.assert(e.getMessage().contains('first error: FIELD_CUSTOM_VALIDATION_EXCEPTION, Another new lead has the same email'),\n\t\t\t\te.getMessage());\n\t\t\t\n\t\t}\n\t\t\n\t\t// test update also\n\t\tLead[] lup = new Lead[]{\n\t\t\tnew Lead( Email='marge@fox.tv', LastName='Simpson', Company='fox' )\n\t\t};\n\t\tinsert lup;\n\t\tLead marge = [ select id,Email from lead where Email = 'marge@fox.tv' limit 1];\n\t\tsystem.assert(marge!=null);\n\t\tmarge.Email = 'homer@fox.tv'; \n\t\t\n\t\ttry { update marge; } catch ( System.DmlException e) { \n\t\t\tsystem.assert(e.getMessage().contains('irst error: FIELD_CUSTOM_VALIDATION_EXCEPTION, A lead with this email address already exists'),\n\t\t\t\te.getMessage());\t\n\t\t}\n\t}\n}" - } - ], - "id": "vvnKSBLd", - "createdAt": 1659494946912, - "updatedAt": 1659495156796 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "AppleScript", - "content": [ - { - "label": "Fragment 1", - "language": "applescript", - "value": "set advancedSettings to {background color:{65535, 0, 0}, background dimensions:{1024, 90}, opacity:100}\ndisplay overlay text \"Warning. Boss approaching…\" duration 1 advanced settings advancedSettings with goose honk" - } - ], - "id": "sHDdrA-8", - "createdAt": 1659495204662, - "updatedAt": 1659495281720 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "AsciiDoc", - "content": [ - { - "label": "Fragment 1", - "language": "asciidoc", - "value": "AsciiDoc User Guide\n===================\nStuart Rackham \n:Author Initials: SJR\n:toc:\n:icons:\n:numbered:\n:website: http://www.methods.co.nz/asciidoc/\n\nAsciiDoc is a text document format for writing notes, documentation,\narticles, books, ebooks, slideshows, web pages, blogs and UNIX man\npages. AsciiDoc files can be translated to many formats including\nHTML, PDF, EPUB, man page. AsciiDoc is highly configurable: both the\nAsciiDoc source file syntax and the backend output markups (which can\nbe almost any type of SGML/XML markup) can be customized and extended\nby the user.\n\n.This document\n**********************************************************************\nThis is an overly large document, it probably needs to be refactored\ninto a Tutorial, Quick Reference and Formal Reference.\n\nIf you're new to AsciiDoc read this section and the <> section and take a look at the example AsciiDoc (`*.txt`)\nsource files in the distribution `doc` directory.\n**********************************************************************\n\n\nIntroduction\n------------\nAsciiDoc is a plain text human readable/writable document format that\ncan be translated to DocBook or HTML using the asciidoc(1) command.\nYou can then either use asciidoc(1) generated HTML directly or run\nasciidoc(1) DocBook output through your favorite DocBook toolchain or\nuse the AsciiDoc a2x(1) toolchain wrapper to produce PDF, EPUB, DVI,\nLaTeX, PostScript, man page, HTML and text formats.\n\nThe AsciiDoc format is a useful presentation format in its own right:\nAsciiDoc markup is simple, intuitive and as such is easily proofed and\nedited.\n\nAsciiDoc is light weight: it consists of a single Python script and a\nbunch of configuration files. Apart from asciidoc(1) and a Python\ninterpreter, no other programs are required to convert AsciiDoc text\nfiles to DocBook or HTML. See <>\nbelow.\n\nText markup conventions tend to be a matter of (often strong) personal\npreference: if the default syntax is not to your liking you can define\nyour own by editing the text based asciidoc(1) configuration files.\nYou can also create configuration files to translate AsciiDoc\ndocuments to almost any SGML/XML markup.\n\nasciidoc(1) comes with a set of configuration files to translate\nAsciiDoc articles, books and man pages to HTML or DocBook backend\nformats.\n\n.My AsciiDoc Itch\n**********************************************************************\nDocBook has emerged as the de facto standard Open Source documentation\nformat. But DocBook is a complex language, the markup is difficult to\nread and even more difficult to write directly -- I found I was\nspending more time typing markup tags, consulting reference manuals\nand fixing syntax errors, than I was writing the documentation.\n**********************************************************************\n\n\n[[X6]]\nGetting Started\n---------------\nInstalling AsciiDoc\n~~~~~~~~~~~~~~~~~~~\nSee the `README` and `INSTALL` files for install prerequisites and\nprocedures. Packagers take a look at <>.\n\n[[X11]]\nExample AsciiDoc Documents\n~~~~~~~~~~~~~~~~~~~~~~~~~~\nThe best way to quickly get a feel for AsciiDoc is to view the\nAsciiDoc web site and/or distributed examples:\n\n- Take a look at the linked examples on the AsciiDoc web site home\n page {website}. Press the 'Page Source' sidebar menu item to view\n corresponding AsciiDoc source.\n- Read the `*.txt` source files in the distribution `./doc` directory\n along with the corresponding HTML and DocBook XML files.\n\n\nAsciiDoc Document Types\n-----------------------\nThere are three types of AsciiDoc documents: article, book and\nmanpage. All document types share the same AsciiDoc format with some\nminor variations. If you are familiar with DocBook you will have\nnoticed that AsciiDoc document types correspond to the same-named\nDocBook document types.\n\nUse the asciidoc(1) `-d` (`--doctype`) option to specify the AsciiDoc\ndocument type -- the default document type is 'article'.\n\nBy convention the `.txt` file extension is used for AsciiDoc document\nsource files.\n\narticle\n~~~~~~~\nUsed for short documents, articles and general documentation. See the\nAsciiDoc distribution `./doc/article.txt` example.\n\nAsciiDoc defines standard DocBook article frontmatter and backmatter\n<> (appendix, abstract, bibliography,\nglossary, index).\n\nbook\n~~~~\nBooks share the same format as articles, with the following\ndifferences:\n\n- The part titles in multi-part books are <>\n (same level as book title).\n- Some sections are book specific e.g. preface and colophon.\n\nBook documents will normally be used to produce DocBook output since\nDocBook processors can automatically generate footnotes, table of\ncontents, list of tables, list of figures, list of examples and\nindexes.\n\nAsciiDoc defines standard DocBook book frontmatter and backmatter\n<> (appendix, dedication, preface,\nbibliography, glossary, index, colophon).\n\n.Example book documents\nBook::\n The `./doc/book.txt` file in the AsciiDoc distribution.\n\nMulti-part book::\n The `./doc/book-multi.txt` file in the AsciiDoc distribution.\n\nmanpage\n~~~~~~~\nUsed to generate roff format UNIX manual pages. AsciiDoc manpage\ndocuments observe special header title and section naming conventions\n-- see the <> section for details.\n\nAsciiDoc defines the 'synopsis' <> to\ngenerate the DocBook `refsynopsisdiv` section.\n\nSee also the asciidoc(1) man page source (`./doc/asciidoc.1.txt`) from\nthe AsciiDoc distribution.\n\n\n[[X5]]\nAsciiDoc Backends\n-----------------\nThe asciidoc(1) command translates an AsciiDoc formatted file to the\nbackend format specified by the `-b` (`--backend`) command-line\noption. asciidoc(1) itself has little intrinsic knowledge of backend\nformats, all translation rules are contained in customizable cascading\nconfiguration files. Backend specific attributes are listed in the\n<> section.\n\ndocbook45::\n Outputs DocBook XML 4.5 markup.\n\nhtml4::\n This backend generates plain HTML 4.01 Transitional markup.\n\nxhtml11::\n This backend generates XHTML 1.1 markup styled with CSS2. Output\n files have an `.html` extension.\n\nhtml5::\n This backend generates HTML 5 markup, apart from the inclusion of\n <> it is functionally identical to\n the 'xhtml11' backend.\n\nslidy::\n Use this backend to generate self-contained\n http://www.w3.org/Talks/Tools/Slidy2/[Slidy] HTML slideshows for\n your web browser from AsciiDoc documents. The Slidy backend is\n documented in the distribution `doc/slidy.txt` file and\n {website}slidy.html[online].\n\nwordpress::\n A minor variant of the 'html4' backend to support\n http://srackham.wordpress.com/blogpost1/[blogpost].\n\nlatex::\n Experimental LaTeX backend.\n\nBackend Aliases\n~~~~~~~~~~~~~~~\nBackend aliases are alternative names for AsciiDoc backends. AsciiDoc\ncomes with two backend aliases: 'html' (aliased to 'xhtml11') and\n'docbook' (aliased to 'docbook45').\n\nYou can assign (or reassign) backend aliases by setting an AsciiDoc\nattribute named like `backend-alias-` to an AsciiDoc backend\nname. For example, the following backend alias attribute definitions\nappear in the `[attributes]` section of the global `asciidoc.conf`\nconfiguration file:\n\n backend-alias-html=xhtml11\n backend-alias-docbook=docbook45\n\n[[X100]]\nBackend Plugins\n~~~~~~~~~~~~~~~\nThe asciidoc(1) `--backend` option is also used to install and manage\nbackend <>.\n\n- A backend plugin is used just like the built-in backends.\n- Backend plugins <> over built-in backends with\n the same name.\n- You can use the `{asciidoc-confdir}` <> to\n refer to the built-in backend configuration file location from\n backend plugin configuration files.\n- You can use the `{backend-confdir}` <> to\n refer to the backend plugin configuration file location.\n- By default backends plugins are installed in\n `$HOME/.asciidoc/backends/` where `` is the\n backend name.\n\n\nDocBook\n-------\nAsciiDoc generates 'article', 'book' and 'refentry'\nhttp://www.docbook.org/[DocBook] documents (corresponding to the\nAsciiDoc 'article', 'book' and 'manpage' document types).\n\nMost Linux distributions come with conversion tools (collectively\ncalled a toolchain) for <> to\npresentation formats such as Postscript, HTML, PDF, EPUB, DVI,\nPostScript, LaTeX, roff (the native man page format), HTMLHelp,\nJavaHelp and text. There are also programs that allow you to view\nDocBook files directly, for example http://live.gnome.org/Yelp[Yelp]\n(the GNOME help viewer).\n\n[[X12]]\nConverting DocBook to other file formats\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nDocBook files are validated, parsed and translated various\npresentation file formats using a combination of applications\ncollectively called a DocBook 'tool chain'. The function of a tool\nchain is to read the DocBook markup (produced by AsciiDoc) and\ntransform it to a presentation format (for example HTML, PDF, HTML\nHelp, EPUB, DVI, PostScript, LaTeX).\n\nA wide range of user output format requirements coupled with a choice\nof available tools and stylesheets results in many valid tool chain\ncombinations.\n\n[[X43]]\na2x Toolchain Wrapper\n~~~~~~~~~~~~~~~~~~~~~\nOne of the biggest hurdles for new users is installing, configuring\nand using a DocBook XML toolchain. `a2x(1)` can help -- it's a\ntoolchain wrapper command that will generate XHTML (chunked and\nunchunked), PDF, EPUB, DVI, PS, LaTeX, man page, HTML Help and text\nfile outputs from an AsciiDoc text file. `a2x(1)` does all the grunt\nwork associated with generating and sequencing the toolchain commands\nand managing intermediate and output files. `a2x(1)` also optionally\ndeploys admonition and navigation icons and a CSS stylesheet. See the\n`a2x(1)` man page for more details. In addition to `asciidoc(1)` you\nalso need <>, <> and\noptionally: <> or <> (to generate PDF);\n`w3m(1)` or `lynx(1)` (to generate text).\n\nThe following examples generate `doc/source-highlight-filter.pdf` from\nthe AsciiDoc `doc/source-highlight-filter.txt` source file. The first\nexample uses `dblatex(1)` (the default PDF generator) the second\nexample forces FOP to be used:\n\n $ a2x -f pdf doc/source-highlight-filter.txt\n $ a2x -f pdf --fop doc/source-highlight-filter.txt\n\nSee the `a2x(1)` man page for details.\n\nTIP: Use the `--verbose` command-line option to view executed\ntoolchain commands.\n\nHTML generation\n~~~~~~~~~~~~~~~\nAsciiDoc produces nicely styled HTML directly without requiring a\nDocBook toolchain but there are also advantages in going the DocBook\nroute:\n\n- HTML from DocBook can optionally include automatically generated\n indexes, tables of contents, footnotes, lists of figures and tables.\n- DocBook toolchains can also (optionally) generate separate (chunked)\n linked HTML pages for each document section.\n- Toolchain processing performs link and document validity checks.\n- If the DocBook 'lang' attribute is set then things like table of\n contents, figure and table captions and admonition captions will be\n output in the specified language (setting the AsciiDoc 'lang'\n attribute sets the DocBook 'lang' attribute).\n\nOn the other hand, HTML output directly from AsciiDoc is much faster,\nis easily customized and can be used in situations where there is no\nsuitable DocBook toolchain (for example, see the {website}[AsciiDoc\nwebsite]).\n\nPDF generation\n~~~~~~~~~~~~~~\nThere are two commonly used tools to generate PDFs from DocBook,\n<> and <>.\n\n.dblatex or FOP?\n- 'dblatex' is easier to install, there's zero configuration\n required and no Java VM to install -- it just works out of the box.\n- 'dblatex' source code highlighting and numbering is superb.\n- 'dblatex' is easier to use as it converts DocBook directly to PDF\n whereas before using 'FOP' you have to convert DocBook to XML-FO\n using <>.\n- 'FOP' is more feature complete (for example, callouts are processed\n inside literal layouts) and arguably produces nicer looking output.\n\nHTML Help generation\n~~~~~~~~~~~~~~~~~~~~\n. Convert DocBook XML documents to HTML Help compiler source files\n using <> and <>.\n. Convert the HTML Help source (`.hhp` and `.html`) files to HTML Help\n (`.chm`) files using the <>.\n\nToolchain components summary\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nAsciiDoc::\n Converts AsciiDoc (`.txt`) files to DocBook XML (`.xml`) files.\n\n[[X13]]http://docbook.sourceforge.net/projects/xsl/[DocBook XSL Stylesheets]::\n These are a set of XSL stylesheets containing rules for converting\n DocBook XML documents to HTML, XSL-FO, manpage and HTML Help files.\n The stylesheets are used in conjunction with an XML parser such as\n <>.\n\n[[X40]]http://www.xmlsoft.org[xsltproc]::\n An XML parser for applying XSLT stylesheets (in our case the\n <>) to XML documents.\n\n[[X31]]http://dblatex.sourceforge.net/[dblatex]::\n Generates PDF, DVI, PostScript and LaTeX formats directly from\n DocBook source via the intermediate LaTeX typesetting language --\n uses <>, <> and\n `latex(1)`.\n\n[[X14]]http://xml.apache.org/fop/[FOP]::\n The Apache Formatting Objects Processor converts XSL-FO (`.fo`)\n files to PDF files. The XSL-FO files are generated from DocBook\n source files using <> and\n <>.\n\n[[X67]]Microsoft Help Compiler::\n The Microsoft HTML Help Compiler (`hhc.exe`) is a command-line tool\n that converts HTML Help source files to a single HTML Help (`.chm`)\n file. It runs on MS Windows platforms and can be downloaded from\n http://www.microsoft.com.\n\nAsciiDoc dblatex configuration files\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nThe AsciiDoc distribution `./dblatex` directory contains\n`asciidoc-dblatex.xsl` (customized XSL parameter settings) and\n`asciidoc-dblatex.sty` (customized LaTeX settings). These are examples\nof optional <> output customization and are used by\n<>.\n\nAsciiDoc DocBook XSL Stylesheets drivers\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nYou will have noticed that the distributed HTML and HTML Help\ndocumentation files (for example `./doc/asciidoc.html`) are not the\nplain outputs produced using the default 'DocBook XSL Stylesheets'\nconfiguration. This is because they have been processed using\ncustomized DocBook XSL Stylesheets along with (in the case of HTML\noutputs) the custom `./stylesheets/docbook-xsl.css` CSS stylesheet.\n\nYou'll find the customized DocBook XSL drivers along with additional\ndocumentation in the distribution `./docbook-xsl` directory. The\nexamples that follow are executed from the distribution documentation\n(`./doc`) directory. These drivers are also used by <>.\n\n`common.xsl`::\n Shared driver parameters. This file is not used directly but is\n included in all the following drivers.\n\n`chunked.xsl`::\n Generate chunked XHTML (separate HTML pages for each document\n section) in the `./doc/chunked` directory. For example:\n\n $ python ../asciidoc.py -b docbook asciidoc.txt\n $ xsltproc --nonet ../docbook-xsl/chunked.xsl asciidoc.xml\n\n`epub.xsl`::\n Used by <> to generate EPUB formatted documents.\n\n`fo.xsl`::\n Generate XSL Formatting Object (`.fo`) files for subsequent PDF\n file generation using FOP. For example:\n\n $ python ../asciidoc.py -b docbook article.txt\n $ xsltproc --nonet ../docbook-xsl/fo.xsl article.xml > article.fo\n $ fop article.fo article.pdf\n\n`htmlhelp.xsl`::\n Generate Microsoft HTML Help source files for the MS HTML Help\n Compiler in the `./doc/htmlhelp` directory. This example is run on\n MS Windows from a Cygwin shell prompt:\n\n $ python ../asciidoc.py -b docbook asciidoc.txt\n $ xsltproc --nonet ../docbook-xsl/htmlhelp.xsl asciidoc.xml\n $ c:/Program\\ Files/HTML\\ Help\\ Workshop/hhc.exe htmlhelp.hhp\n\n`manpage.xsl`::\n Generate a `roff(1)` format UNIX man page from a DocBook XML\n 'refentry' document. This example generates an `asciidoc.1` man\n page file:\n\n $ python ../asciidoc.py -d manpage -b docbook asciidoc.1.txt\n $ xsltproc --nonet ../docbook-xsl/manpage.xsl asciidoc.1.xml\n\n`xhtml.xsl`::\n Convert a DocBook XML file to a single XHTML file. For example:\n\n $ python ../asciidoc.py -b docbook asciidoc.txt\n $ xsltproc --nonet ../docbook-xsl/xhtml.xsl asciidoc.xml > asciidoc.html\n\nIf you want to see how the complete documentation set is processed\ntake a look at the A-A-P script `./doc/main.aap`.\n\n\nGenerating Plain Text Files\n---------------------------\nAsciiDoc does not have a text backend (for most purposes AsciiDoc\nsource text is fine), however you can convert AsciiDoc text files to\nformatted text using the AsciiDoc <> toolchain wrapper\nutility.\n\n\n[[X35]]\nHTML5 and XHTML 1.1\n-------------------\nThe 'xhtml11' and 'html5' backends embed or link CSS and JavaScript\nfiles in their outputs, there is also a <> plugin\nframework.\n\n- If the AsciiDoc 'linkcss' attribute is defined then CSS and\n JavaScript files are linked to the output document, otherwise they\n are embedded (the default behavior).\n- The default locations for CSS and JavaScript files can be changed by\n setting the AsciiDoc 'stylesdir' and 'scriptsdir' attributes\n respectively.\n- The default locations for embedded and linked files differ and are\n calculated at different times -- embedded files are loaded when\n asciidoc(1) generates the output document, linked files are loaded\n by the browser when the user views the output document.\n- Embedded files are automatically inserted in the output files but\n you need to manually copy linked CSS and Javascript files from\n AsciiDoc <> to the correct location\n relative to the output document.\n\n.Stylesheet file locations\n[cols=\"3*\",frame=\"topbot\",options=\"header\"]\n|====================================================================\n|'stylesdir' attribute\n|Linked location ('linkcss' attribute defined)\n|Embedded location ('linkcss' attribute undefined)\n\n|Undefined (default).\n|Same directory as the output document.\n|`stylesheets` subdirectory in the AsciiDoc configuration directory\n(the directory containing the backend conf file).\n\n|Absolute or relative directory name.\n|Absolute or relative to the output document.\n|Absolute or relative to the AsciiDoc configuration directory (the\ndirectory containing the backend conf file).\n\n|====================================================================\n\n.JavaScript file locations\n[cols=\"3*\",frame=\"topbot\",options=\"header\"]\n|====================================================================\n|'scriptsdir' attribute\n|Linked location ('linkcss' attribute defined)\n|Embedded location ('linkcss' attribute undefined)\n\n|Undefined (default).\n|Same directory as the output document.\n|`javascripts` subdirectory in the AsciiDoc configuration directory\n(the directory containing the backend conf file).\n\n|Absolute or relative directory name.\n|Absolute or relative to the output document.\n|Absolute or relative to the AsciiDoc configuration directory (the\ndirectory containing the backend conf file).\n\n|====================================================================\n\n[[X99]]\nThemes\n~~~~~~\nThe AsciiDoc 'theme' attribute is used to select an alternative CSS\nstylesheet and to optionally include additional JavaScript code.\n\n- Theme files reside in an AsciiDoc <>\n named `themes//` (where `` is the the theme name set\n by the 'theme' attribute). asciidoc(1) sets the 'themedir' attribute\n to the theme directory path name.\n- The 'theme' attribute can also be set using the asciidoc(1)\n `--theme` option, the `--theme` option can also be used to manage\n theme <>.\n- AsciiDoc ships with two themes: 'flask' and 'volnitsky'.\n- The `.css` file replaces the default `asciidoc.css` CSS file.\n- The `.js` file is included in addition to the default\n `asciidoc.js` JavaScript file.\n- If the <> attribute is defined then icons are loaded\n from the theme `icons` sub-directory if it exists (i.e. the\n 'iconsdir' attribute is set to theme `icons` sub-directory path).\n- Embedded theme files are automatically inserted in the output files\n but you need to manually copy linked CSS and Javascript files to the\n location of the output documents.\n- Linked CSS and JavaScript theme files are linked to the same linked\n locations as <>.\n\nFor example, the command-line option `--theme foo` (or `--attribute\ntheme=foo`) will cause asciidoc(1) to search <<\"X27\",\"configuration\nfile locations 1, 2 and 3\">> for a sub-directory called `themes/foo`\ncontaining the stylesheet `foo.css` and optionally a JavaScript file\nname `foo.js`.\n\n\nDocument Structure\n------------------\nAn AsciiDoc document consists of a series of <>\nstarting with an optional document Header, followed by an optional\nPreamble, followed by zero or more document Sections.\n\nAlmost any combination of zero or more elements constitutes a valid\nAsciiDoc document: documents can range from a single sentence to a\nmulti-part book.\n\nBlock Elements\n~~~~~~~~~~~~~~\nBlock elements consist of one or more lines of text and may contain\nother block elements.\n\nThe AsciiDoc block structure can be informally summarized as follows\nfootnote:[This is a rough structural guide, not a rigorous syntax\ndefinition]:\n\n Document ::= (Header?,Preamble?,Section*)\n Header ::= (Title,(AuthorInfo,RevisionInfo?)?)\n AuthorInfo ::= (FirstName,(MiddleName?,LastName)?,EmailAddress?)\n RevisionInfo ::= (RevisionNumber?,RevisionDate,RevisionRemark?)\n Preamble ::= (SectionBody)\n Section ::= (Title,SectionBody?,(Section)*)\n SectionBody ::= ((BlockTitle?,Block)|BlockMacro)+\n Block ::= (Paragraph|DelimitedBlock|List|Table)\n List ::= (BulletedList|NumberedList|LabeledList|CalloutList)\n BulletedList ::= (ListItem)+\n NumberedList ::= (ListItem)+\n CalloutList ::= (ListItem)+\n LabeledList ::= (ListEntry)+\n ListEntry ::= (ListLabel,ListItem)\n ListLabel ::= (ListTerm+)\n ListItem ::= (ItemText,(List|ListParagraph|ListContinuation)*)\n\nWhere:\n\n- '?' implies zero or one occurrence, '+' implies one or more\n occurrences, '*' implies zero or more occurrences.\n- All block elements are separated by line boundaries.\n- `BlockId`, `AttributeEntry` and `AttributeList` block elements (not\n shown) can occur almost anywhere.\n- There are a number of document type and backend specific\n restrictions imposed on the block syntax.\n- The following elements cannot contain blank lines: Header, Title,\n Paragraph, ItemText.\n- A ListParagraph is a Paragraph with its 'listelement' option set.\n- A ListContinuation is a <>.\n\n[[X95]]\nHeader\n~~~~~~\nThe Header contains document meta-data, typically title plus optional\nauthorship and revision information:\n\n- The Header is optional, but if it is used it must start with a\n document <>.\n- Optional Author and Revision information immediately follows the\n header title.\n- The document header must be separated from the remainder of the\n document by one or more blank lines and cannot contain blank lines.\n- The header can include comments.\n- The header can include <>, typically\n 'doctype', 'lang', 'encoding', 'icons', 'data-uri', 'toc',\n 'numbered'.\n- Header attributes are overridden by command-line attributes.\n- If the header contains non-UTF-8 characters then the 'encoding' must\n precede the header (either in the document or on the command-line).\n\nHere's an example AsciiDoc document header:\n\n Writing Documentation using AsciiDoc\n ====================================\n Joe Bloggs \n v2.0, February 2003:\n Rewritten for version 2 release.\n\nThe author information line contains the author's name optionally\nfollowed by the author's email address. The author's name is formatted\nlike:\n\n firstname[ [middlename ]lastname][ ]]\n\ni.e. a first name followed by optional middle and last names followed\nby an email address in that order. Multi-word first, middle and last\nnames can be entered using the underscore as a word separator. The\nemail address comes last and must be enclosed in angle <> brackets.\nHere a some examples of author information lines:\n\n Joe Bloggs \n Joe Bloggs\n Vincent Willem van_Gogh\n\nIf the author line does not match the above specification then the\nentire author line is treated as the first name.\n\nThe optional revision information line follows the author information\nline. The revision information can be one of two formats:\n\n. An optional document revision number followed by an optional\n revision date followed by an optional revision remark:\n+\n--\n * If the revision number is specified it must be followed by a\n comma.\n * The revision number must contain at least one numeric character.\n * Any non-numeric characters preceding the first numeric character\n will be dropped.\n * If a revision remark is specified it must be preceded by a colon.\n The revision remark extends from the colon up to the next blank\n line, attribute entry or comment and is subject to normal text\n substitutions.\n * If a revision number or remark has been set but the revision date\n has not been set then the revision date is set to the value of the\n 'docdate' attribute.\n\nExamples:\n\n v2.0, February 2003\n February 2003\n v2.0,\n v2.0, February 2003: Rewritten for version 2 release.\n February 2003: Rewritten for version 2 release.\n v2.0,: Rewritten for version 2 release.\n :Rewritten for version 2 release.\n--\n\n. The revision information line can also be an RCS/CVS/SVN $Id$\n marker:\n+\n--\n * AsciiDoc extracts the 'revnumber', 'revdate', and 'author'\n attributes from the $Id$ revision marker and displays them in the\n document header.\n * If an $Id$ revision marker is used the header author line can be\n omitted.\n\nExample:\n\n $Id: mydoc.txt,v 1.5 2009/05/17 17:58:44 jbloggs Exp $\n--\n\nYou can override or set header parameters by passing 'revnumber',\n'revremark', 'revdate', 'email', 'author', 'authorinitials',\n'firstname' and 'lastname' attributes using the asciidoc(1) `-a`\n(`--attribute`) command-line option. For example:\n\n $ asciidoc -a revdate=2004/07/27 article.txt\n\nAttribute entries can also be added to the header for substitution in\nthe header template with <> elements.\n\nThe 'title' element in HTML outputs is set to the AsciiDoc document\ntitle, you can set it to a different value by including a 'title'\nattribute entry in the document header.\n\n[[X87]]\nAdditional document header information\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nAsciiDoc has two mechanisms for optionally including additional\nmeta-data in the header of the output document:\n\n'docinfo' configuration file sections::\nIf a <> section named 'docinfo' has been loaded\nthen it will be included in the document header. Typically the\n'docinfo' section name will be prefixed with a '+' character so that it\nis appended to (rather than replace) other 'docinfo' sections.\n\n'docinfo' files::\nTwo docinfo files are recognized: one named `docinfo` and a second\nnamed like the AsciiDoc source file with a `-docinfo` suffix. For\nexample, if the source document is called `mydoc.txt` then the\ndocument information files would be `docinfo.xml` and\n`mydoc-docinfo.xml` (for DocBook outputs) and `docinfo.html` and\n`mydoc-docinfo.html` (for HTML outputs). The <> attributes control which docinfo files are included in\nthe output files.\n\nThe contents docinfo templates and files is dependent on the type of\noutput:\n\nHTML::\n Valid 'head' child elements. Typically 'style' and 'script' elements\n for CSS and JavaScript inclusion.\n\nDocBook::\n Valid 'articleinfo' or 'bookinfo' child elements. DocBook defines\n numerous elements for document meta-data, for example: copyrights,\n document history and authorship information. See the DocBook\n `./doc/article-docinfo.xml` example that comes with the AsciiDoc\n distribution. The rendering of meta-data elements (or not) is\n DocBook processor dependent.\n\n\n[[X86]]\nPreamble\n~~~~~~~~\nThe Preamble is an optional untitled section body between the document\nHeader and the first Section title.\n\nSections\n~~~~~~~~\nIn addition to the document title (level 0), AsciiDoc supports four\nsection levels: 1 (top) to 4 (bottom). Section levels are delimited\nby section <>. Sections are translated using\nconfiguration file <>. AsciiDoc\ngenerates the following <> specifically for\nuse in section markup templates:\n\nlevel::\nThe `level` attribute is the section level number, it is normally just\nthe <> level number (1..4). However, if the `leveloffset`\nattribute is defined it will be added to the `level` attribute. The\n`leveloffset` attribute is useful for <>.\n\nsectnum::\nThe `-n` (`--section-numbers`) command-line option generates the\n`sectnum` (section number) attribute. The `sectnum` attribute is used\nfor section numbers in HTML outputs (DocBook section numbering are\nhandled automatically by the DocBook toolchain commands).\n\n[[X93]]\nSection markup templates\n^^^^^^^^^^^^^^^^^^^^^^^^\nSection markup templates specify output markup and are defined in\nAsciiDoc configuration files. Section markup template names are\nderived as follows (in order of precedence):\n\n1. From the title's first positional attribute or 'template'\n attribute. For example, the following three section titles are\n functionally equivalent:\n+\n.....................................................................\n[[terms]]\n[glossary]\nList of Terms\n-------------\n\n[\"glossary\",id=\"terms\"]\nList of Terms\n-------------\n\n[template=\"glossary\",id=\"terms\"]\nList of Terms\n-------------\n.....................................................................\n\n2. When the title text matches a configuration file\n <> entry.\n3. If neither of the above the default `sect` template is used\n (where `` is a number from 1 to 4).\n\nIn addition to the normal section template names ('sect1', 'sect2',\n'sect3', 'sect4') AsciiDoc has the following templates for\nfrontmatter, backmatter and other special sections: 'abstract',\n'preface', 'colophon', 'dedication', 'glossary', 'bibliography',\n'synopsis', 'appendix', 'index'. These special section templates\ngenerate the corresponding Docbook elements; for HTML outputs they\ndefault to the 'sect1' section template.\n\nSection IDs\n^^^^^^^^^^^\nIf no explicit section ID is specified an ID will be synthesised from\nthe section title. The primary purpose of this feature is to ensure\npersistence of table of contents links (permalinks): the missing\nsection IDs are generated dynamically by the JavaScript TOC generator\n*after* the page is loaded. If you link to a dynamically generated TOC\naddress the page will load but the browser will ignore the (as yet\nungenerated) section ID.\n\nThe IDs are generated by the following algorithm:\n\n- Replace all non-alphanumeric title characters with underscores.\n- Strip leading or trailing underscores.\n- Convert to lowercase.\n- Prepend the `idprefix` attribute (so there's no possibility of name\n clashes with existing document IDs). Prepend an underscore if the\n `idprefix` attribute is not defined.\n- A numbered suffix (`_2`, `_3` ...) is added if a same named\n auto-generated section ID exists.\n- If the `ascii-ids` attribute is defined then non-ASCII characters\n are replaced with ASCII equivalents. This attribute may be\n deprecated in future releases and *should be avoided*, it's sole\n purpose is to accommodate deficient downstream applications that\n cannot process non-ASCII ID attributes.\n\nExample: the title 'Jim's House' would generate the ID `_jim_s_house`.\n\nSection ID synthesis can be disabled by undefining the `sectids`\nattribute.\n\n[[X16]]\nSpecial Section Titles\n^^^^^^^^^^^^^^^^^^^^^^\nAsciiDoc has a mechanism for mapping predefined section titles\nauto-magically to specific markup templates. For example a title\n'Appendix A: Code Reference' will automatically use the 'appendix'\n<>. The mappings from title to template\nname are specified in `[specialsections]` sections in the Asciidoc\nlanguage configuration files (`lang-*.conf`). Section entries are\nformatted like:\n\n =<template>\n\n`<title>` is a Python regular expression and `<template>` is the name\nof a configuration file markup template section. If the `<title>`\nmatches an AsciiDoc document section title then the backend output is\nmarked up using the `<template>` markup template (instead of the\ndefault `sect<level>` section template). The `{title}` attribute value\nis set to the value of the matched regular expression group named\n'title', if there is no 'title' group `{title}` defaults to the whole\nof the AsciiDoc section title. If `<template>` is blank then any\nexisting entry with the same `<title>` will be deleted.\n\n.Special section titles vs. explicit template names\n*********************************************************************\nAsciiDoc has two mechanisms for specifying non-default section markup\ntemplates: you can specify the template name explicitly (using the\n'template' attribute) or indirectly (using 'special section titles').\nSpecifying a <<X93,section template>> attribute explicitly is\npreferred. Auto-magical 'special section titles' have the following\ndrawbacks:\n\n- They are non-obvious, you have to know the exact matching\n title for each special section on a language by language basis.\n- Section titles are predefined and can only be customised with a\n configuration change.\n- The implementation is complicated by multiple languages: every\n special section title has to be defined for each language (in each\n of the `lang-*.conf` files).\n\nSpecifying special section template names explicitly does add more\nnoise to the source document (the 'template' attribute declaration),\nbut the intention is obvious and the syntax is consistent with other\nAsciiDoc elements c.f. bibliographic, Q&A and glossary lists.\n\nSpecial section titles have been deprecated but are retained for\nbackward compatibility.\n\n*********************************************************************\n\nInline Elements\n~~~~~~~~~~~~~~~\n<<X34,Inline document elements>> are used to format text and to\nperform various types of text substitution. Inline elements and inline\nelement syntax is defined in the asciidoc(1) configuration files.\n\nHere is a list of AsciiDoc inline elements in the (default) order in\nwhich they are processed:\n\nSpecial characters::\n These character sequences escape special characters used by\n the backend markup (typically `<`, `>`, and `&` characters).\n See `[specialcharacters]` configuration file sections.\n\nQuotes::\n Elements that markup words and phrases; usually for character\n formatting. See `[quotes]` configuration file sections.\n\nSpecial Words::\n Word or word phrase patterns singled out for markup without\n the need for further annotation. See `[specialwords]`\n configuration file sections.\n\nReplacements::\n Each replacement defines a word or word phrase pattern to\n search for along with corresponding replacement text. See\n `[replacements]` configuration file sections.\n\nAttribute references::\n Document attribute names enclosed in braces are replaced by\n the corresponding attribute value.\n\nInline Macros::\n Inline macros are replaced by the contents of parametrized\n configuration file sections.\n\n\nDocument Processing\n-------------------\nThe AsciiDoc source document is read and processed as follows:\n\n1. The document 'Header' is parsed, header parameter values are\n substituted into the configuration file `[header]` template section\n which is then written to the output file.\n2. Each document 'Section' is processed and its constituent elements\n translated to the output file.\n3. The configuration file `[footer]` template section is substituted\n and written to the output file.\n\nWhen a block element is encountered asciidoc(1) determines the type of\nblock by checking in the following order (first to last): (section)\nTitles, BlockMacros, Lists, DelimitedBlocks, Tables, AttributeEntrys,\nAttributeLists, BlockTitles, Paragraphs.\n\nThe default paragraph definition `[paradef-default]` is last element\nto be checked.\n\nKnowing the parsing order will help you devise unambiguous macro, list\nand block syntax rules.\n\nInline substitutions within block elements are performed in the\nfollowing default order:\n\n1. Special characters\n2. Quotes\n3. Special words\n4. Replacements\n5. Attributes\n6. Inline Macros\n7. Replacements2\n\nThe substitutions and substitution order performed on\nTitle, Paragraph and DelimitedBlock elements is determined by\nconfiguration file parameters.\n\n\nText Formatting\n---------------\n[[X51]]\nQuoted Text\n~~~~~~~~~~~\nWords and phrases can be formatted by enclosing inline text with\nquote characters:\n\n_Emphasized text_::\n Word phrases \\'enclosed in single quote characters' (acute\n accents) or \\_underline characters_ are emphasized.\n\n*Strong text*::\n Word phrases \\*enclosed in asterisk characters* are rendered\n in a strong font (usually bold).\n\n[[X81]]+Monospaced text+::\n Word phrases \\+enclosed in plus characters+ are rendered in a\n monospaced font. Word phrases \\`enclosed in backtick\n characters` (grave accents) are also rendered in a monospaced\n font but in this case the enclosed text is rendered literally\n and is not subject to further expansion (see <<X80,inline\n literal passthrough>>).\n\n`Single quoted text'::\n Phrases enclosed with a \\`single grave accent to the left and\n a single acute accent to the right' are rendered in single\n quotation marks.\n\n``Double quoted text''::\n Phrases enclosed with \\\\``two grave accents to the left and\n two acute accents to the right'' are rendered in quotation\n marks.\n\n#Unquoted text#::\n Placing \\#hashes around text# does nothing, it is a mechanism\n to allow inline attributes to be applied to otherwise\n unformatted text.\n\nNew quote types can be defined by editing asciidoc(1) configuration\nfiles. See the <<X7,Configuration Files>> section for details.\n\n.Quoted text behavior\n- Quoting cannot be overlapped.\n- Different quoting types can be nested.\n- To suppress quoted text formatting place a backslash character\n immediately in front of the leading quote character(s). In the case\n of ambiguity between escaped and non-escaped text you will need to\n escape both leading and trailing quotes, in the case of\n multi-character quotes you may even need to escape individual\n characters.\n\n[[X96]]\nQuoted text attributes\n^^^^^^^^^^^^^^^^^^^^^^\nQuoted text can be prefixed with an <<X21,attribute list>>. The first\npositional attribute ('role' attribute) is translated by AsciiDoc to\nan HTML 'span' element 'class' attribute or a DocBook 'phrase' element\n'role' attribute.\n\nDocBook XSL Stylesheets translate DocBook 'phrase' elements with\n'role' attributes to corresponding HTML 'span' elements with the same\n'class' attributes; CSS can then be used\nhttp://www.sagehill.net/docbookxsl/UsingCSS.html[to style the\ngenerated HTML]. Thus CSS styling can be applied to both DocBook and\nAsciiDoc generated HTML outputs. You can also specify multiple class\nnames separated by spaces.\n\nCSS rules for text color, text background color, text size and text\ndecorators are included in the distributed AsciiDoc CSS files and are\nused in conjunction with AsciiDoc 'xhtml11', 'html5' and 'docbook'\noutputs. The CSS class names are:\n\n- '<color>' (text foreground color).\n- '<color>-background' (text background color).\n- 'big' and 'small' (text size).\n- 'underline', 'overline' and 'line-through' (strike through) text\n decorators.\n\nWhere '<color>' can be any of the\nhttp://en.wikipedia.org/wiki/Web_colors#HTML_color_names[sixteen HTML\ncolor names]. Examples:\n\n [red]#Obvious# and [big red yellow-background]*very obvious*.\n\n [underline]#Underline text#, [overline]#overline text# and\n [blue line-through]*bold blue and line-through*.\n\nis rendered as:\n\n[red]#Obvious# and [big red yellow-background]*very obvious*.\n\n[underline]#Underline text#, [overline]#overline text# and\n[bold blue line-through]*bold blue and line-through*.\n\nNOTE: Color and text decorator attributes are rendered for XHTML and\nHTML 5 outputs using CSS stylesheets. The mechanism to implement\ncolor and text decorator attributes is provided for DocBook toolchains\nvia the DocBook 'phrase' element 'role' attribute, but the actual\nrendering is toolchain specific and is not part of the AsciiDoc\ndistribution.\n\n[[X52]]\nConstrained and Unconstrained Quotes\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nThere are actually two types of quotes:\n\nConstrained quotes\n++++++++++++++++++\nQuoted must be bounded by white space or commonly adjoining\npunctuation characters. These are the most commonly used type of\nquote.\n\nUnconstrained quotes\n++++++++++++++++++++\nUnconstrained quotes have no boundary constraints and can be placed\nanywhere within inline text. For consistency and to make them easier\nto remember unconstrained quotes are double-ups of the `_`, `*`, `+`\nand `#` constrained quotes:\n\n __unconstrained emphasized text__\n **unconstrained strong text**\n ++unconstrained monospaced text++\n ##unconstrained unquoted text##\n\nThe following example emboldens the letter F:\n\n **F**ile Open...\n\nSuperscripts and Subscripts\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\nPut \\^carets on either^ side of the text to be superscripted, put\n\\~tildes on either side~ of text to be subscripted. For example, the\nfollowing line:\n\n e^πi^+1 = 0. H~2~O and x^10^. Some ^super text^\n and ~some sub text~\n\nIs rendered like:\n\ne^πi^+1 = 0. H~2~O and x^10^. Some ^super text^\nand ~some sub text~\n\nSuperscripts and subscripts are implemented as <<X52,unconstrained\nquotes>> and they can be escaped with a leading backslash and prefixed\nwith with an attribute list.\n\nLine Breaks\n~~~~~~~~~~~\nA plus character preceded by at least one space character at the end\nof a non-blank line forces a line break. It generates a line break\n(`br`) tag for HTML outputs and a custom XML `asciidoc-br` processing\ninstruction for DocBook outputs. The `asciidoc-br` processing\ninstruction is handled by <<X43,a2x(1)>>.\n\nPage Breaks\n~~~~~~~~~~~\nA line of three or more less-than (`<<<`) characters will generate a\nhard page break in DocBook and printed HTML outputs. It uses the CSS\n`page-break-after` property for HTML outputs and a custom XML\n`asciidoc-pagebreak` processing instruction for DocBook outputs. The\n`asciidoc-pagebreak` processing instruction is handled by\n<<X43,a2x(1)>>. Hard page breaks are sometimes handy but as a general\nrule you should let your page processor generate page breaks for you.\n\nRulers\n~~~~~~\nA line of three or more apostrophe characters will generate a ruler\nline. It generates a ruler (`hr`) tag for HTML outputs and a custom\nXML `asciidoc-hr` processing instruction for DocBook outputs. The\n`asciidoc-hr` processing instruction is handled by <<X43,a2x(1)>>.\n\nTabs\n~~~~\nBy default tab characters input files will translated to 8 spaces. Tab\nexpansion is set with the 'tabsize' entry in the configuration file\n`[miscellaneous]` section and can be overridden in included files by\nsetting a 'tabsize' attribute in the `include` macro's attribute list.\nFor example:\n\n include::addendum.txt[tabsize=2]\n\nThe tab size can also be set using the attribute command-line option,\nfor example `--attribute tabsize=4`\n\nReplacements\n~~~~~~~~~~~~\nThe following replacements are defined in the default AsciiDoc\nconfiguration:\n\n (C) copyright, (TM) trademark, (R) registered trademark,\n -- em dash, ... ellipsis, -> right arrow, <- left arrow, => right\n double arrow, <= left double arrow.\n\nWhich are rendered as:\n\n(C) copyright, (TM) trademark, (R) registered trademark,\n-- em dash, ... ellipsis, -> right arrow, <- left arrow, => right\ndouble arrow, <= left double arrow.\n\nYou can also include arbitrary entity references in the AsciiDoc\nsource. Examples:\n\n ➊ ¶\n\nrenders:\n\n➊ ¶\n\nTo render a replacement literally escape it with a leading back-slash.\n\nThe <<X7,Configuration Files>> section explains how to configure your\nown replacements.\n\nSpecial Words\n~~~~~~~~~~~~~\nWords defined in `[specialwords]` configuration file sections are\nautomatically marked up without having to be explicitly notated.\n\nThe <<X7,Configuration Files>> section explains how to add and replace\nspecial words.\n\n\n[[X17]]\nTitles\n------\nDocument and section titles can be in either of two formats:\n\nTwo line titles\n~~~~~~~~~~~~~~~\nA two line title consists of a title line, starting hard against the\nleft margin, and an underline. Section underlines consist a repeated\ncharacter pairs spanning the width of the preceding title (give or\ntake up to two characters):\n\nThe default title underlines for each of the document levels are:\n\n\n Level 0 (top level): ======================\n Level 1: ----------------------\n Level 2: ~~~~~~~~~~~~~~~~~~~~~~\n Level 3: ^^^^^^^^^^^^^^^^^^^^^^\n Level 4 (bottom level): ++++++++++++++++++++++\n\nExamples:\n\n Level One Section Title\n -----------------------\n\n Level 2 Subsection Title\n ~~~~~~~~~~~~~~~~~~~~~~~~\n\n[[X46]]\nOne line titles\n~~~~~~~~~~~~~~~\nOne line titles consist of a single line delimited on either side by\none or more equals characters (the number of equals characters\ncorresponds to the section level minus one). Here are some examples:\n\n = Document Title (level 0) =\n == Section title (level 1) ==\n === Section title (level 2) ===\n ==== Section title (level 3) ====\n ===== Section title (level 4) =====\n\n[NOTE]\n=====================================================================\n- One or more spaces must fall between the title and the delimiters.\n- The trailing title delimiter is optional.\n- The one-line title syntax can be changed by editing the\n configuration file `[titles]` section `sect0`...`sect4` entries.\n=====================================================================\n\nFloating titles\n~~~~~~~~~~~~~~~\nSetting the title's first positional attribute or 'style' attribute to\n'float' generates a free-floating title. A free-floating title is\nrendered just like a normal section title but is not formally\nassociated with a text body and is not part of the regular section\nhierarchy so the normal ordering rules do not apply. Floating titles\ncan also be used in contexts where section titles are illegal: for\nexample sidebar and admonition blocks. Example:\n\n [float]\n The second day\n ~~~~~~~~~~~~~~\n\nFloating titles do not appear in a document's table of contents.\n\n\n[[X42]]\nBlock Titles\n------------\nA 'BlockTitle' element is a single line beginning with a period\nfollowed by the title text. A BlockTitle is applied to the immediately\nfollowing Paragraph, DelimitedBlock, List, Table or BlockMacro. For\nexample:\n\n........................\n.Notes\n- Note 1.\n- Note 2.\n........................\n\nis rendered as:\n\n.Notes\n- Note 1.\n- Note 2.\n\n\n[[X41]]\nBlockId Element\n---------------\nA 'BlockId' is a single line block element containing a unique\nidentifier enclosed in double square brackets. It is used to assign an\nidentifier to the ensuing block element. For example:\n\n [[chapter-titles]]\n Chapter titles can be ...\n\nThe preceding example identifies the ensuing paragraph so it can be\nreferenced from other locations, for example with\n`<<chapter-titles,chapter titles>>`.\n\n'BlockId' elements can be applied to Title, Paragraph, List,\nDelimitedBlock, Table and BlockMacro elements. The BlockId element\nsets the `{id}` attribute for substitution in the subsequent block's\nmarkup template. If a second positional argument is supplied it sets\nthe `{reftext}` attribute which is used to set the DocBook `xreflabel`\nattribute.\n\nThe 'BlockId' element has the same syntax and serves the same function\nto the <<X30,anchor inline macro>>.\n\n[[X79]]\nAttributeList Element\n---------------------\nAn 'AttributeList' block element is an <<X21,attribute list>> on a\nline by itself:\n\n- 'AttributeList' attributes are only applied to the immediately\n following block element -- the attributes are made available to the\n block's markup template.\n- Multiple contiguous 'AttributeList' elements are additively combined\n in the order they appear..\n- The first positional attribute in the list is often used to specify\n the ensuing element's <<X23,style>>.\n\nAttribute value substitution\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nBy default, only substitutions that take place inside attribute list\nvalues are attribute references, this is because not all attributes\nare destined to be marked up and rendered as text (for example the\ntable 'cols' attribute). To perform normal inline text substitutions\n(special characters, quotes, macros, replacements) on an attribute\nvalue you need to enclose it in single quotes. In the following quote\nblock the second attribute value in the AttributeList is quoted to\nensure the 'http' macro is expanded to a hyperlink.\n\n---------------------------------------------------------------------\n[quote,'http://en.wikipedia.org/wiki/Samuel_Johnson[Samuel Johnson]']\n_____________________________________________________________________\nSir, a woman's preaching is like a dog's walking on his hind legs. It\nis not done well; but you are surprised to find it done at all.\n_____________________________________________________________________\n---------------------------------------------------------------------\n\nCommon attributes\n~~~~~~~~~~~~~~~~~\nMost block elements support the following attributes:\n\n[cols=\"1e,1,5a\",frame=\"topbot\",options=\"header\"]\n|====================================================================\n|Name |Backends |Description\n\n|id |html4, html5, xhtml11, docbook |\nUnique identifier typically serve as link targets.\nCan also be set by the 'BlockId' element.\n\n|role |html4, html5, xhtml11, docbook |\nRole contains a string used to classify or subclassify an element and\ncan be applied to AsciiDoc block elements. The AsciiDoc 'role'\nattribute is translated to the 'role' attribute in DocBook outputs and\nis included in the 'class' attribute in HTML outputs, in this respect\nit behaves like the <<X96,quoted text role attribute>>.\n\nDocBook XSL Stylesheets translate DocBook 'role' attributes to HTML\n'class' attributes; CSS can then be used\nhttp://www.sagehill.net/docbookxsl/UsingCSS.html[to style the\ngenerated HTML].\n\n|reftext |docbook |\n'reftext' is used to set the DocBook 'xreflabel' attribute.\nThe 'reftext' attribute can an also be set by the 'BlockId' element.\n\n|====================================================================\n\n\nParagraphs\n----------\nParagraphs are blocks of text terminated by a blank line, the end of\nfile, or the start of a delimited block or a list. There are three\nparagraph syntaxes: normal, indented (literal) and admonition which\nare rendered, by default, with the corresponding paragraph style.\n\nEach syntax has a default style, but you can explicitly apply any\nparagraph style to any paragraph syntax. You can also apply\n<<X104,delimited block>> styles to single paragraphs.\n\nThe built-in paragraph styles are: 'normal', 'literal', 'verse',\n'quote', 'listing', 'TIP', 'NOTE', 'IMPORTANT', 'WARNING', 'CAUTION',\n'abstract', 'partintro', 'comment', 'example', 'sidebar', 'source',\n'music', 'latex', 'graphviz'.\n\nnormal paragraph syntax\n~~~~~~~~~~~~~~~~~~~~~~~\nNormal paragraph syntax consists of one or more non-blank lines of\ntext. The first line must start hard against the left margin (no\nintervening white space). The default processing expectation is that\nof a normal paragraph of text.\n\n[[X85]]\nliteral paragraph syntax\n~~~~~~~~~~~~~~~~~~~~~~~~\nLiteral paragraphs are rendered verbatim in a monospaced font without\nany distinguishing background or border. By default there is no text\nformatting or substitutions within Literal paragraphs apart from\nSpecial Characters and Callouts.\n\nThe 'literal' style is applied implicitly to indented paragraphs i.e.\nwhere the first line of the paragraph is indented by one or more space\nor tab characters. For example:\n\n---------------------------------------------------------------------\n Consul *necessitatibus* per id,\n consetetur, eu pro everti postulant\n homero verear ea mea, qui.\n---------------------------------------------------------------------\n\nRenders:\n\n Consul *necessitatibus* per id,\n consetetur, eu pro everti postulant\n homero verear ea mea, qui.\n\nNOTE: Because <<X64,lists>> can be indented it's possible for your\nindented paragraph to be misinterpreted as a list -- in situations\nlike this apply the 'literal' style to a normal paragraph.\n\nInstead of using a paragraph indent you could apply the 'literal'\nstyle explicitly, for example:\n\n---------------------------------------------------------------------\n[literal]\nConsul *necessitatibus* per id,\nconsetetur, eu pro everti postulant\nhomero verear ea mea, qui.\n---------------------------------------------------------------------\n\nRenders:\n\n[literal]\nConsul *necessitatibus* per id,\nconsetetur, eu pro everti postulant\nhomero verear ea mea, qui.\n\n[[X94]]\nquote and verse paragraph styles\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nThe optional 'attribution' and 'citetitle' attributes (positional\nattributes 2 and 3) specify the author and source respectively.\n\nThe 'verse' style retains the line breaks, for example:\n\n---------------------------------------------------------------------\n[verse, William Blake, from Auguries of Innocence]\nTo see a world in a grain of sand,\nAnd a heaven in a wild flower,\nHold infinity in the palm of your hand,\nAnd eternity in an hour.\n---------------------------------------------------------------------\n\nWhich is rendered as:\n\n[verse, William Blake, from Auguries of Innocence]\nTo see a world in a grain of sand,\nAnd a heaven in a wild flower,\nHold infinity in the palm of your hand,\nAnd eternity in an hour.\n\nThe 'quote' style flows the text at left and right margins, for\nexample:\n\n---------------------------------------------------------------------\n[quote, Bertrand Russell, The World of Mathematics (1956)]\nA good notation has subtlety and suggestiveness which at times makes\nit almost seem like a live teacher.\n---------------------------------------------------------------------\n\nWhich is rendered as:\n\n[quote, Bertrand Russell, The World of Mathematics (1956)]\nA good notation has subtlety and suggestiveness which at times makes\nit almost seem like a live teacher.\n\n[[X28]]\nAdmonition Paragraphs\n~~~~~~~~~~~~~~~~~~~~~\n'TIP', 'NOTE', 'IMPORTANT', 'WARNING' and 'CAUTION' admonishment\nparagraph styles are generated by placing `NOTE:`, `TIP:`,\n`IMPORTANT:`, `WARNING:` or `CAUTION:` as the first word of the\nparagraph. For example:\n\n NOTE: This is an example note.\n\nAlternatively, you can specify the paragraph admonition style\nexplicitly using an <<X79,AttributeList element>>. For example:\n\n [NOTE]\n This is an example note.\n\nRenders:\n\nNOTE: This is an example note.\n\nTIP: If your admonition requires more than a single paragraph use an\n<<X22,admonition block>> instead.\n\n[[X47]]\nAdmonition Icons and Captions\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nNOTE: Admonition customization with `icons`, `iconsdir`, `icon` and\n`caption` attributes does not apply when generating DocBook output. If\nyou are going the DocBook route then the <<X43,a2x(1)>> `--no-icons`\nand `--icons-dir` options can be used to set the appropriate XSL\nStylesheets parameters.\n\nBy default the asciidoc(1) HTML backends generate text captions\ninstead of admonition icon image links. To generate links to icon\nimages define the <<X45,`icons`>> attribute, for example using the `-a\nicons` command-line option.\n\nThe <<X44,`iconsdir`>> attribute sets the location of linked icon\nimages.\n\nYou can override the default icon image using the `icon` attribute to\nspecify the path of the linked image. For example:\n\n [icon=\"./images/icons/wink.png\"]\n NOTE: What lovely war.\n\nUse the `caption` attribute to customize the admonition captions (not\napplicable to `docbook` backend). The following example suppresses the\nicon image and customizes the caption of a 'NOTE' admonition\n(undefining the `icons` attribute with `icons=None` is only necessary\nif <<X45,admonition icons>> have been enabled):\n\n [icons=None, caption=\"My Special Note\"]\n NOTE: This is my special note.\n\nThis subsection also applies to <<X22,Admonition Blocks>>.\n\n\n[[X104]]\nDelimited Blocks\n----------------\nDelimited blocks are blocks of text enveloped by leading and trailing\ndelimiter lines (normally a series of four or more repeated\ncharacters). The behavior of Delimited Blocks is specified by entries\nin configuration file `[blockdef-*]` sections.\n\nPredefined Delimited Blocks\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\nAsciiDoc ships with a number of predefined DelimitedBlocks (see the\n`asciidoc.conf` configuration file in the asciidoc(1) program\ndirectory):\n\nPredefined delimited block underlines:\n\n CommentBlock: //////////////////////////\n PassthroughBlock: ++++++++++++++++++++++++++\n ListingBlock: --------------------------\n LiteralBlock: ..........................\n SidebarBlock: **************************\n QuoteBlock: __________________________\n ExampleBlock: ==========================\n OpenBlock: --\n\n.Default DelimitedBlock substitutions\n[cols=\"2e,7*^\",frame=\"topbot\",options=\"header,autowidth\"]\n|=====================================================\n| |Attributes |Callouts |Macros | Quotes |Replacements\n|Special chars |Special words\n\n|PassthroughBlock |Yes |No |Yes |No |No |No |No\n|ListingBlock |No |Yes |No |No |No |Yes |No\n|LiteralBlock |No |Yes |No |No |No |Yes |No\n|SidebarBlock |Yes |No |Yes |Yes |Yes |Yes |Yes\n|QuoteBlock |Yes |No |Yes |Yes |Yes |Yes |Yes\n|ExampleBlock |Yes |No |Yes |Yes |Yes |Yes |Yes\n|OpenBlock |Yes |No |Yes |Yes |Yes |Yes |Yes\n|=====================================================\n\nListing Blocks\n~~~~~~~~~~~~~~\n'ListingBlocks' are rendered verbatim in a monospaced font, they\nretain line and whitespace formatting and are often distinguished by a\nbackground or border. There is no text formatting or substitutions\nwithin Listing blocks apart from Special Characters and Callouts.\nListing blocks are often used for computer output and file listings.\n\nHere's an example:\n\n[listing]\n......................................\n--------------------------------------\n#include <stdio.h>\n\nint main() {\n printf(\"Hello World!\\n\");\n exit(0);\n}\n--------------------------------------\n......................................\n\nWhich will be rendered like:\n\n--------------------------------------\n#include <stdio.h>\n\nint main() {\n printf(\"Hello World!\\n\");\n exit(0);\n}\n--------------------------------------\n\nBy convention <<X59,filter blocks>> use the listing block syntax and\nare implemented as distinct listing block styles.\n\n[[X65]]\nLiteral Blocks\n~~~~~~~~~~~~~~\n'LiteralBlocks' are rendered just like <<X85,literal paragraphs>>.\nExample:\n\n---------------------------------------------------------------------\n...................................\nConsul *necessitatibus* per id,\nconsetetur, eu pro everti postulant\nhomero verear ea mea, qui.\n...................................\n---------------------------------------------------------------------\n\nRenders:\n...................................\nConsul *necessitatibus* per id,\nconsetetur, eu pro everti postulant\nhomero verear ea mea, qui.\n...................................\n\nIf the 'listing' style is applied to a LiteralBlock it will be\nrendered as a ListingBlock (this is handy if you have a listing\ncontaining a ListingBlock).\n\nSidebar Blocks\n~~~~~~~~~~~~~~\nA sidebar is a short piece of text presented outside the narrative\nflow of the main text. The sidebar is normally presented inside a\nbordered box to set it apart from the main text.\n\nThe sidebar body is treated like a normal section body.\n\nHere's an example:\n\n---------------------------------------------------------------------\n.An Example Sidebar\n************************************************\nAny AsciiDoc SectionBody element (apart from\nSidebarBlocks) can be placed inside a sidebar.\n************************************************\n---------------------------------------------------------------------\n\nWhich will be rendered like:\n\n.An Example Sidebar\n************************************************\nAny AsciiDoc SectionBody element (apart from\nSidebarBlocks) can be placed inside a sidebar.\n************************************************\n\n[[X26]]\nComment Blocks\n~~~~~~~~~~~~~~\nThe contents of 'CommentBlocks' are not processed; they are useful for\nannotations and for excluding new or outdated content that you don't\nwant displayed. CommentBlocks are never written to output files.\nExample:\n\n---------------------------------------------------------------------\n//////////////////////////////////////////\nCommentBlock contents are not processed by\nasciidoc(1).\n//////////////////////////////////////////\n---------------------------------------------------------------------\n\nSee also <<X25,Comment Lines>>.\n\nNOTE: System macros are executed inside comment blocks.\n\n[[X76]]\nPassthrough Blocks\n~~~~~~~~~~~~~~~~~~\nBy default the block contents is subject only to 'attributes' and\n'macros' substitutions (use an explicit 'subs' attribute to apply\ndifferent substitutions). PassthroughBlock content will often be\nbackend specific. Here's an example:\n\n---------------------------------------------------------------------\n[subs=\"quotes\"]\n++++++++++++++++++++++++++++++++++++++\n<table border=\"1\"><tr>\n <td>*Cell 1*</td>\n <td>*Cell 2*</td>\n</tr></table>\n++++++++++++++++++++++++++++++++++++++\n---------------------------------------------------------------------\n\nThe following styles can be applied to passthrough blocks:\n\npass::\n No substitutions are performed. This is equivalent to `subs=\"none\"`.\n\nasciimath, latexmath::\n By default no substitutions are performed, the contents are rendered\n as <<X78,mathematical formulas>>.\n\nQuote Blocks\n~~~~~~~~~~~~\n'QuoteBlocks' are used for quoted passages of text. There are two\nstyles: 'quote' and 'verse'. The style behavior is identical to\n<<X94,quote and verse paragraphs>> except that blocks can contain\nmultiple paragraphs and, in the case of the 'quote' style, other\nsection elements. The first positional attribute sets the style, if\nno attributes are specified the 'quote' style is used. The optional\n'attribution' and 'citetitle' attributes (positional attributes 2 and\n3) specify the quote's author and source. For example:\n\n---------------------------------------------------------------------\n[quote, Sir Arthur Conan Doyle, The Adventures of Sherlock Holmes]\n____________________________________________________________________\nAs he spoke there was the sharp sound of horses' hoofs and\ngrating wheels against the curb, followed by a sharp pull at the\nbell. Holmes whistled.\n\n\"A pair, by the sound,\" said he. \"Yes,\" he continued, glancing\nout of the window. \"A nice little brougham and a pair of\nbeauties. A hundred and fifty guineas apiece. There's money in\nthis case, Watson, if there is nothing else.\"\n____________________________________________________________________\n---------------------------------------------------------------------\n\nWhich is rendered as:\n\n[quote, Sir Arthur Conan Doyle, The Adventures of Sherlock Holmes]\n____________________________________________________________________\nAs he spoke there was the sharp sound of horses' hoofs and\ngrating wheels against the curb, followed by a sharp pull at the\nbell. Holmes whistled.\n\n\"A pair, by the sound,\" said he. \"Yes,\" he continued, glancing\nout of the window. \"A nice little brougham and a pair of\nbeauties. A hundred and fifty guineas apiece. There's money in\nthis case, Watson, if there is nothing else.\"\n____________________________________________________________________\n\n[[X48]]\nExample Blocks\n~~~~~~~~~~~~~~\n'ExampleBlocks' encapsulate the DocBook Example element and are used\nfor, well, examples. Example blocks can be titled by preceding them\nwith a 'BlockTitle'. DocBook toolchains will normally automatically\nnumber examples and generate a 'List of Examples' backmatter section.\n\nExample blocks are delimited by lines of equals characters and can\ncontain any block elements apart from Titles, BlockTitles and\nSidebars) inside an example block. For example:\n\n---------------------------------------------------------------------\n.An example\n=====================================================================\nQui in magna commodo, est labitur dolorum an. Est ne magna primis\nadolescens.\n=====================================================================\n---------------------------------------------------------------------\n\nRenders:\n\n.An example\n=====================================================================\nQui in magna commodo, est labitur dolorum an. Est ne magna primis\nadolescens.\n=====================================================================\n\nA title prefix that can be inserted with the `caption` attribute\n(HTML backends). For example:\n\n---------------------------------------------------------------------\n[caption=\"Example 1: \"]\n.An example with a custom caption\n=====================================================================\nQui in magna commodo, est labitur dolorum an. Est ne magna primis\nadolescens.\n=====================================================================\n---------------------------------------------------------------------\n\n[[X22]]\nAdmonition Blocks\n~~~~~~~~~~~~~~~~~\nThe 'ExampleBlock' definition includes a set of admonition\n<<X23,styles>> ('NOTE', 'TIP', 'IMPORTANT', 'WARNING', 'CAUTION') for\ngenerating admonition blocks (admonitions containing more than a\n<<X28,single paragraph>>). Just precede the 'ExampleBlock' with an\nattribute list specifying the admonition style name. For example:\n\n---------------------------------------------------------------------\n[NOTE]\n.A NOTE admonition block\n=====================================================================\nQui in magna commodo, est labitur dolorum an. Est ne magna primis\nadolescens.\n\n. Fusce euismod commodo velit.\n. Vivamus fringilla mi eu lacus.\n .. Fusce euismod commodo velit.\n .. Vivamus fringilla mi eu lacus.\n. Donec eget arcu bibendum\n nunc consequat lobortis.\n=====================================================================\n---------------------------------------------------------------------\n\nRenders:\n\n[NOTE]\n.A NOTE admonition block\n=====================================================================\nQui in magna commodo, est labitur dolorum an. Est ne magna primis\nadolescens.\n\n. Fusce euismod commodo velit.\n. Vivamus fringilla mi eu lacus.\n .. Fusce euismod commodo velit.\n .. Vivamus fringilla mi eu lacus.\n. Donec eget arcu bibendum\n nunc consequat lobortis.\n=====================================================================\n\nSee also <<X47,Admonition Icons and Captions>>.\n\n[[X29]]\nOpen Blocks\n~~~~~~~~~~~\nOpen blocks are special:\n\n- The open block delimiter is line containing two hyphen characters\n (instead of four or more repeated characters).\n\n- They can be used to group block elements for <<X15,List item\n continuation>>.\n\n- Open blocks can be styled to behave like any other type of delimited\n block. The following built-in styles can be applied to open\n blocks: 'literal', 'verse', 'quote', 'listing', 'TIP', 'NOTE',\n 'IMPORTANT', 'WARNING', 'CAUTION', 'abstract', 'partintro',\n 'comment', 'example', 'sidebar', 'source', 'music', 'latex',\n 'graphviz'. For example, the following open block and listing block\n are functionally identical:\n\n [listing]\n --\n Lorum ipsum ...\n --\n\n ---------------\n Lorum ipsum ...\n ---------------\n\n- An unstyled open block groups section elements but otherwise does\n nothing.\n\nOpen blocks are used to generate document abstracts and book part\nintroductions:\n\n- Apply the 'abstract' style to generate an abstract, for example:\n\n [abstract]\n --\n In this paper we will ...\n --\n\n. Apply the 'partintro' style to generate a book part introduction for\n a multi-part book, for example:\n\n [partintro]\n .Optional part introduction title\n --\n Optional part introduction goes here.\n --\n\n\n[[X64]]\nLists\n-----\n.List types\n- Bulleted lists. Also known as itemized or unordered lists.\n- Numbered lists. Also called ordered lists.\n- Labeled lists. Sometimes called variable or definition lists.\n- Callout lists (a list of callout annotations).\n\n.List behavior\n- List item indentation is optional and does not determine nesting,\n indentation does however make the source more readable.\n- Another list or a literal paragraph immediately following a list\n item will be implicitly included in the list item; use <<X15, list\n item continuation>> to explicitly append other block elements to a\n list item.\n- A comment block or a comment line block macro element will terminate\n a list -- use inline comment lines to put comments inside lists.\n- The `listindex` <<X60,intrinsic attribute>> is the current list item\n index (1..). If this attribute is used outside a list then it's value\n is the number of items in the most recently closed list. Useful for\n displaying the number of items in a list.\n\nBulleted Lists\n~~~~~~~~~~~~~~\nBulleted list items start with a single dash or one to five asterisks\nfollowed by some white space then some text. Bulleted list syntaxes\nare:\n\n...................\n- List item.\n* List item.\n** List item.\n*** List item.\n**** List item.\n***** List item.\n...................\n\nNumbered Lists\n~~~~~~~~~~~~~~\nList item numbers are explicit or implicit.\n\n.Explicit numbering\nList items begin with a number followed by some white space then the\nitem text. The numbers can be decimal (arabic), roman (upper or lower\ncase) or alpha (upper or lower case). Decimal and alpha numbers are\nterminated with a period, roman numbers are terminated with a closing\nparenthesis. The different terminators are necessary to ensure 'i',\n'v' and 'x' roman numbers are are distinguishable from 'x', 'v' and\n'x' alpha numbers. Examples:\n\n.....................................................................\n1. Arabic (decimal) numbered list item.\na. Lower case alpha (letter) numbered list item.\nF. Upper case alpha (letter) numbered list item.\niii) Lower case roman numbered list item.\nIX) Upper case roman numbered list item.\n.....................................................................\n\n.Implicit numbering\nList items begin one to five period characters, followed by some white\nspace then the item text. Examples:\n\n.....................................................................\n. Arabic (decimal) numbered list item.\n.. Lower case alpha (letter) numbered list item.\n... Lower case roman numbered list item.\n.... Upper case alpha (letter) numbered list item.\n..... Upper case roman numbered list item.\n.....................................................................\n\nYou can use the 'style' attribute (also the first positional\nattribute) to specify an alternative numbering style. The numbered\nlist style can be one of the following values: 'arabic', 'loweralpha',\n'upperalpha', 'lowerroman', 'upperroman'.\n\nHere are some examples of bulleted and numbered lists:\n\n---------------------------------------------------------------------\n- Praesent eget purus quis magna eleifend eleifend.\n 1. Fusce euismod commodo velit.\n a. Fusce euismod commodo velit.\n b. Vivamus fringilla mi eu lacus.\n c. Donec eget arcu bibendum nunc consequat lobortis.\n 2. Vivamus fringilla mi eu lacus.\n i) Fusce euismod commodo velit.\n ii) Vivamus fringilla mi eu lacus.\n 3. Donec eget arcu bibendum nunc consequat lobortis.\n 4. Nam fermentum mattis ante.\n- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.\n * Fusce euismod commodo velit.\n ** Qui in magna commodo, est labitur dolorum an. Est ne magna primis\n adolescens. Sit munere ponderum dignissim et. Minim luptatum et\n vel.\n ** Vivamus fringilla mi eu lacus.\n * Donec eget arcu bibendum nunc consequat lobortis.\n- Nulla porttitor vulputate libero.\n . Fusce euismod commodo velit.\n . Vivamus fringilla mi eu lacus.\n[upperroman]\n .. Fusce euismod commodo velit.\n .. Vivamus fringilla mi eu lacus.\n . Donec eget arcu bibendum nunc consequat lobortis.\n---------------------------------------------------------------------\n\nWhich render as:\n\n- Praesent eget purus quis magna eleifend eleifend.\n 1. Fusce euismod commodo velit.\n a. Fusce euismod commodo velit.\n b. Vivamus fringilla mi eu lacus.\n c. Donec eget arcu bibendum nunc consequat lobortis.\n 2. Vivamus fringilla mi eu lacus.\n i) Fusce euismod commodo velit.\n ii) Vivamus fringilla mi eu lacus.\n 3. Donec eget arcu bibendum nunc consequat lobortis.\n 4. Nam fermentum mattis ante.\n- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.\n * Fusce euismod commodo velit.\n ** Qui in magna commodo, est labitur dolorum an. Est ne magna primis\n adolescens. Sit munere ponderum dignissim et. Minim luptatum et\n vel.\n ** Vivamus fringilla mi eu lacus.\n * Donec eget arcu bibendum nunc consequat lobortis.\n- Nulla porttitor vulputate libero.\n . Fusce euismod commodo velit.\n . Vivamus fringilla mi eu lacus.\n[upperroman]\n .. Fusce euismod commodo velit.\n .. Vivamus fringilla mi eu lacus.\n . Donec eget arcu bibendum nunc consequat lobortis.\n\nA predefined 'compact' option is available to bulleted and numbered\nlists -- this translates to the DocBook 'spacing=\"compact\"' lists\nattribute which may or may not be processed by the DocBook toolchain.\nExample:\n\n [options=\"compact\"]\n - Compact list item.\n - Another compact list item.\n\nTIP: To apply the 'compact' option globally define a document-wide\n'compact-option' attribute, e.g. using the `-a compact-option`\ncommand-line option.\n\nYou can set the list start number using the 'start' attribute (works\nfor HTML outputs and DocBook outputs processed by DocBook XSL\nStylesheets). Example:\n\n [start=7]\n . List item 7.\n . List item 8.\n\nLabeled Lists\n~~~~~~~~~~~~~\nLabeled list items consist of one or more text labels followed by the\ntext of the list item.\n\nAn item label begins a line with an alphanumeric character hard\nagainst the left margin and ends with two, three or four colons or two\nsemi-colons. A list item can have multiple labels, one per line.\n\nThe list item text consists of one or more lines of text starting\nafter the last label (either on the same line or a new line) and can\nbe followed by nested List or ListParagraph elements. Item text can be\noptionally indented.\n\nHere are some examples:\n\n---------------------------------------------------------------------\nIn::\nLorem::\n Fusce euismod commodo velit.\n\n Fusce euismod commodo velit.\n\nIpsum:: Vivamus fringilla mi eu lacus.\n * Vivamus fringilla mi eu lacus.\n * Donec eget arcu bibendum nunc consequat lobortis.\nDolor::\n Donec eget arcu bibendum nunc consequat lobortis.\n Suspendisse;;\n A massa id sem aliquam auctor.\n Morbi;;\n Pretium nulla vel lorem.\n In;;\n Dictum mauris in urna.\n Vivamus::: Fringilla mi eu lacus.\n Donec::: Eget arcu bibendum nunc consequat lobortis.\n---------------------------------------------------------------------\n\nWhich render as:\n\nIn::\nLorem::\n Fusce euismod commodo velit.\n\n Fusce euismod commodo velit.\n\nIpsum:: Vivamus fringilla mi eu lacus.\n * Vivamus fringilla mi eu lacus.\n * Donec eget arcu bibendum nunc consequat lobortis.\nDolor::\n Donec eget arcu bibendum nunc consequat lobortis.\n Suspendisse;;\n A massa id sem aliquam auctor.\n Morbi;;\n Pretium nulla vel lorem.\n In;;\n Dictum mauris in urna.\n Vivamus::: Fringilla mi eu lacus.\n Donec::: Eget arcu bibendum nunc consequat lobortis.\n\nHorizontal labeled list style\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nThe 'horizontal' labeled list style (also the first positional\nattribute) places the list text side-by-side with the label instead of\nunder the label. Here is an example:\n\n---------------------------------------------------------------------\n[horizontal]\n*Lorem*:: Fusce euismod commodo velit. Qui in magna commodo, est\nlabitur dolorum an. Est ne magna primis adolescens.\n\n Fusce euismod commodo velit.\n\n*Ipsum*:: Vivamus fringilla mi eu lacus.\n- Vivamus fringilla mi eu lacus.\n- Donec eget arcu bibendum nunc consequat lobortis.\n\n*Dolor*::\n - Vivamus fringilla mi eu lacus.\n - Donec eget arcu bibendum nunc consequat lobortis.\n\n---------------------------------------------------------------------\n\nWhich render as:\n\n[horizontal]\n*Lorem*:: Fusce euismod commodo velit. Qui in magna commodo, est\nlabitur dolorum an. Est ne magna primis adolescens.\n\n Fusce euismod commodo velit.\n\n*Ipsum*:: Vivamus fringilla mi eu lacus.\n- Vivamus fringilla mi eu lacus.\n- Donec eget arcu bibendum nunc consequat lobortis.\n\n*Dolor*::\n - Vivamus fringilla mi eu lacus.\n - Donec eget arcu bibendum nunc consequat lobortis.\n\n[NOTE]\n=====================================================================\n- Current PDF toolchains do not make a good job of determining\n the relative column widths for horizontal labeled lists.\n- Nested horizontal labeled lists will generate DocBook validation\n errors because the 'DocBook XML V4.2' DTD does not permit nested\n informal tables (although <<X13,DocBook XSL Stylesheets>> and\n <<X31,dblatex>> process them correctly).\n- The label width can be set as a percentage of the total width by\n setting the 'width' attribute e.g. `width=\"10%\"`\n=====================================================================\n\nQuestion and Answer Lists\n~~~~~~~~~~~~~~~~~~~~~~~~~\nAsciiDoc comes pre-configured with a 'qanda' style labeled list for generating\nDocBook question and answer (Q&A) lists. Example:\n\n---------------------------------------------------------------------\n[qanda]\nQuestion one::\n Answer one.\nQuestion two::\n Answer two.\n---------------------------------------------------------------------\n\nRenders:\n\n[qanda]\nQuestion one::\n Answer one.\nQuestion two::\n Answer two.\n\nGlossary Lists\n~~~~~~~~~~~~~~\nAsciiDoc comes pre-configured with a 'glossary' style labeled list for\ngenerating DocBook glossary lists. Example:\n\n---------------------------------------------------------------------\n[glossary]\nA glossary term::\n The corresponding definition.\nA second glossary term::\n The corresponding definition.\n---------------------------------------------------------------------\n\nFor working examples see the `article.txt` and `book.txt` documents in\nthe AsciiDoc `./doc` distribution directory.\n\nNOTE: To generate valid DocBook output glossary lists must be located\nin a section that uses the 'glossary' <<X93,section markup template>>.\n\nBibliography Lists\n~~~~~~~~~~~~~~~~~~\nAsciiDoc comes with a predefined 'bibliography' bulleted list style\ngenerating DocBook bibliography entries. Example:\n\n---------------------------------------------------------------------\n[bibliography]\n.Optional list title\n- [[[taoup]]] Eric Steven Raymond. 'The Art of UNIX\n Programming'. Addison-Wesley. ISBN 0-13-142901-9.\n- [[[walsh-muellner]]] Norman Walsh & Leonard Muellner.\n 'DocBook - The Definitive Guide'. O'Reilly & Associates.\n 1999. ISBN 1-56592-580-7.\n---------------------------------------------------------------------\n\nThe `[[[<reference>]]]` syntax is a bibliography entry anchor, it\ngenerates an anchor named `<reference>` and additionally displays\n`[<reference>]` at the anchor position. For example `[[[taoup]]]`\ngenerates an anchor named `taoup` that displays `[taoup]` at the\nanchor position. Cite the reference from elsewhere your document using\n`<<taoup>>`, this displays a hyperlink (`[taoup]`) to the\ncorresponding bibliography entry anchor.\n\nFor working examples see the `article.txt` and `book.txt` documents in\nthe AsciiDoc `./doc` distribution directory.\n\nNOTE: To generate valid DocBook output bibliography lists must be\nlocated in a <<X93,bibliography section>>.\n\n[[X15]]\nList Item Continuation\n~~~~~~~~~~~~~~~~~~~~~~\nAnother list or a literal paragraph immediately following a list item\nis implicitly appended to the list item; to append other block\nelements to a list item you need to explicitly join them to the list\nitem with a 'list continuation' (a separator line containing a single\nplus character). Multiple block elements can be appended to a list\nitem using list continuations (provided they are legal list item\nchildren in the backend markup).\n\nHere are some examples of list item continuations: list item one\ncontains multiple continuations; list item two is continued with an\n<<X29,OpenBlock>> containing multiple elements:\n\n---------------------------------------------------------------------\n1. List item one.\n+\nList item one continued with a second paragraph followed by an\nIndented block.\n+\n.................\n$ ls *.sh\n$ mv *.sh ~/tmp\n.................\n+\nList item continued with a third paragraph.\n\n2. List item two continued with an open block.\n+\n--\nThis paragraph is part of the preceding list item.\n\na. This list is nested and does not require explicit item continuation.\n+\nThis paragraph is part of the preceding list item.\n\nb. List item b.\n\nThis paragraph belongs to item two of the outer list.\n--\n---------------------------------------------------------------------\n\nRenders:\n\n1. List item one.\n+\nList item one continued with a second paragraph followed by an\nIndented block.\n+\n.................\n$ ls *.sh\n$ mv *.sh ~/tmp\n.................\n+\nList item continued with a third paragraph.\n\n2. List item two continued with an open block.\n+\n--\nThis paragraph is part of the preceding list item.\n\na. This list is nested and does not require explicit item continuation.\n+\nThis paragraph is part of the preceding list item.\n\nb. List item b.\n\nThis paragraph belongs to item two of the outer list.\n--\n\n\n[[X92]]\nFootnotes\n---------\nThe shipped AsciiDoc configuration includes three footnote inline\nmacros:\n\n`footnote:[<text>]`::\n Generates a footnote with text `<text>`.\n\n`footnoteref:[<id>,<text>]`::\n Generates a footnote with a reference ID `<id>` and text `<text>`.\n\n`footnoteref:[<id>]`::\n Generates a reference to the footnote with ID `<id>`.\n\nThe footnote text can span multiple lines.\n\nThe 'xhtml11' and 'html5' backends render footnotes dynamically using\nJavaScript; 'html4' outputs do not use JavaScript and leave the\nfootnotes inline; 'docbook' footnotes are processed by the downstream\nDocBook toolchain.\n\nExample footnotes:\n\n A footnote footnote:[An example footnote.];\n a second footnote with a reference ID footnoteref:[note2,Second footnote.];\n finally a reference to the second footnote footnoteref:[note2].\n\nRenders:\n\nA footnote footnote:[An example footnote.];\na second footnote with a reference ID footnoteref:[note2,Second footnote.];\nfinally a reference to the second footnote footnoteref:[note2].\n\n\nIndexes\n-------\nThe shipped AsciiDoc configuration includes the inline macros for\ngenerating DocBook index entries.\n\n`indexterm:[<primary>,<secondary>,<tertiary>]`::\n`(((<primary>,<secondary>,<tertiary>)))`::\n This inline macro generates an index term (the `<secondary>` and\n `<tertiary>` positional attributes are optional). Example:\n `indexterm:[Tigers,Big cats]` (or, using the alternative syntax\n `(((Tigers,Big cats)))`. Index terms that have secondary and\n tertiary entries also generate separate index terms for the\n secondary and tertiary entries. The index terms appear in the\n index, not the primary text flow.\n\n`indexterm2:[<primary>]`::\n`((<primary>))`::\n This inline macro generates an index term that appears in both the\n index and the primary text flow. The `<primary>` should not be\n padded to the left or right with white space characters.\n\nFor working examples see the `article.txt` and `book.txt` documents in\nthe AsciiDoc `./doc` distribution directory.\n\nNOTE: Index entries only really make sense if you are generating\nDocBook markup -- DocBook conversion programs automatically generate\nan index at the point an 'Index' section appears in source document.\n\n\n[[X105]]\nCallouts\n--------\nCallouts are a mechanism for annotating verbatim text (for example:\nsource code, computer output and user input). Callout markers are\nplaced inside the annotated text while the actual annotations are\npresented in a callout list after the annotated text. Here's an\nexample:\n\n---------------------------------------------------------------------\n .MS-DOS directory listing\n -----------------------------------------------------\n 10/17/97 9:04 <DIR> bin\n 10/16/97 14:11 <DIR> DOS \\<1>\n 10/16/97 14:40 <DIR> Program Files\n 10/16/97 14:46 <DIR> TEMP\n 10/17/97 9:04 <DIR> tmp\n 10/16/97 14:37 <DIR> WINNT\n 10/16/97 14:25 119 AUTOEXEC.BAT \\<2>\n 2/13/94 6:21 54,619 COMMAND.COM \\<2>\n 10/16/97 14:25 115 CONFIG.SYS \\<2>\n 11/16/97 17:17 61,865,984 pagefile.sys\n 2/13/94 6:21 9,349 WINA20.386 \\<3>\n -----------------------------------------------------\n\n \\<1> This directory holds MS-DOS.\n \\<2> System startup code for DOS.\n \\<3> Some sort of Windows 3.1 hack.\n---------------------------------------------------------------------\n\nWhich renders:\n\n.MS-DOS directory listing\n-----------------------------------------------------\n10/17/97 9:04 <DIR> bin\n10/16/97 14:11 <DIR> DOS <1>\n10/16/97 14:40 <DIR> Program Files\n10/16/97 14:46 <DIR> TEMP\n10/17/97 9:04 <DIR> tmp\n10/16/97 14:37 <DIR> WINNT\n10/16/97 14:25 119 AUTOEXEC.BAT <2>\n 2/13/94 6:21 54,619 COMMAND.COM <2>\n10/16/97 14:25 115 CONFIG.SYS <2>\n11/16/97 17:17 61,865,984 pagefile.sys\n 2/13/94 6:21 9,349 WINA20.386 <3>\n-----------------------------------------------------\n\n<1> This directory holds MS-DOS.\n<2> System startup code for DOS.\n<3> Some sort of Windows 3.1 hack.\n\n.Explanation\n- The callout marks are whole numbers enclosed in angle brackets --\n they refer to the correspondingly numbered item in the following\n callout list.\n- By default callout marks are confined to 'LiteralParagraphs',\n 'LiteralBlocks' and 'ListingBlocks' (although this is a\n configuration file option and can be changed).\n- Callout list item numbering is fairly relaxed -- list items can\n start with `<n>`, `n>` or `>` where `n` is the optional list item\n number (in the latter case list items starting with a single `>`\n character are implicitly numbered starting at one).\n- Callout lists should not be nested.\n- Callout lists start list items hard against the left margin.\n- If you want to present a number inside angle brackets you'll need to\n escape it with a backslash to prevent it being interpreted as a\n callout mark.\n\nNOTE: Define the AsciiDoc 'icons' attribute (for example using the `-a\nicons` command-line option) to display callout icons.\n\nImplementation Notes\n~~~~~~~~~~~~~~~~~~~~\nCallout marks are generated by the 'callout' inline macro while\ncallout lists are generated using the 'callout' list definition. The\n'callout' macro and 'callout' list are special in that they work\ntogether. The 'callout' inline macro is not enabled by the normal\n'macros' substitutions option, instead it has its own 'callouts'\nsubstitution option.\n\nThe following attributes are available during inline callout macro\nsubstitution:\n\n`{index}`::\n The callout list item index inside the angle brackets.\n`{coid}`::\n An identifier formatted like `CO<listnumber>-<index>` that\n uniquely identifies the callout mark. For example `CO2-4`\n identifies the fourth callout mark in the second set of callout\n marks.\n\nThe `{coids}` attribute can be used during callout list item\nsubstitution -- it is a space delimited list of callout IDs that refer\nto the explanatory list item.\n\nIncluding callouts in included code\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nYou can annotate working code examples with callouts -- just remember\nto put the callouts inside source code comments. This example displays\nthe `test.py` source file (containing a single callout) using the\n'source' (code highlighter) filter:\n\n.AsciiDoc source\n---------------------------------------------------------------------\n [source,python]\n -------------------------------------------\n \\include::test.py[]\n -------------------------------------------\n\n \\<1> Print statement.\n---------------------------------------------------------------------\n\n.Included `test.py` source\n---------------------------------------------------------------------\nprint 'Hello World!' # \\<1>\n---------------------------------------------------------------------\n\n\nMacros\n------\nMacros are a mechanism for substituting parametrized text into output\ndocuments.\n\nMacros have a 'name', a single 'target' argument and an 'attribute\nlist'. The usual syntax is `<name>:<target>[<attrlist>]` (for\ninline macros) and `<name>::<target>[<attrlist>]` (for block\nmacros). Here are some examples:\n\n http://www.docbook.org/[DocBook.org]\n include::chapt1.txt[tabsize=2]\n mailto:srackham@gmail.com[]\n\n.Macro behavior\n- `<name>` is the macro name. It can only contain letters, digits or\n dash characters and cannot start with a dash.\n- The optional `<target>` cannot contain white space characters.\n- `<attrlist>` is a <<X21,list of attributes>> enclosed in square\n brackets.\n- `]` characters inside attribute lists must be escaped with a\n backslash.\n- Expansion of macro references can normally be escaped by prefixing a\n backslash character (see the AsciiDoc 'FAQ' for examples of\n exceptions to this rule).\n- Attribute references in block macros are expanded.\n- The substitutions performed prior to Inline macro macro expansion\n are determined by the inline context.\n- Macros are processed in the order they appear in the configuration\n file(s).\n- Calls to inline macros can be nested inside different inline macros\n (an inline macro call cannot contain a nested call to itself).\n- In addition to `<name>`, `<target>` and `<attrlist>` the\n `<passtext>` and `<subslist>` named groups are available to\n <<X77,passthrough macros>>. A macro is a passthrough macro if the\n definition includes a `<passtext>` named group.\n\nInline Macros\n~~~~~~~~~~~~~\nInline Macros occur in an inline element context. Predefined Inline\nmacros include 'URLs', 'image' and 'link' macros.\n\nURLs\n^^^^\n'http', 'https', 'ftp', 'file', 'mailto' and 'callto' URLs are\nrendered using predefined inline macros.\n\n- If you don't need a custom link caption you can enter the 'http',\n 'https', 'ftp', 'file' URLs and email addresses without any special\n macro syntax.\n- If the `<attrlist>` is empty the URL is displayed.\n\nHere are some examples:\n\n http://www.docbook.org/[DocBook.org]\n http://www.docbook.org/\n mailto:joe.bloggs@foobar.com[email Joe Bloggs]\n joe.bloggs@foobar.com\n\nWhich are rendered:\n\nhttp://www.docbook.org/[DocBook.org]\n\nhttp://www.docbook.org/\n\nmailto:joe.bloggs@foobar.com[email Joe Bloggs]\n\njoe.bloggs@foobar.com\n\nIf the `<target>` necessitates space characters use `%20`, for example\n`large%20image.png`.\n\nInternal Cross References\n^^^^^^^^^^^^^^^^^^^^^^^^^\nTwo AsciiDoc inline macros are provided for creating hypertext links\nwithin an AsciiDoc document. You can use either the standard macro\nsyntax or the (preferred) alternative.\n\n[[X30]]\nanchor\n++++++\nUsed to specify hypertext link targets:\n\n [[<id>,<xreflabel>]]\n anchor:<id>[<xreflabel>]\n\nThe `<id>` is a unique string that conforms to the output markup's\nanchor syntax. The optional `<xreflabel>` is the text to be displayed\nby captionless 'xref' macros that refer to this anchor. The optional\n`<xreflabel>` is only really useful when generating DocBook output.\nExample anchor:\n\n [[X1]]\n\nYou may have noticed that the syntax of this inline element is the\nsame as that of the <<X41,BlockId block element>>, this is no\ncoincidence since they are functionally equivalent.\n\nxref\n++++\nCreates a hypertext link to a document anchor.\n\n <<<id>,<caption>>>\n xref:<id>[<caption>]\n\nThe `<id>` refers to an anchor ID. The optional `<caption>` is the\nlink's displayed text. Example:\n\n <<X21,attribute lists>>\n\nIf `<caption>` is not specified then the displayed text is\nauto-generated:\n\n- The AsciiDoc 'xhtml11' and 'html5' backends display the `<id>`\n enclosed in square brackets.\n- If DocBook is produced the DocBook toolchain is responsible for the\n displayed text which will normally be the referenced figure, table\n or section title number followed by the element's title text.\n\nHere is an example:\n\n---------------------------------------------------------------------\n[[tiger_image]]\n.Tyger tyger\nimage::tiger.png[]\n\nThis can be seen in <<tiger_image>>.\n---------------------------------------------------------------------\n\nLinking to Local Documents\n^^^^^^^^^^^^^^^^^^^^^^^^^^\nHypertext links to files on the local file system are specified using\nthe 'link' inline macro.\n\n link:<target>[<caption>]\n\nThe 'link' macro generates relative URLs. The link macro `<target>` is\nthe target file name (relative to the file system location of the\nreferring document). The optional `<caption>` is the link's displayed\ntext. If `<caption>` is not specified then `<target>` is displayed.\nExample:\n\n link:downloads/foo.zip[download foo.zip]\n\nYou can use the `<filename>#<id>` syntax to refer to an anchor within\na target document but this usually only makes sense when targeting\nHTML documents.\n\n[[X9]]\nImages\n^^^^^^\nInline images are inserted into the output document using the 'image'\nmacro. The inline syntax is:\n\n image:<target>[<attributes>]\n\nThe contents of the image file `<target>` is displayed. To display the\nimage its file format must be supported by the target backend\napplication. HTML and DocBook applications normally support PNG or JPG\nfiles.\n\n`<target>` file name paths are relative to the location of the\nreferring document.\n\n[[X55]]\n.Image macro attributes\n- The optional 'alt' attribute is also the first positional attribute,\n it specifies alternative text which is displayed if the output\n application is unable to display the image file (see also\n http://htmlhelp.com/feature/art3.htm[Use of ALT texts in IMGs]). For\n example:\n\n image:images/logo.png[Company Logo]\n\n- The optional 'title' attribute provides a title for the image. The\n <<X49,block image macro>> renders the title alongside the image.\n The inline image macro displays the title as a popup ``tooltip'' in\n visual browsers (AsciiDoc HTML outputs only).\n\n- The optional `width` and `height` attributes scale the image size\n and can be used in any combination. The units are pixels. The\n following example scales the previous example to a height of 32\n pixels:\n\n image:images/logo.png[\"Company Logo\",height=32]\n\n- The optional `link` attribute is used to link the image to an\n external document. The following example links a screenshot\n thumbnail to a full size version:\n\n image:screen-thumbnail.png[height=32,link=\"screen.png\"]\n\n- The optional `scaledwidth` attribute is only used in DocBook block\n images (specifically for PDF documents). The following example\n scales the images to 75% of the available print width:\n\n image::images/logo.png[scaledwidth=\"75%\",alt=\"Company Logo\"]\n\n- The image `scale` attribute sets the DocBook `imagedata` element\n `scale` attribute.\n\n- The optional `align` attribute is used for horizontal image\n alignment. Allowed values are `center`, `left` and `right`. For\n example:\n\n image::images/tiger.png[\"Tiger image\",align=\"left\"]\n\n- The optional `float` attribute floats the image `left` or `right` on\n the page (works with HTML outputs only, has no effect on DocBook\n outputs). `float` and `align` attributes are mutually exclusive.\n Use the `unfloat::[]` block macro to stop floating.\n\nComment Lines\n^^^^^^^^^^^^^\nSee <<X25,comment block macro>>.\n\nBlock Macros\n~~~~~~~~~~~~\nA Block macro reference must be contained in a single line separated\neither side by a blank line or a block delimiter.\n\nBlock macros behave just like Inline macros, with the following\ndifferences:\n\n- They occur in a block context.\n- The default syntax is `<name>::<target>[<attrlist>]` (two\n colons, not one).\n- Markup template section names end in `-blockmacro` instead of\n `-inlinemacro`.\n\nBlock Identifier\n^^^^^^^^^^^^^^^^\nThe Block Identifier macro sets the `id` attribute and has the same\nsyntax as the <<X30,anchor inline macro>> since it performs\nessentially the same function -- block templates use the `id`\nattribute as a block element ID. For example:\n\n [[X30]]\n\nThis is equivalent to the `[id=\"X30\"]` <<X79,AttributeList element>>).\n\n[[X49]]\nImages\n^^^^^^\nThe 'image' block macro is used to display images in a block context.\nThe syntax is:\n\n image::<target>[<attributes>]\n\nThe block `image` macro has the same <<X55,macro attributes>> as it's\n<<X9,inline image macro>> counterpart.\n\nBlock images can be titled by preceding the 'image' macro with a\n'BlockTitle'. DocBook toolchains normally number titled block images\nand optionally list them in an automatically generated 'List of\nFigures' backmatter section.\n\nThis example:\n\n .Main circuit board\n image::images/layout.png[J14P main circuit board]\n\nis equivalent to:\n\n image::images/layout.png[\"J14P main circuit board\",\n title=\"Main circuit board\"]\n\nA title prefix that can be inserted with the `caption` attribute\n(HTML backends). For example:\n\n .Main circuit board\n [caption=\"Figure 2: \"]\n image::images/layout.png[J14P main circuit board]\n\n[[X66]]\n.Embedding images in XHTML documents\n*********************************************************************\nIf you define the `data-uri` attribute then images will be embedded in\nXHTML outputs using the\nhttp://en.wikipedia.org/wiki/Data:_URI_scheme[data URI scheme]. You\ncan use the 'data-uri' attribute with the 'xhtml11' and 'html5'\nbackends to produce single-file XHTML documents with embedded images\nand CSS, for example:\n\n $ asciidoc -a data-uri mydocument.txt\n\n[NOTE]\n======\n- All current popular browsers support data URIs, although versions\n of Internet Explorer prior to version 8 do not.\n- Some browsers limit the size of data URIs.\n======\n*********************************************************************\n\n[[X25]]\nComment Lines\n^^^^^^^^^^^^^\nSingle lines starting with two forward slashes hard up against the\nleft margin are treated as comments. Comment lines do not appear in\nthe output unless the 'showcomments' attribute is defined. Comment\nlines have been implemented as both block and inline macros so a\ncomment line can appear as a stand-alone block or within block elements\nthat support inline macro expansion. Example comment line:\n\n // This is a comment.\n\nIf the 'showcomments' attribute is defined comment lines are written\nto the output:\n\n- In DocBook the comment lines are enclosed by the 'remark' element\n (which may or may not be rendered by your toolchain).\n- The 'showcomments' attribute does not expose <<X26,Comment Blocks>>.\n Comment Blocks are never passed to the output.\n\nSystem Macros\n~~~~~~~~~~~~~\nSystem macros are block macros that perform a predefined task and are\nhardwired into the asciidoc(1) program.\n\n- You can escape system macros with a leading backslash character\n (as you can with other macros).\n- The syntax and tasks performed by system macros is built into\n asciidoc(1) so they don't appear in configuration files. You can\n however customize the syntax by adding entries to a configuration\n file `[macros]` section.\n\n[[X63]]\nInclude Macros\n^^^^^^^^^^^^^^\nThe `include` and `include1` system macros to include the contents of\na named file into the source document.\n\nThe `include` macro includes a file as if it were part of the parent\ndocument -- tabs are expanded and system macros processed. The\ncontents of `include1` files are not subject to tab expansion or\nsystem macro processing nor are attribute or lower priority\nsubstitutions performed. The `include1` macro's intended use is to\ninclude verbatim embedded CSS or scripts into configuration file\nheaders. Example:\n\n------------------------------------\n\\include::chapter1.txt[tabsize=4]\n------------------------------------\n\n.Include macro behavior\n- If the included file name is specified with a relative path then the\n path is relative to the location of the referring document.\n- Include macros can appear inside configuration files.\n- Files included from within 'DelimitedBlocks' are read to completion\n to avoid false end-of-block underline termination.\n- Attribute references are expanded inside the include 'target'; if an\n attribute is undefined then the included file is silently skipped.\n- The 'tabsize' macro attribute sets the number of space characters to\n be used for tab expansion in the included file (not applicable to\n `include1` macro).\n- The 'depth' macro attribute sets the maximum permitted number of\n subsequent nested includes (not applicable to `include1` macro which\n does not process nested includes). Setting 'depth' to '1' disables\n nesting inside the included file. By default, nesting is limited to\n a depth of ten.\n- If the he 'warnings' attribute is set to 'False' (or any other\n Python literal that evaluates to boolean false) then no warning\n message is printed if the included file does not exist. By default\n 'warnings' are enabled.\n- Internally the `include1` macro is translated to the `include1`\n system attribute which means it must be evaluated in a region where\n attribute substitution is enabled. To inhibit nested substitution in\n included files it is preferable to use the `include` macro and set\n the attribute `depth=1`.\n\nConditional Inclusion Macros\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nLines of text in the source document can be selectively included or\nexcluded from processing based on the existence (or not) of a document\nattribute.\n\nDocument text between the `ifdef` and `endif` macros is included if a\ndocument attribute is defined:\n\n ifdef::<attribute>[]\n :\n endif::<attribute>[]\n\nDocument text between the `ifndef` and `endif` macros is not included\nif a document attribute is defined:\n\n ifndef::<attribute>[]\n :\n endif::<attribute>[]\n\n`<attribute>` is an attribute name which is optional in the trailing\n`endif` macro.\n\nIf you only want to process a single line of text then the text can be\nput inside the square brackets and the `endif` macro omitted, for\nexample:\n\n ifdef::revnumber[Version number 42]\n\nIs equivalent to:\n\n ifdef::revnumber[]\n Version number 42\n endif::revnumber[]\n\n'ifdef' and 'ifndef' macros also accept multiple attribute names:\n\n- Multiple ',' separated attribute names evaluate to defined if one\n or more of the attributes is defined, otherwise it's value is\n undefined.\n- Multiple '+' separated attribute names evaluate to defined if all\n of the attributes is defined, otherwise it's value is undefined.\n\nDocument text between the `ifeval` and `endif` macros is included if\nthe Python expression inside the square brackets is true. Example:\n\n ifeval::[{rs458}==2]\n :\n endif::[]\n\n- Document attribute references are expanded before the expression is\n evaluated.\n- If an attribute reference is undefined then the expression is\n considered false.\n\nTake a look at the `*.conf` configuration files in the AsciiDoc\ndistribution for examples of conditional inclusion macro usage.\n\nExecutable system macros\n^^^^^^^^^^^^^^^^^^^^^^^^\nThe 'eval', 'sys' and 'sys2' block macros exhibit the same behavior as\ntheir same named <<X24, system attribute references>>. The difference\nis that system macros occur in a block macro context whereas system\nattributes are confined to inline contexts where attribute\nsubstitution is enabled.\n\nThe following example displays a long directory listing inside a\nliteral block:\n\n ------------------\n sys::[ls -l *.txt]\n ------------------\n\nNOTE: There are no block macro versions of the 'eval3' and 'sys3'\nsystem attributes.\n\nTemplate System Macro\n^^^^^^^^^^^^^^^^^^^^^\nThe `template` block macro allows the inclusion of one configuration\nfile template section within another. The following example includes\nthe `[admonitionblock]` section in the `[admonitionparagraph]`\nsection:\n\n [admonitionparagraph]\n template::[admonitionblock]\n\n.Template macro behavior\n- The `template::[]` macro is useful for factoring configuration file\n markup.\n- `template::[]` macros cannot be nested.\n- `template::[]` macro expansion is applied after all configuration\n files have been read.\n\n\n[[X77]]\nPassthrough macros\n~~~~~~~~~~~~~~~~~~\nPassthrough macros are analogous to <<X76,passthrough blocks>> and are\nused to pass text directly to the output. The substitution performed\non the text is determined by the macro definition but can be overridden\nby the `<subslist>`. The usual syntax is\n`<name>:<subslist>[<passtext>]` (for inline macros) and\n`<name>::<subslist>[<passtext>]` (for block macros). Passthroughs, by\ndefinition, take precedence over all other text substitutions.\n\npass::\n Inline and block. Passes text unmodified (apart from explicitly\n specified substitutions). Examples:\n\n pass:[<q>To be or not to be</q>]\n pass:attributes,quotes[<u>the '{author}'</u>]\n\nasciimath, latexmath::\n Inline and block. Passes text unmodified. Used for\n <<X78,mathematical formulas>>.\n\n\\+++::\n Inline and block. The triple-plus passthrough is functionally\n identical to the 'pass' macro but you don't have to escape `]`\n characters and you can prefix with quoted attributes in the inline\n version. Example:\n\n Red [red]+++`sum_(i=1)\\^n i=(n(n+1))/2`$+++ AsciiMathML formula\n\n$$::\n Inline and block. The double-dollar passthrough is functionally\n identical to the triple-plus passthrough with one exception: special\n characters are escaped. Example:\n\n $$`[[a,b],[c,d]]((n),(k))`$$\n\n[[X80]]`::\n Text quoted with single backtick characters constitutes an 'inline\n literal' passthrough. The enclosed text is rendered in a monospaced\n font and is only subject to special character substitution. This\n makes sense since monospace text is usually intended to be rendered\n literally and often contains characters that would otherwise have to\n be escaped. If you need monospaced text containing inline\n substitutions use a <<X81,plus character instead of a backtick>>.\n\nMacro Definitions\n~~~~~~~~~~~~~~~~~\nEach entry in the configuration `[macros]` section is a macro\ndefinition which can take one of the following forms:\n\n`<pattern>=<name>[<subslist]`:: Inline macro definition.\n`<pattern>=#<name>[<subslist]`:: Block macro definition.\n`<pattern>=+<name>[<subslist]`:: System macro definition.\n`<pattern>`:: Delete the existing macro with this `<pattern>`.\n\n`<pattern>` is a Python regular expression and `<name>` is the name of\na markup template. If `<name>` is omitted then it is the value of the\nregular expression match group named 'name'. The optional\n`[<subslist]` is a comma-separated list of substitution names enclosed\nin `[]` brackets, it sets the default substitutions for passthrough\ntext, if omitted then no passthrough substitutions are performed.\n\n.Pattern named groups\nThe following named groups can be used in macro `<pattern>` regular\nexpressions and are available as markup template attributes:\n\nname::\n The macro name.\n\ntarget::\n The macro target.\n\nattrlist::\n The macro attribute list.\n\npasstext::\n Contents of this group are passed unmodified to the output subject\n only to 'subslist' substitutions.\n\nsubslist::\n Processed as a comma-separated list of substitution names for\n 'passtext' substitution, overrides the the macro definition\n 'subslist'.\n\n.Here's what happens during macro substitution\n- Each contextually relevant macro 'pattern' from the `[macros]`\n section is matched against the input source line.\n- If a match is found the text to be substituted is loaded from a\n configuration markup template section named like\n `<name>-inlinemacro` or `<name>-blockmacro` (depending on the macro\n type).\n- Global and macro attribute list attributes are substituted in the\n macro's markup template.\n- The substituted template replaces the macro reference in the output\n document.\n\n\n[[X98]]\nHTML 5 audio and video block macros\n-----------------------------------\nThe 'html5' backend 'audio' and 'video' block macros generate the HTML\n5 'audio' and 'video' elements respectively. They follow the usual\nAsciiDoc block macro syntax `<name>::<target>[<attrlist>]` where:\n\n[horizontal]\n`<name>`:: 'audio' or 'video'.\n`<target>`:: The URL or file name of the video or audio file.\n`<attrlist>`:: A list of named attributes (see below).\n\n.Audio macro attributes\n[options=\"header\",cols=\"1,5\",frame=\"topbot\"]\n|====================================================================\n|Name | Value\n|options\n|A comma separated list of one or more of the following items:\n'autoplay', 'loop' which correspond to the same-named HTML 5 'audio'\nelement boolean attributes. By default the player 'controls' are\nenabled, include the 'nocontrols' option value to hide them.\n|====================================================================\n\n.Video macro attributes\n[options=\"header\",cols=\"1,5\",frame=\"topbot\"]\n|====================================================================\n|Name | Value\n|height | The height of the player in pixels.\n|width | The width of the player in pixels.\n|poster | The URL or file name of an image representing the video.\n|options\n|A comma separated list of one or more of the following items:\n'autoplay', 'loop' and 'nocontrols'. The 'autoplay' and 'loop' options\ncorrespond to the same-named HTML 5 'video' element boolean\nattributes. By default the player 'controls' are enabled, include the\n'nocontrols' option value to hide them.\n|====================================================================\n\nExamples:\n\n---------------------------------------------------------------------\naudio::images/example.ogg[]\n\nvideo::gizmo.ogv[width=200,options=\"nocontrols,autoplay\"]\n\n.Example video\nvideo::gizmo.ogv[]\n\nvideo::http://www.808.dk/pics/video/gizmo.ogv[]\n---------------------------------------------------------------------\n\nIf your needs are more complex put raw HTML 5 in a markup block, for\nexample (from http://www.808.dk/?code-html-5-video):\n\n---------------------------------------------------------------------\n++++\n<video poster=\"pics/video/gizmo.jpg\" id=\"video\" style=\"cursor: pointer;\" >\n <source src=\"pics/video/gizmo.mp4\" />\n <source src=\"pics/video/gizmo.webm\" type=\"video/webm\" />\n <source src=\"pics/video/gizmo.ogv\" type=\"video/ogg\" />\n Video not playing? <a href=\"pics/video/gizmo.mp4\">Download file</a> instead.\n</video>\n\n<script type=\"text/javascript\">\n var video = document.getElementById('video');\n video.addEventListener('click',function(){\n video.play();\n },false);\n</script>\n++++\n---------------------------------------------------------------------\n\n\nTables\n------\nThe AsciiDoc table syntax looks and behaves like other delimited block\ntypes and supports standard <<X73,block configuration entries>>.\nFormatting is easy to read and, just as importantly, easy to enter.\n\n- Cells and columns can be formatted using built-in customizable styles.\n- Horizontal and vertical cell alignment can be set on columns and\n cell.\n- Horizontal and vertical cell spanning is supported.\n\n.Use tables sparingly\n*********************************************************************\nWhen technical users first start creating documents, tables (complete\nwith column spanning and table nesting) are often considered very\nimportant. The reality is that tables are seldom used, even in\ntechnical documentation.\n\nTry this exercise: thumb through your library of technical books,\nyou'll be surprised just how seldom tables are actually used, even\nless seldom are tables containing block elements (such as paragraphs\nor lists) or spanned cells. This is no accident, like figures, tables\nare outside the normal document flow -- tables are for consulting not\nfor reading.\n\nTables are designed for, and should normally only be used for,\ndisplaying column oriented tabular data.\n*********************************************************************\n\nExample tables\n~~~~~~~~~~~~~~\n\n.Simple table\n[width=\"15%\"]\n|=======\n|1 |2 |A\n|3 |4 |B\n|5 |6 |C\n|=======\n\n.AsciiDoc source\n---------------------------------------------------------------------\n[width=\"15%\"]\n|=======\n|1 |2 |A\n|3 |4 |B\n|5 |6 |C\n|=======\n---------------------------------------------------------------------\n\n.Columns formatted with strong, monospaced and emphasis styles\n[width=\"50%\",cols=\">s,^m,e\",frame=\"topbot\",options=\"header,footer\"]\n|==========================\n| 2+|Columns 2 and 3\n|1 |Item 1 |Item 1\n|2 |Item 2 |Item 2\n|3 |Item 3 |Item 3\n|4 |Item 4 |Item 4\n|footer 1|footer 2|footer 3\n|==========================\n\n.AsciiDoc source\n---------------------------------------------------------------------\n.An example table\n[width=\"50%\",cols=\">s,^m,e\",frame=\"topbot\",options=\"header,footer\"]\n|==========================\n| 2+|Columns 2 and 3\n|1 |Item 1 |Item 1\n|2 |Item 2 |Item 2\n|3 |Item 3 |Item 3\n|4 |Item 4 |Item 4\n|footer 1|footer 2|footer 3\n|==========================\n---------------------------------------------------------------------\n\n.Horizontal and vertical source data\n[width=\"80%\",cols=\"3,^2,^2,10\",options=\"header\"]\n|=========================================================\n|Date |Duration |Avg HR |Notes\n\n|22-Aug-08 |10:24 | 157 |\nWorked out MSHR (max sustainable heart rate) by going hard\nfor this interval.\n\n|22-Aug-08 |23:03 | 152 |\nBack-to-back with previous interval.\n\n|24-Aug-08 |40:00 | 145 |\nModerately hard interspersed with 3x 3min intervals (2min\nhard + 1min really hard taking the HR up to 160).\n\n|=========================================================\n\nShort cells can be entered horizontally, longer cells vertically. The\ndefault behavior is to strip leading and trailing blank lines within a\ncell. These characteristics aid readability and data entry.\n\n.AsciiDoc source\n---------------------------------------------------------------------\n.Windtrainer workouts\n[width=\"80%\",cols=\"3,^2,^2,10\",options=\"header\"]\n|=========================================================\n|Date |Duration |Avg HR |Notes\n\n|22-Aug-08 |10:24 | 157 |\nWorked out MSHR (max sustainable heart rate) by going hard\nfor this interval.\n\n|22-Aug-08 |23:03 | 152 |\nBack-to-back with previous interval.\n\n|24-Aug-08 |40:00 | 145 |\nModerately hard interspersed with 3x 3min intervals (2min\nhard + 1min really hard taking the HR up to 160).\n\n|=========================================================\n---------------------------------------------------------------------\n\n.A table with externally sourced CSV data\n[format=\"csv\",cols=\"^1,4*2\",options=\"header\"]\n|===================================================\nID,Customer Name,Contact Name,Customer Address,Phone\ninclude::customers.csv[]\n|===================================================\n\n.AsciiDoc source\n---------------------------------------------------------------------\n[format=\"csv\",cols=\"^1,4*2\",options=\"header\"]\n|===================================================\nID,Customer Name,Contact Name,Customer Address,Phone\n\\include::customers.csv[]\n|===================================================\n---------------------------------------------------------------------\n\n\n.Cell spans, alignments and styles\n[cols=\"e,m,^,>s\",width=\"25%\"]\n|============================\n|1 >s|2 |3 |4\n^|5 2.2+^.^|6 .3+<.>m|7\n^|8\n|9 2+>|10\n|============================\n\n.AsciiDoc source\n---------------------------------------------------------------------\n[cols=\"e,m,^,>s\",width=\"25%\"]\n|============================\n|1 >s|2 |3 |4\n^|5 2.2+^.^|6 .3+<.>m|7\n^|8\n|9 2+>|10\n|============================\n---------------------------------------------------------------------\n\n[[X68]]\nTable input data formats\n~~~~~~~~~~~~~~~~~~~~~~~~\nAsciiDoc table data can be 'psv', 'dsv' or 'csv' formatted. The\ndefault table format is 'psv'.\n\nAsciiDoc 'psv' ('Prefix Separated Values') and 'dsv' ('Delimiter\nSeparated Values') formats are cell oriented -- the table is treated\nas a sequence of cells -- there are no explicit row separators.\n\n- 'psv' prefixes each cell with a separator whereas 'dsv' delimits\n cells with a separator.\n- 'psv' and 'dsv' separators are Python regular expressions.\n- The default 'psv' separator contains <<X84, cell specifier>> related\n named regular expression groups.\n- The default 'dsv' separator is `:|\\n` (a colon or a new line\n character).\n- 'psv' and 'dsv' cell separators can be escaped by preceding them\n with a backslash character.\n\nHere are four 'psv' cells (the second item spans two columns; the\nlast contains an escaped separator):\n\n |One 2+|Two and three |A \\| separator character\n\n'csv' is the quasi-standard row oriented 'Comma Separated Values\n(CSV)' format commonly used to import and export spreadsheet and\ndatabase data.\n\n[[X69]]\nTable attributes\n~~~~~~~~~~~~~~~~\nTables can be customized by the following attributes:\n\nformat::\n'psv' (default), 'dsv' or 'csv' (See <<X68, Table Data Formats>>).\n\nseparator::\nThe cell separator. A Python regular expression ('psv' and 'dsv'\nformats) or a single character ('csv' format).\n\nframe::\nDefines the table border and can take the following values: 'topbot'\n(top and bottom), 'all' (all sides), 'none' and 'sides' (left and\nright sides). The default value is 'all'.\n\ngrid::\nDefines which ruler lines are drawn between table rows and columns.\nThe 'grid' attribute value can be any of the following values: 'none',\n'cols', 'rows' and 'all'. The default value is 'all'.\n\nalign::\nUse the 'align' attribute to horizontally align the table on the\npage (works with HTML outputs only, has no effect on DocBook outputs).\nThe following values are valid: 'left', 'right', and 'center'.\n\nfloat::\nUse the 'float' attribute to float the table 'left' or 'right' on the\npage (works with HTML outputs only, has no effect on DocBook outputs).\nFloating only makes sense in conjunction with a table 'width'\nattribute value of less than 100% (otherwise the table will take up\nall the available space). 'float' and 'align' attributes are mutually\nexclusive. Use the `unfloat::[]` block macro to stop floating.\n\nhalign::\nUse the 'halign' attribute to horizontally align all cells in a table.\nThe following values are valid: 'left', 'right', and 'center'\n(defaults to 'left'). Overridden by <<X70,Column specifiers>> and\n<<X84,Cell specifiers>>.\n\nvalign::\nUse the 'valign' attribute to vertically align all cells in a table.\nThe following values are valid: 'top', 'bottom', and 'middle'\n(defaults to 'top'). Overridden by <<X70,Column specifiers>> and\n<<X84,Cell specifiers>>.\n\noptions::\nThe 'options' attribute can contain comma separated values, for\nexample: 'header', 'footer'. By default header and footer rows are\nomitted. See <<X74,attribute options>> for a complete list of\navailable table options.\n\ncols::\nThe 'cols' attribute is a comma separated list of <<X70,column\nspecifiers>>. For example `cols=\"2<p,2*,4p,>\"`.\n\n- If 'cols' is present it must specify all columns.\n- If the 'cols' attribute is not specified the number of columns is\n calculated as the number of data items in the *first line* of the\n table.\n- The degenerate form for the 'cols' attribute is an integer\n specifying the number of columns e.g. `cols=4`.\n\nwidth::\nThe 'width' attribute is expressed as a percentage value\n('\"1%\"'...'\"99%\"'). The width specifies the table width relative to\nthe available width. HTML backends use this value to set the table\nwidth attribute. It's a bit more complicated with DocBook, see the\n<<X89,DocBook table widths>> sidebar.\n\nfilter::\nThe 'filter' attribute defines an external shell command that is\ninvoked for each cell. The built-in 'asciidoc' table style is\nimplemented using a filter.\n\n[[X89]]\n.DocBook table widths\n**********************************************************************\nThe AsciiDoc docbook backend generates CALS tables. CALS tables do not\nsupport a table width attribute -- table width can only be controlled\nby specifying absolute column widths.\n\nSpecifying absolute column widths is not media independent because\ndifferent presentation media have different physical dimensions. To\nget round this limitation both\nhttp://www.sagehill.net/docbookxsl/Tables.html#TableWidth[DocBook XSL\nStylesheets] and\nhttp://dblatex.sourceforge.net/doc/manual/ch03s05.html#sec-table-width[dblatex]\nhave implemented table width processing instructions for setting the\ntable width as a percentage of the available width. AsciiDoc emits\nthese processing instructions if the 'width' attribute is set along\nwith proportional column widths (the AsciiDoc docbook backend\n'pageunits' attribute defaults to '*').\n\nTo generate DocBook tables with absolute column widths set the\n'pageunits' attribute to a CALS absolute unit such as 'pt' and set the\n'pagewidth' attribute to match the width of the presentation media.\n**********************************************************************\n\n[[X70]]\nColumn Specifiers\n~~~~~~~~~~~~~~~~~\nColumn specifiers define how columns are rendered and appear in the\ntable <<X69,cols attribute>>. A column specifier consists of an\noptional column multiplier followed by optional alignment, width and\nstyle values and is formatted like:\n\n [<multiplier>*][<align>][<width>][<style>]\n\n- All components are optional. The multiplier must be first and the\n style last. The order of `<align>` or `<width>` is not important.\n- Column `<width>` can be either an integer proportional value (1...)\n or a percentage (1%...100%). The default value is 1. To ensure\n portability across different backends, there is no provision for\n absolute column widths (not to be confused with output column width\n <<X72,markup attributes>> which are available in both percentage and\n absolute units).\n- The '<align>' column alignment specifier is formatted like:\n\n [<horizontal>][.<vertical>]\n+\nWhere `<horizontal>` and `<vertical>` are one of the following\ncharacters: `<`, `^` or `>` which represent 'left', 'center' and\n'right' horizontal alignment or 'top', 'middle' and 'bottom' vertical\nalignment respectively.\n\n- A `<multiplier>` can be used to specify repeated columns e.g.\n `cols=\"4*<\"` specifies four left-justified columns. The default\n multiplier value is 1.\n- The `<style>` name specifies a <<X71,table style>> to used to markup\n column cells (you can use the full style names if you wish but the\n first letter is normally sufficient).\n- Column specific styles are not applied to header rows.\n\n[[X84]]\nCell Specifiers\n~~~~~~~~~~~~~~~\nCell specifiers allow individual cells in 'psv' formatted tables to be\nspanned, multiplied, aligned and styled. Cell specifiers prefix 'psv'\n`|` delimiters and are formatted like:\n\n [<span>*|+][<align>][<style>]\n\n- '<span>' specifies horizontal and vertical cell spans ('+' operator) or\n the number of times the cell is replicated ('*' operator). '<span>'\n is formatted like:\n\n [<colspan>][.<rowspan>]\n+\nWhere `<colspan>` and `<rowspan>` are integers specifying the number of\ncolumns and rows to span.\n\n- `<align>` specifies horizontal and vertical cell alignment an is the\n same as in <<X70,column specifiers>>.\n- A `<style>` value is the first letter of <<X71,table style>> name.\n\nFor example, the following 'psv' formatted cell will span two columns\nand the text will be centered and emphasized:\n\n `2+^e| Cell text`\n\n[[X71]]\nTable styles\n~~~~~~~~~~~~\nTable styles can be applied to the entire table (by setting the\n'style' attribute in the table's attribute list) or on a per column\nbasis (by specifying the style in the table's <<X69,cols attribute>>).\nTable data can be formatted using the following predefined styles:\n\ndefault::\nThe default style: AsciiDoc inline text formatting; blank lines are\ntreated as paragraph breaks.\n\nemphasis::\nLike default but all text is emphasised.\n\nmonospaced::\nLike default but all text is in a monospaced font.\n\nstrong::\nLike default but all text is bold.\n\nheader::\nApply the same style as the table header. Normally used to create a\nvertical header in the first column.\n\nasciidoc::\nWith this style table cells can contain any of the AsciiDoc elements\nthat are allowed inside document sections. This style runs asciidoc(1)\nas a filter to process cell contents. See also <<X83,Docbook table\nlimitations>>.\n\nliteral::\nNo text formatting; monospaced font; all line breaks are retained\n(the same as the AsciiDoc <<X65,LiteralBlock>> element).\n\nverse::\nAll line breaks are retained (just like the AsciiDoc <<X94,verse\nparagraph style>>).\n\n[[X72]]\nMarkup attributes\n~~~~~~~~~~~~~~~~~\nAsciiDoc makes a number of attributes available to table markup\ntemplates and tags. Column specific attributes are available when\nsubstituting the 'colspec' cell data tags.\n\npageunits::\nDocBook backend only. Specifies table column absolute width units.\nDefaults to '*'.\n\npagewidth::\nDocBook backend only. The nominal output page width in 'pageunit'\nunits. Used to calculate CALS tables absolute column and table\nwidths. Defaults to '425'.\n\ntableabswidth::\nInteger value calculated from 'width' and 'pagewidth' attributes.\nIn 'pageunit' units.\n\ntablepcwidth::\nTable width expressed as a percentage of the available width. Integer\nvalue (0..100).\n\ncolabswidth::\nInteger value calculated from 'cols' column width, 'width' and\n'pagewidth' attributes. In 'pageunit' units.\n\ncolpcwidth::\nColumn width expressed as a percentage of the table width. Integer\nvalue (0..100).\n\ncolcount::\nTotal number of table columns.\n\nrowcount::\nTotal number of table rows.\n\nhalign::\nHorizontal cell content alignment: 'left', 'right' or 'center'.\n\nvalign::\nVertical cell content alignment: 'top', 'bottom' or 'middle'.\n\ncolnumber, colstart::\nThe number of the leftmost column occupied by the cell (1...).\n\ncolend::\nThe number of the rightmost column occupied by the cell (1...).\n\ncolspan::\nNumber of columns the cell should span.\n\nrowspan::\nNumber of rows the cell should span (1...).\n\nmorerows::\nNumber of additional rows the cell should span (0...).\n\nNested tables\n~~~~~~~~~~~~~\nAn alternative 'psv' separator character '!' can be used (instead of\n'|') in nested tables. This allows a single level of table nesting.\nColumns containing nested tables must use the 'asciidoc' style. An\nexample can be found in `./examples/website/newtables.txt`.\n\n[[X83]]\nDocBook table limitations\n~~~~~~~~~~~~~~~~~~~~~~~~~\nFully implementing tables is not trivial, some DocBook toolchains do\nbetter than others. AsciiDoc HTML table outputs are rendered\ncorrectly in all the popular browsers -- if your DocBook generated\ntables don't look right compare them with the output generated by the\nAsciiDoc 'xhtml11' backend or try a different DocBook toolchain. Here\nis a list of things to be aware of:\n\n- Although nested tables are not legal in DocBook 4 the FOP and\n dblatex toolchains will process them correctly. If you use `a2x(1)`\n you will need to include the `--no-xmllint` option to suppress\n DocBook validation errors.\n+\nNOTE: In theory you can nest DocBook 4 tables one level using the\n'entrytbl' element, but not all toolchains process 'entrytbl'.\n\n- DocBook only allows a subset of block elements inside table cells so\n not all AsciiDoc elements produce valid DocBook inside table cells.\n If you get validation errors running `a2x(1)` try the `--no-xmllint`\n option, toolchains will often process nested block elements such as\n sidebar blocks and floating titles correctly even though, strictly\n speaking, they are not legal.\n\n- Text formatting in cells using the 'monospaced' table style will\n raise validation errors because the DocBook 'literal' element was\n not designed to support formatted text (using the 'literal' element\n is a kludge on the part of AsciiDoc as there is no easy way to set\n the font style in DocBook.\n\n- Cell alignments are ignored for 'verse', 'literal' or 'asciidoc'\n table styles.\n\n\n[[X1]]\nManpage Documents\n-----------------\nSooner or later, if you program in a UNIX environment, you're going\nto have to write a man page.\n\nBy observing a couple of additional conventions (detailed below) you\ncan write AsciiDoc files that will generate HTML and PDF man pages\nplus the native manpage roff format. The easiest way to generate roff\nmanpages from AsciiDoc source is to use the a2x(1) command. The\nfollowing example generates a roff formatted manpage file called\n`asciidoc.1` (a2x(1) uses asciidoc(1) to convert `asciidoc.1.txt` to\nDocBook which it then converts to roff using DocBook XSL Stylesheets):\n\n a2x --doctype manpage --format manpage asciidoc.1.txt\n\n.Viewing and printing manpage files\n**********************************************************************\nUse the `man(1)` command to view the manpage file:\n\n $ man -l asciidoc.1\n\nTo print a high quality man page to a postscript printer:\n\n $ man -l -Tps asciidoc.1 | lpr\n\nYou could also create a PDF version of the man page by converting\nPostScript to PDF using `ps2pdf(1)`:\n\n $ man -l -Tps asciidoc.1 | ps2pdf - asciidoc.1.pdf\n\nThe `ps2pdf(1)` command is included in the Ghostscript distribution.\n**********************************************************************\n\nTo find out more about man pages view the `man(7)` manpage\n(`man 7 man` and `man man-pages` commands).\n\n\nDocument Header\n~~~~~~~~~~~~~~~\nA manpage document Header is mandatory. The title line contains the\nman page name followed immediately by the manual section number in\nbrackets, for example 'ASCIIDOC(1)'. The title name should not contain\nwhite space and the manual section number is a single digit optionally\nfollowed by a single character.\n\nThe NAME Section\n~~~~~~~~~~~~~~~~\nThe first manpage section is mandatory, must be titled 'NAME' and must\ncontain a single paragraph (usually a single line) consisting of a\nlist of one or more comma separated command name(s) separated from the\ncommand purpose by a dash character. The dash must have at least one\nwhite space character on either side. For example:\n\n printf, fprintf, sprintf - print formatted output\n\nThe SYNOPSIS Section\n~~~~~~~~~~~~~~~~~~~~\nThe second manpage section is mandatory and must be titled 'SYNOPSIS'.\n\nrefmiscinfo attributes\n~~~~~~~~~~~~~~~~~~~~~~\nIn addition to the automatically created man page <<X60,intrinsic\nattributes>> you can assign DocBook\nhttp://www.docbook.org/tdg5/en/html/refmiscinfo.html[refmiscinfo]\nelement 'source', 'version' and 'manual' values using AsciiDoc\n`{mansource}`, `{manversion}` and `{manmanual}` attributes\nrespectively. This example is from the AsciiDoc header of a man page\nsource file:\n\n :man source: AsciiDoc\n :man version: {revnumber}\n :man manual: AsciiDoc Manual\n\n\n[[X78]]\nMathematical Formulas\n---------------------\nThe 'asciimath' and 'latexmath' <<X77,passthrough macros>> along with\n'asciimath' and 'latexmath' <<X76,passthrough blocks>> provide a\n(backend dependent) mechanism for rendering mathematical formulas. You\ncan use the following math markups:\n\nNOTE: The 'latexmath' macro used to include 'LaTeX Math' in DocBook\noutputs is not the same as the 'latexmath' macro used to include\n'LaTeX MathML' in XHTML outputs. 'LaTeX Math' applies to DocBook\noutputs that are processed by <<X31,dblatex>> and is normally used to\ngenerate PDF files. 'LaTeXMathML' is very much a subset of 'LaTeX\nMath' and applies to XHTML documents.\n\nLaTeX Math\n~~~~~~~~~~\nftp://ftp.ams.org/pub/tex/doc/amsmath/short-math-guide.pdf[LaTeX\nmath] can be included in documents that are processed by\n<<X31,dblatex(1)>>. Example inline formula:\n\n latexmath:[$C = \\alpha + \\beta Y^{\\gamma} + \\epsilon$]\n\nFor more examples see the {website}[AsciiDoc website] or the\ndistributed `doc/latexmath.txt` file.\n\nASCIIMathML\n~~~~~~~~~~~\n/////////////////////////////////////////////////////////////////////\nThe older ASCIIMathML 1.47 version is used instead of version 2\nbecause:\n\n1. Version 2 doesn't work when embedded.\n2. Version 2 is much larger.\n/////////////////////////////////////////////////////////////////////\n\nhttp://www1.chapman.edu/~jipsen/mathml/asciimath.html[ASCIIMathML]\nformulas can be included in XHTML documents generated using the\n'xhtml11' and 'html5' backends. To enable ASCIIMathML support you must\ndefine the 'asciimath' attribute, for example using the `-a asciimath`\ncommand-line option. Example inline formula:\n\n asciimath:[`x/x={(1,if x!=0),(text{undefined},if x=0):}`]\n\nFor more examples see the {website}[AsciiDoc website] or the\ndistributed `doc/asciimathml.txt` file.\n\nLaTeXMathML\n~~~~~~~~~~~\n/////////////////////////////////////////////////////////////////////\nThere is an http://math.etsu.edu/LaTeXMathML/[extended LaTeXMathML\nversion] by Jeff Knisley, in addition to a JavaScript file it requires\nthe inclusion of a CSS file.\n/////////////////////////////////////////////////////////////////////\n\n'LaTeXMathML' allows LaTeX Math style formulas to be included in XHTML\ndocuments generated using the AsciiDoc 'xhtml11' and 'html5' backends.\nAsciiDoc uses the\nhttp://www.maths.nottingham.ac.uk/personal/drw/lm.html[original\nLaTeXMathML] by Douglas Woodall. 'LaTeXMathML' is derived from\nASCIIMathML and is for users who are more familiar with or prefer\nusing LaTeX math formulas (it recognizes a subset of LaTeX Math, the\ndifferences are documented on the 'LaTeXMathML' web page). To enable\nLaTeXMathML support you must define the 'latexmath' attribute, for\nexample using the `-a latexmath` command-line option. Example inline\nformula:\n\n latexmath:[$\\sum_{n=1}^\\infty \\frac{1}{2^n}$]\n\nFor more examples see the {website}[AsciiDoc website] or the\ndistributed `doc/latexmathml.txt` file.\n\nMathML\n~~~~~~\nhttp://www.w3.org/Math/[MathML] is a low level XML markup for\nmathematics. AsciiDoc has no macros for MathML but users familiar with\nthis markup could use passthrough macros and passthrough blocks to\ninclude MathML in output documents.\n\n\n[[X7]]\nConfiguration Files\n-------------------\nAsciiDoc source file syntax and output file markup is largely\ncontrolled by a set of cascading, text based, configuration files. At\nruntime The AsciiDoc default configuration files are combined with\noptional user and document specific configuration files.\n\nConfiguration File Format\n~~~~~~~~~~~~~~~~~~~~~~~~~\nConfiguration files contain named sections. Each section begins with a\nsection name in square brackets []. The section body consists of the\nlines of text between adjacent section headings.\n\n- Section names consist of one or more alphanumeric, underscore or\n dash characters and cannot begin or end with a dash.\n- Lines starting with a '#' character are treated as comments and\n ignored.\n- If the section name is prefixed with a '+' character then the\n section contents is appended to the contents of an already existing\n same-named section.\n- Otherwise same-named sections and section entries override\n previously loaded sections and section entries (this is sometimes\n referred to as 'cascading'). Consequently, downstream configuration\n files need only contain those sections and section entries that need\n to be overridden.\n\nTIP: When creating custom configuration files you only need to include\nthe sections and entries that differ from the default configuration.\n\nTIP: The best way to learn about configuration files is to read the\ndefault configuration files in the AsciiDoc distribution in\nconjunction with asciidoc(1) output files. You can view configuration\nfile load sequence by turning on the asciidoc(1) `-v` (`--verbose`)\ncommand-line option.\n\nAsciiDoc reserves the following section names for specific purposes:\n\nmiscellaneous::\n Configuration options that don't belong anywhere else.\nattributes::\n Attribute name/value entries.\nspecialcharacters::\n Special characters reserved by the backend markup.\ntags::\n Backend markup tags.\nquotes::\n Definitions for quoted inline character formatting.\nspecialwords::\n Lists of words and phrases singled out for special markup.\nreplacements, replacements2, replacements3::\n Find and replace substitution definitions.\nspecialsections::\n Used to single out special section names for specific markup.\nmacros::\n Macro syntax definitions.\ntitles::\n Heading, section and block title definitions.\nparadef-*::\n Paragraph element definitions.\nblockdef-*::\n DelimitedBlock element definitions.\nlistdef-*::\n List element definitions.\nlisttags-*::\n List element tag definitions.\ntabledef-*::\n Table element definitions.\ntabletags-*::\n Table element tag definitions.\n\nEach line of text in these sections is a 'section entry'. Section\nentries share the following syntax:\n\nname=value::\n The entry value is set to value.\nname=::\n The entry value is set to a zero length string.\nname!::\n The entry is undefined (deleted from the configuration). This\n syntax only applies to 'attributes' and 'miscellaneous'\n sections.\n\n.Section entry behavior\n- All equals characters inside the `name` must be escaped with a\n backslash character.\n- `name` and `value` are stripped of leading and trailing white space.\n- Attribute names, tag entry names and markup template section names\n consist of one or more alphanumeric, underscore or dash characters.\n Names should not begin or end with a dash.\n- A blank configuration file section (one without any entries) deletes\n any preceding section with the same name (applies to non-markup\n template sections).\n\n\nMiscellaneous section\n~~~~~~~~~~~~~~~~~~~~~\nThe optional `[miscellaneous]` section specifies the following\n`name=value` options:\n\nnewline::\n Output file line termination characters. Can include any\n valid Python string escape sequences. The default value is\n `\\r\\n` (carriage return, line feed). Should not be quoted or\n contain explicit spaces (use `\\x20` instead). For example:\n\n $ asciidoc -a 'newline=\\n' -b docbook mydoc.txt\n\noutfilesuffix::\n The default extension for the output file, for example\n `outfilesuffix=.html`. Defaults to backend name.\ntabsize::\n The number of spaces to expand tab characters, for example\n `tabsize=4`. Defaults to 8. A 'tabsize' of zero suppresses tab\n expansion (useful when piping included files through block\n filters). Included files can override this option using the\n 'tabsize' attribute.\npagewidth, pageunits::\n These global table related options are documented in the\n <<X4,Table Configuration File Definitions>> sub-section.\n\nNOTE: `[miscellaneous]` configuration file entries can be set using\nthe asciidoc(1) `-a` (`--attribute`) command-line option.\n\nTitles section\n~~~~~~~~~~~~~~\nsectiontitle::\n Two line section title pattern. The entry value is a Python\n regular expression containing the named group 'title'.\n\nunderlines::\n A comma separated list of document and section title underline\n character pairs starting with the section level 0 and ending\n with section level 4 underline. The default setting is:\n\n underlines=\"==\",\"--\",\"~~\",\"^^\",\"++\"\n\nsect0...sect4::\n One line section title patterns. The entry value is a Python\n regular expression containing the named group 'title'.\n\nblocktitle::\n <<X42,BlockTitle element>> pattern. The entry value is a\n Python regular expression containing the named group 'title'.\n\nsubs::\n A comma separated list of substitutions that are performed on\n the document header and section titles. Defaults to 'normal'\n substitution.\n\nTags section\n~~~~~~~~~~~~\nThe `[tags]` section contains backend tag definitions (one per\nline). Tags are used to translate AsciiDoc elements to backend\nmarkup.\n\nAn AsciiDoc tag definition is formatted like\n`<tagname>=<starttag>|<endtag>`. For example:\n\n emphasis=<em>|</em>\n\nIn this example asciidoc(1) replaces the | character with the\nemphasized text from the AsciiDoc input file and writes the result to\nthe output file.\n\nUse the `{brvbar}` attribute reference if you need to include a | pipe\ncharacter inside tag text.\n\nAttributes section\n~~~~~~~~~~~~~~~~~~\nThe optional `[attributes]` section contains predefined attributes.\n\nIf the attribute value requires leading or trailing spaces then the\ntext text should be enclosed in quotation mark (\") characters.\n\nTo delete a attribute insert a `name!` entry in a downstream\nconfiguration file or use the asciidoc(1) `--attribute name!`\ncommand-line option (an attribute name suffixed with a `!` character\ndeletes the attribute)\n\nSpecial Characters section\n~~~~~~~~~~~~~~~~~~~~~~~~~~\nThe `[specialcharacters]` section specifies how to escape characters\nreserved by the backend markup. Each translation is specified on a\nsingle line formatted like:\n\n <special_character>=<translated_characters>\n\nSpecial characters are normally confined to those that resolve\nmarkup ambiguity (in the case of HTML and XML markups the ampersand,\nless than and greater than characters). The following example causes\nall occurrences of the `<` character to be replaced by `<`.\n\n <=<\n\nQuoted Text section\n~~~~~~~~~~~~~~~~~~~\nQuoting is used primarily for text formatting. The `[quotes]` section\ndefines AsciiDoc quoting characters and their corresponding backend\nmarkup tags. Each section entry value is the name of a of a `[tags]`\nsection entry. The entry name is the character (or characters) that\nquote the text. The following examples are taken from AsciiDoc\nconfiguration files:\n\n [quotes]\n _=emphasis\n\n [tags]\n emphasis=<em>|</em>\n\nYou can specify the left and right quote strings separately by\nseparating them with a | character, for example:\n\n ``|''=quoted\n\nOmitting the tag will disable quoting, for example, if you don't want\nsuperscripts or subscripts put the following in a custom configuration\nfile or edit the global `asciidoc.conf` configuration file:\n\n [quotes]\n ^=\n ~=\n\n<<X52,Unconstrained quotes>> are differentiated from constrained\nquotes by prefixing the tag name with a hash character, for example:\n\n __=#emphasis\n\n.Quoted text behavior\n- Quote characters must be non-alphanumeric.\n- To minimize quoting ambiguity try not to use the same quote\n characters in different quote types.\n\nSpecial Words section\n~~~~~~~~~~~~~~~~~~~~~\nThe `[specialwords]` section is used to single out words and phrases\nthat you want to consistently format in some way throughout your\ndocument without having to repeatedly specify the markup. The name of\neach entry corresponds to a markup template section and the entry\nvalue consists of a list of words and phrases to be marked up. For\nexample:\n\n [specialwords]\n strongwords=NOTE IMPORTANT\n\n [strongwords]\n <strong>{words}</strong>\n\nThe examples specifies that any occurrence of `NOTE` or `IMPORTANT`\nshould appear in a bold font.\n\nWords and word phrases are treated as Python regular expressions: for\nexample, the word `^NOTE` would only match `NOTE` if appeared at\nthe start of a line.\n\nAsciiDoc comes with three built-in Special Word types:\n'emphasizedwords', 'monospacedwords' and 'strongwords', each has a\ncorresponding (backend specific) markup template section. Edit the\nconfiguration files to customize existing Special Words and to add new\nones.\n\n.Special word behavior\n- Word list entries must be separated by space characters.\n- Word list entries with embedded spaces should be enclosed in quotation (\")\n characters.\n- A `[specialwords]` section entry of the form\n +name=word1{nbsp}[word2...]+ adds words to existing `name` entries.\n- A `[specialwords]` section entry of the form `name` undefines\n (deletes) all existing `name` words.\n- Since word list entries are processed as Python regular expressions\n you need to be careful to escape regular expression special\n characters.\n- By default Special Words are substituted before Inline Macros, this\n may lead to undesirable consequences. For example the special word\n `foobar` would be expanded inside the macro call\n `http://www.foobar.com[]`. A possible solution is to emphasize\n whole words only by defining the word using regular expression\n characters, for example `\\bfoobar\\b`.\n- If the first matched character of a special word is a backslash then\n the remaining characters are output without markup i.e. the\n backslash can be used to escape special word markup. For example\n the special word `\\\\?\\b[Tt]en\\b` will mark up the words `Ten` and\n `ten` only if they are not preceded by a backslash.\n\n[[X10]]\nReplacements section\n~~~~~~~~~~~~~~~~~~~~\n`[replacements]`, `[replacements2]` and `[replacements3]`\nconfiguration file entries specify find and replace text and are\nformatted like:\n\n <find_pattern>=<replacement_text>\n\nThe find text can be a Python regular expression; the replace text can\ncontain Python regular expression group references.\n\nUse Replacement shortcuts for often used macro references, for\nexample (the second replacement allows us to backslash escape the\nmacro name):\n\n NEW!=image:./images/smallnew.png[New!]\n \\\\NEW!=NEW!\n\nThe only difference between the three replacement types is how they\nare applied. By default 'replacements' and 'replacement2' are applied\nin <<X102,normal>> substitution contexts whereas 'replacements3' needs\nto be configured explicitly and should only be used in backend\nconfiguration files.\n\n.Replacement behavior\n- The built-in replacements can be escaped with a backslash.\n- If the find or replace text has leading or trailing spaces then the\n text should be enclosed in quotation (\") characters.\n- Since the find text is processed as a regular expression you need to\n be careful to escape regular expression special characters.\n- Replacements are performed in the same order they appear in the\n configuration file replacements section.\n\nMarkup Template Sections\n~~~~~~~~~~~~~~~~~~~~~~~~\nMarkup template sections supply backend markup for translating\nAsciiDoc elements. Since the text is normally backend dependent\nyou'll find these sections in the backend specific configuration\nfiles. Template sections differ from other sections in that they\ncontain a single block of text instead of per line 'name=value'\nentries. A markup template section body can contain:\n\n- Attribute references\n- System macro calls.\n- A document content placeholder\n\nThe document content placeholder is a single | character and is\nreplaced by text from the source element. Use the `{brvbar}`\nattribute reference if you need a literal | character in the template.\n\n[[X27]]\nConfiguration file names, precedence and locations\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nConfiguration files have a `.conf` file name extension; they are\nloaded from the following locations:\n\n1. The directory containing the asciidoc executable.\n2. If there is no `asciidoc.conf` file in the directory containing the\n asciidoc executable then load from the global configuration\n directory (normally `/etc/asciidoc` or `/usr/local/etc/asciidoc`)\n i.e. the global configuration files directory is skipped if\n AsciiDoc configuration files are installed in the same directory as\n the asciidoc executable. This allows both a system wide copy and\n multiple local copies of AsciiDoc to coexist on the same host PC.\n3. The user's `$HOME/.asciidoc` directory (if it exists).\n4. The directory containing the AsciiDoc source file.\n5. Explicit configuration files specified using:\n - The `conf-files` attribute (one or more file names separated by a\n `|` character). These files are loaded in the order they are\n specified and prior to files specified using the `--conf-file`\n command-line option.\n - The asciidoc(1) `--conf-file`) command-line option. The\n `--conf-file` option can be specified multiple times, in which\n case configuration files will be processed in the same order they\n appear on the command-line.\n6. <<X100,Backend plugin>> configuration files are loaded from\n subdirectories named like `backends/<backend>` in locations 1, 2\n and 3.\n7. <<X59,Filter>> configuration files are loaded from subdirectories\n named like `filters/<filter>` in locations 1, 2 and 3.\n\nConfiguration files from the above locations are loaded in the\nfollowing order:\n\n- The `[attributes]` section only from:\n * `asciidoc.conf` in location 3\n * Files from location 5.\n+\nThis first pass makes locally set attributes available in the global\n`asciidoc.conf` file.\n\n- `asciidoc.conf` from locations 1, 2, 3.\n- 'attributes', 'titles' and 'specialcharacters' sections from the\n `asciidoc.conf` in location 4.\n- The document header is parsed at this point and we can assume the\n 'backend' and 'doctype' have now been defined.\n- Backend plugin `<backend>.conf` and `<backend>-<doctype>.conf` files\n from locations 6. If a backend plugin is not found then try\n locations 1, 2 and 3 for `<backend>.conf` and\n `<backend>-<doctype>.conf` backend configuration files.\n- Filter conf files from locations 7.\n- `lang-<lang>.conf` from locations 1, 2, 3.\n- `asciidoc.conf` from location 4.\n- `<backend>.conf` and `<backend>-<doctype>.conf` from location 4.\n- Filter conf files from location 4.\n- `<docfile>.conf` and `<docfile>-<backend>.conf` from location 4.\n- Configuration files from location 5.\n\nWhere:\n\n- `<backend>` and `<doctype>` are values specified by the asciidoc(1)\n `-b` (`--backend`) and `-d` (`--doctype`) command-line options.\n- `<infile>` is the path name of the AsciiDoc input file without the\n file name extension.\n- `<lang>` is a two letter country code set by the the AsciiDoc 'lang'\n attribute.\n\n[NOTE]\n=====================================================================\nThe backend and language global configuration files are loaded *after*\nthe header has been parsed. This means that you can set most\nattributes in the document header. Here's an example header:\n\n Life's Mysteries\n ================\n :author: Hu Nose\n :doctype: book\n :toc:\n :icons:\n :data-uri:\n :lang: en\n :encoding: iso-8859-1\n\nAttributes set in the document header take precedence over\nconfiguration file attributes.\n\n=====================================================================\n\nTIP: Use the asciidoc(1) `-v` (`--verbose`) command-line option to see\nwhich configuration files are loaded and the order in which they are\nloaded.\n\n\nDocument Attributes\n-------------------\nA document attribute is comprised of a 'name' and a textual 'value'\nand is used for textual substitution in AsciiDoc documents and\nconfiguration files. An attribute reference (an attribute name\nenclosed in braces) is replaced by the corresponding attribute\nvalue. Attribute names are case insensitive and can only contain\nalphanumeric, dash and underscore characters.\n\nThere are four sources of document attributes (from highest to lowest\nprecedence):\n\n- Command-line attributes.\n- AttributeEntry, AttributeList, Macro and BlockId elements.\n- Configuration file `[attributes]` sections.\n- Intrinsic attributes.\n\nWithin each of these divisions the last processed entry takes\nprecedence.\n\nNOTE: If an attribute is not defined then the line containing the\nattribute reference is dropped. This property is used extensively in\nAsciiDoc configuration files to facilitate conditional markup\ngeneration.\n\n\n[[X18]]\nAttribute Entries\n-----------------\nThe `AttributeEntry` block element allows document attributes to be\nassigned within an AsciiDoc document. Attribute entries are added to\nthe global document attributes dictionary. The attribute name/value\nsyntax is a single line like:\n\n :<name>: <value>\n\nFor example:\n\n :Author Initials: JB\n\nThis will set an attribute reference `{authorinitials}` to the value\n'JB' in the current document.\n\nTo delete (undefine) an attribute use the following syntax:\n\n :<name>!:\n\n.AttributeEntry behavior\n- The attribute entry line begins with colon -- no white space allowed\n in left margin.\n- AsciiDoc converts the `<name>` to a legal attribute name (lower\n case, alphanumeric, dash and underscore characters only -- all other\n characters deleted). This allows more human friendly text to be\n used.\n- Leading and trailing white space is stripped from the `<value>`.\n- Lines ending in a space followed by a plus character are continued\n to the next line, for example:\n\n :description: AsciiDoc is a text document format for writing notes, +\n documentation, articles, books, slideshows, web pages +\n and man pages.\n\n- If the `<value>` is blank then the corresponding attribute value is\n set to an empty string.\n- Attribute references contained in the entry `<value>` will be\n expanded.\n- By default AttributeEntry values are substituted for\n `specialcharacters` and `attributes` (see above), if you want to\n change or disable AttributeEntry substitution use the <<X77,pass:[]\n inline macro>> syntax.\n- Attribute entries in the document Header are available for header\n markup template substitution.\n- Attribute elements override configuration file and intrinsic\n attributes but do not override command-line attributes.\n\nHere are some more attribute entry examples:\n\n---------------------------------------------------------------------\nAsciiDoc User Manual\n====================\n:author: Stuart Rackham\n:email: srackham@gmail.com\n:revdate: April 23, 2004\n:revnumber: 5.1.1\n---------------------------------------------------------------------\n\nWhich creates these attributes:\n\n {author}, {firstname}, {lastname}, {authorinitials}, {email},\n {revdate}, {revnumber}\n\nThe previous example is equivalent to this <<X95,document header>>:\n\n---------------------------------------------------------------------\nAsciiDoc User Manual\n====================\nStuart Rackham <srackham@gmail.com>\n5.1.1, April 23, 2004\n---------------------------------------------------------------------\n\nSetting configuration entries\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nA variant of the Attribute Entry syntax allows configuration file\nsection entries and markup template sections to be set from within an\nAsciiDoc document:\n\n :<section_name>.[<entry_name>]: <entry_value>\n\nWhere `<section_name>` is the configuration section name,\n`<entry_name>` is the name of the entry and `<entry_value>` is the\noptional entry value. This example sets the default labeled list\nstyle to 'horizontal':\n\n :listdef-labeled.style: horizontal\n\nIt is exactly equivalent to a configuration file containing:\n\n [listdef-labeled]\n style=horizontal\n\n- If the `<entry_name>` is omitted then the entire section is\n substituted with the `<entry_value>`. This feature should only be\n used to set markup template sections. The following example sets the\n 'xref2' inline macro markup template:\n\n :xref2-inlinemacro.: <a href=\"#{1}\">{2?{2}}</a>\n\n- No substitution is performed on configuration file attribute entries\n and they cannot be undefined.\n- This feature can only be used in attribute entries -- configuration\n attributes cannot be set using the asciidoc(1) command `--attribute`\n option.\n\n[[X62]]\n.Attribute entries promote clarity and eliminate repetition\n*********************************************************************\nURLs and file names in AsciiDoc macros are often quite long -- they\nbreak paragraph flow and readability suffers. The problem is\ncompounded by redundancy if the same name is used repeatedly.\nAttribute entries can be used to make your documents easier to read\nand write, here are some examples:\n\n :1: http://freshmeat.net/projects/asciidoc/\n :homepage: http://methods.co.nz/asciidoc/[AsciiDoc home page]\n :new: image:./images/smallnew.png[]\n :footnote1: footnote:[A meaningless latin term]\n\n Using previously defined attributes: See the {1}[Freshmeat summary]\n or the {homepage} for something new {new}. Lorem ispum {footnote1}.\n\n.Note\n- The attribute entry definition must precede it's usage.\n- You are not limited to URLs or file names, entire macro calls or\n arbitrary lines of text can be abbreviated.\n- Shared attributes entries could be grouped into a separate file and\n <<X63,included>> in multiple documents.\n*********************************************************************\n\n\n[[X21]]\nAttribute Lists\n---------------\n- An attribute list is a comma separated list of attribute values.\n- The entire list is enclosed in square brackets.\n- Attribute lists are used to pass parameters to macros, blocks (using\n the <<X79,AttributeList element>>) and inline quotes.\n\nThe list consists of zero or more positional attribute values followed\nby zero or more named attribute values. Here are three examples: a\nsingle unquoted positional attribute; three unquoted positional\nattribute values; one positional attribute followed by two named\nattributes; the unquoted attribute value in the final example contains\ncomma (`,`) and double-quote (`"`) character entities:\n\n [Hello]\n [quote, Bertrand Russell, The World of Mathematics (1956)]\n [\"22 times\", backcolor=\"#0e0e0e\", options=\"noborders,wide\"]\n [A footnote, "with an image" image:smallnew.png[]]\n\n.Attribute list behavior\n- If one or more attribute values contains a comma the all string\n values must be quoted (enclosed in double quotation mark\n characters).\n- If the list contains any named or quoted attributes then all string\n attribute values must be quoted.\n- To include a double quotation mark (\") character in a quoted\n attribute value the the quotation mark must be escaped with a\n backslash.\n- List attributes take precedence over existing attributes.\n- List attributes can only be referenced in configuration file markup\n templates and tags, they are not available elsewhere in the\n document.\n- Setting a named attribute to `None` undefines the attribute.\n- Positional attributes are referred to as `{1}`,`{2}`,`{3}`,...\n- Attribute `{0}` refers to the entire list (excluding the enclosing\n square brackets).\n- Named attribute names cannot contain dash characters.\n\n[[X75]]\nOptions attribute\n~~~~~~~~~~~~~~~~~\nIf the attribute list contains an attribute named `options` it is\nprocessed as a comma separated list of option names:\n\n- Each name generates an attribute named like `<option>-option` (where\n `<option>` is the option name) with an empty string value. For\n example `[options=\"opt1,opt2,opt3\"]` is equivalent to setting the\n following three attributes\n `[opt1-option=\"\",opt2-option=\"\",opt2-option=\"\"]`.\n- If you define a an option attribute globally (for example with an\n <<X18,attribute entry>>) then it will apply to all elements in the\n document.\n- AsciiDoc implements a number of predefined options which are listed\n in the <<X74,Attribute Options appendix>>.\n\nMacro Attribute lists\n~~~~~~~~~~~~~~~~~~~~~\nMacros calls are suffixed with an attribute list. The list may be\nempty but it cannot be omitted. List entries are used to pass\nattribute values to macro markup templates.\n\n\nAttribute References\n--------------------\nAn attribute reference is an attribute name (possibly followed by an\nadditional parameters) enclosed in curly braces. When an attribute\nreference is encountered it is evaluated and replaced by its\ncorresponding text value. If the attribute is undefined the line\ncontaining the attribute is dropped.\n\nThere are three types of attribute reference: 'Simple', 'Conditional'\nand 'System'.\n\n.Attribute reference evaluation\n- You can suppress attribute reference expansion by placing a\n backslash character immediately in front of the opening brace\n character.\n- By default attribute references are not expanded in\n 'LiteralParagraphs', 'ListingBlocks' or 'LiteralBlocks'.\n- Attribute substitution proceeds line by line in reverse line order.\n- Attribute reference evaluation is performed in the following order:\n 'Simple' then 'Conditional' and finally 'System'.\n\nSimple Attributes References\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nSimple attribute references take the form `{<name>}`. If the\nattribute name is defined its text value is substituted otherwise the\nline containing the reference is dropped from the output.\n\nConditional Attribute References\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nAdditional parameters are used in conjunction with attribute names to\ncalculate a substitution value. Conditional attribute references take\nthe following forms:\n\n`{<names>=<value>}`::\n `<value>` is substituted if the attribute `<names>` is\n undefined otherwise its value is substituted. `<value>` can\n contain simple attribute references.\n\n`{<names>?<value>}`::\n `<value>` is substituted if the attribute `<names>` is defined\n otherwise an empty string is substituted. `<value>` can\n contain simple attribute references.\n\n`{<names>!<value>}`::\n `<value>` is substituted if the attribute `<names>` is\n undefined otherwise an empty string is substituted. `<value>`\n can contain simple attribute references.\n\n`{<names>#<value>}`::\n `<value>` is substituted if the attribute `<names>` is defined\n otherwise the undefined attribute entry causes the containing\n line to be dropped. `<value>` can contain simple attribute\n references.\n\n`{<names>%<value>}`::\n `<value>` is substituted if the attribute `<names>` is not\n defined otherwise the containing line is dropped. `<value>`\n can contain simple attribute references.\n\n`{<names>@<regexp>:<value1>[:<value2>]}`::\n `<value1>` is substituted if the value of attribute `<names>`\n matches the regular expression `<regexp>` otherwise `<value2>`\n is substituted. If attribute `<names>` is not defined the\n containing line is dropped. If `<value2>` is omitted an empty\n string is assumed. The values and the regular expression can\n contain simple attribute references. To embed colons in the\n values or the regular expression escape them with backslashes.\n\n`{<names>$<regexp>:<value1>[:<value2>]}`::\n Same behavior as the previous ternary attribute except for\n the following cases:\n\n `{<names>$<regexp>:<value>}`;;\n Substitutes `<value>` if `<names>` matches `<regexp>`\n otherwise the result is undefined and the containing\n line is dropped.\n\n `{<names>$<regexp>::<value>}`;;\n Substitutes `<value>` if `<names>` does not match\n `<regexp>` otherwise the result is undefined and the\n containing line is dropped.\n\nThe attribute `<names>` parameter normally consists of a single\nattribute name but it can be any one of the following:\n\n- A single attribute name which evaluates to the attributes value.\n- Multiple ',' separated attribute names which evaluates to an empty\n string if one or more of the attributes is defined, otherwise it's\n value is undefined.\n- Multiple '+' separated attribute names which evaluates to an empty\n string if all of the attributes are defined, otherwise it's value is\n undefined.\n\nConditional attributes with single attribute names are evaluated first\nso they can be used inside the multi-attribute conditional `<value>`.\n\nConditional attribute examples\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nConditional attributes are mainly used in AsciiDoc configuration\nfiles -- see the distribution `.conf` files for examples.\n\nAttribute equality test::\n If `{backend}` is 'docbook45' or 'xhtml11' the example evaluates to\n ``DocBook 4.5 or XHTML 1.1 backend'' otherwise it evaluates to\n ``some other backend'':\n\n {backend@docbook45|xhtml11:DocBook 4.5 or XHTML 1.1 backend:some other backend}\n\nAttribute value map::\n This example maps the `frame` attribute values [`topbot`, `all`,\n `none`, `sides`] to [`hsides`, `border`, `void`, `vsides`]:\n\n {frame@topbot:hsides}{frame@all:border}{frame@none:void}{frame@sides:vsides}\n\n\n[[X24]]\nSystem Attribute References\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\nSystem attribute references generate the attribute text value by\nexecuting a predefined action that is parametrized by one or more\narguments. The syntax is `{<action>:<arguments>}`.\n\n`{counter:<attrname>[:<seed>]}`::\n Increments the document attribute (if the attribute is\n undefined it is set to `1`). Returns the new attribute value.\n\n - Counters generate global (document wide) attributes.\n - The optional `<seed>` specifies the counter's initial value;\n it can be a number or a single letter; defaults to '1'.\n - `<seed>` can contain simple and conditional attribute\n references.\n - The 'counter' system attribute will not be executed if the\n containing line is dropped by the prior evaluation of an\n undefined attribute.\n\n`{counter2:<attrname>[:<seed>]}`::\n Same as `counter` except the it always returns a blank string.\n\n`{eval:<expression>}`::\n Substitutes the result of the Python `<expression>`.\n\n - If `<expression>` evaluates to `None` or `False` the\n reference is deemed undefined and the line containing the\n reference is dropped from the output.\n - If the expression evaluates to `True` the attribute\n evaluates to an empty string.\n - `<expression>` can contain simple and conditional attribute\n references.\n - The 'eval' system attribute can be nested inside other\n system attributes.\n\n`{eval3:<command>}`::\n Passthrough version of `{eval:<expression>}` -- the generated\n output is written directly to the output without any further\n substitutions.\n\n`{include:<filename>}`::\n Substitutes contents of the file named `<filename>`.\n\n - The included file is read at the time of attribute\n substitution.\n - If the file does not exist a warning is emitted and the line\n containing the reference is dropped from the output file.\n - Tabs are expanded based on the current 'tabsize' attribute\n value.\n\n`{set:<attrname>[!][:<value>]}`::\n Sets or unsets document attribute. Normally only used in\n configuration file markup templates (use\n <<X18,AttributeEntries>> in AsciiDoc documents).\n\n - If the attribute name is followed by an exclamation mark\n the attribute becomes undefined.\n - If `<value>` is omitted the attribute is set to a blank\n string.\n - `<value>` can contain simple and conditional attribute\n references.\n - Returns a blank string unless the attribute is undefined in\n which case the return value is undefined and the enclosing\n line will be dropped.\n\n`{set2:<attrname>[!][:<value>]}`::\n Same as `set` except that the attribute scope is local to the\n template.\n\n`{sys:<command>}`::\n Substitutes the stdout generated by the execution of the shell\n `<command>`.\n\n`{sys2:<command>}`::\n Substitutes the stdout and stderr generated by the execution\n of the shell `<command>`.\n\n`{sys3:<command>}`::\n Passthrough version of `{sys:<command>}` -- the generated\n output is written directly to the output without any further\n substitutions.\n\n`{template:<template>}`::\n Substitutes the contents of the configuration file section\n named `<template>`. Attribute references contained in the\n template are substituted.\n\n.System reference behavior\n- System attribute arguments can contain non-system attribute\n references.\n- Closing brace characters inside system attribute arguments must be\n escaped with a backslash.\n\n[[X60]]\nIntrinsic Attributes\n--------------------\nIntrinsic attributes are simple attributes that are created\nautomatically from: AsciiDoc document header parameters; asciidoc(1)\ncommand-line arguments; attributes defined in the default\nconfiguration files; the execution context. Here's the list of\npredefined intrinsic attributes:\n\n {amp} ampersand (&) character entity\n {asciidoc-args} used to pass inherited arguments to asciidoc filters\n {asciidoc-confdir} the asciidoc(1) global configuration directory\n {asciidoc-dir} the asciidoc(1) application directory\n {asciidoc-file} the full path name of the asciidoc(1) script\n {asciidoc-version} the version of asciidoc(1)\n {author} author's full name\n {authored} empty string '' if {author} or {email} defined,\n {authorinitials} author initials (from document header)\n {backend-<backend>} empty string ''\n {<backend>-<doctype>} empty string ''\n {backend} document backend specified by `-b` option\n {backend-confdir} the directory containing the <backend>.conf file\n {backslash} backslash character\n {basebackend-<base>} empty string ''\n {basebackend} html or docbook\n {blockname} current block name (note 8).\n {brvbar} broken vertical bar (|) character\n {docdate} document last modified date\n {docdir} document input directory name (note 5)\n {docfile} document file name (note 5)\n {docname} document file name without extension (note 6)\n {doctime} document last modified time\n {doctitle} document title (from document header)\n {doctype-<doctype>} empty string ''\n {doctype} document type specified by `-d` option\n {email} author's email address (from document header)\n {empty} empty string ''\n {encoding} specifies input and output encoding\n {filetype-<fileext>} empty string ''\n {filetype} output file name file extension\n {firstname} author first name (from document header)\n {gt} greater than (>) character entity\n {id} running block id generated by BlockId elements\n {indir} input file directory name (note 2,5)\n {infile} input file name (note 2,5)\n {lastname} author last name (from document header)\n {ldquo} Left double quote character (note 7)\n {level} title level 1..4 (in section titles)\n {listindex} the list index (1..) of the most recent list item\n {localdate} the current date\n {localtime} the current time\n {lsquo} Left single quote character (note 7)\n {lt} less than (<) character entity\n {manname} manpage name (defined in NAME section)\n {manpurpose} manpage (defined in NAME section)\n {mantitle} document title minus the manpage volume number\n {manvolnum} manpage volume number (1..8) (from document header)\n {middlename} author middle name (from document header)\n {nbsp} non-breaking space character entity\n {notitle} do not display the document title\n {outdir} document output directory name (note 2)\n {outfile} output file name (note 2)\n {python} the full path name of the Python interpreter executable\n {rdquo} Right double quote character (note 7)\n {reftext} running block xreflabel generated by BlockId elements\n {revdate} document revision date (from document header)\n {revnumber} document revision number (from document header)\n {rsquo} Right single quote character (note 7)\n {sectnum} formatted section number (in section titles)\n {sp} space character\n {showcomments} send comment lines to the output\n {title} section title (in titled elements)\n {two-colons} Two colon characters\n {two-semicolons} Two semicolon characters\n {user-dir} the ~/.asciidoc directory (if it exists)\n {verbose} defined as '' if --verbose command option specified\n {wj} Word-joiner\n {zwsp} Zero-width space character entity\n\n[NOTE]\n======\n1. Intrinsic attributes are global so avoid defining custom attributes\n with the same names.\n2. `{outfile}`, `{outdir}`, `{infile}`, `{indir}` attributes are\n effectively read-only (you can set them but it won't affect the\n input or output file paths).\n3. See also the <<X88,Backend Attributes>> section for attributes\n that relate to AsciiDoc XHTML file generation.\n4. The entries that translate to blank strings are designed to be used\n for conditional text inclusion. You can also use the `ifdef`,\n `ifndef` and `endif` System macros for conditional inclusion.\n footnote:[Conditional inclusion using `ifdef` and `ifndef` macros\n differs from attribute conditional inclusion in that the former\n occurs when the file is read while the latter occurs when the\n contents are written.]\n5. `{docfile}` and `{docdir}` refer to root document specified on the\n asciidoc(1) command-line; `{infile}` and `{indir}` refer to the\n current input file which may be the root document or an included\n file. When the input is being read from the standard input\n (`stdin`) these attributes are undefined.\n6. If the input file is the standard input and the output file is not\n the standard output then `{docname}` is the output file name sans\n file extension.\n7. See\n http://en.wikipedia.org/wiki/Non-English_usage_of_quotation_marks[non-English\n usage of quotation marks].\n8. The `{blockname}` attribute identifies the style of the current\n block. It applies to delimited blocks, lists and tables. Here is a\n list of `{blockname}` values (does not include filters or custom\n block and style names):\n\n delimited blocks:: comment, sidebar, open, pass, literal, verse,\n listing, quote, example, note, tip, important, caution, warning,\n abstract, partintro\n\n lists:: arabic, loweralpha, upperalpha, lowerroman, upperroman,\n labeled, labeled3, labeled4, qanda, horizontal, bibliography,\n glossary\n\n tables:: table\n\n======\n\n\n[[X73]]\nBlock Element Definitions\n-------------------------\nThe syntax and behavior of Paragraph, DelimitedBlock, List and Table\nblock elements is determined by block definitions contained in\n<<X7,AsciiDoc configuration file>> sections.\n\nEach definition consists of a section title followed by one or more\nsection entries. Each entry defines a block parameter controlling some\naspect of the block's behavior. Here's an example:\n\n---------------------------------------------------------------------\n[blockdef-listing]\ndelimiter=^-{4,}$\ntemplate=listingblock\npresubs=specialcharacters,callouts\n---------------------------------------------------------------------\n\nConfiguration file block definition sections are processed\nincrementally after each configuration file is loaded. Block\ndefinition section entries are merged into the block definition, this\nallows block parameters to be overridden and extended by later\n<<X27,loading configuration files>>.\n\nAsciiDoc Paragraph, DelimitedBlock, List and Table block elements\nshare a common subset of configuration file parameters:\n\ndelimiter::\n A Python regular expression that matches the first line of a block\n element -- in the case of DelimitedBlocks and Tables it also matches\n the last line.\n\ntemplate::\n The name of the configuration file markup template section that will\n envelope the block contents. The pipe ('|') character is substituted\n for the block contents. List elements use a set of (list specific)\n tag parameters instead of a single template. The template name can\n contain attribute references allowing dynamic template selection a\n the time of template substitution.\n\noptions::\n A comma delimited list of element specific option names. In addition\n to being used internally, options are available during markup tag\n and template substitution as attributes with an empty string value\n named like `<option>-option` (where `<option>` is the option name).\n See <<X74,attribute options>> for a complete list of available\n options.\n\nsubs, presubs, postsubs::\n * 'presubs' and 'postsubs' are lists of comma separated substitutions that are\n performed on the block contents. 'presubs' is applied first,\n 'postsubs' (if specified) second.\n\n * 'subs' is an alias for 'presubs'.\n\n * If a 'filter' is allowed (Paragraphs, DelimitedBlocks and Tables)\n and has been specified then 'presubs' and 'postsubs' substitutions\n are performed before and after the filter is run respectively.\n\n * Allowed values: 'specialcharacters', 'quotes', 'specialwords',\n 'replacements', 'macros', 'attributes', 'callouts'.\n\n * [[X102]]The following composite values are also allowed:\n\n 'none';;\n No substitutions.\n 'normal';;\n The following substitutions in the following order:\n 'specialcharacters', 'quotes', 'attributes', 'specialwords',\n 'replacements', 'macros', 'replacements2'.\n 'verbatim';;\n The following substitutions in the following order:\n 'specialcharacters' and 'callouts'.\n\n * 'normal' and 'verbatim' substitutions can be redefined by with\n `subsnormal` and `subsverbatim` entries in a configuration file\n `[miscellaneous]` section.\n\n * The substitutions are processed in the order in which they are\n listed and can appear more than once.\n\nfilter::\n This optional entry specifies an executable shell command for\n processing block content (Paragraphs, DelimitedBlocks and Tables).\n The filter command can contain attribute references.\n\nposattrs::\n Optional comma separated list of positional attribute names. This\n list maps positional attributes (in the block's <<X21,attribute\n list>>) to named block attributes. The following example, from the\n QuoteBlock definition, maps the first and section positional\n attributes:\n\n posattrs=attribution,citetitle\n\nstyle::\n This optional parameter specifies the default style name.\n\n\n<stylename>-style::\n Optional style definition (see <<X23,Styles>> below).\n\nThe following block parameters behave like document attributes and can\nbe set in block attribute lists and style definitions: 'template',\n'options', 'subs', 'presubs', 'postsubs', 'filter'.\n\n[[X23]]\nStyles\n~~~~~~\nA style is a set of block parameter bundled as a single named\nparameter. The following example defines a style named 'verbatim':\n\n verbatim-style=template=\"literalblock\",subs=\"verbatim\"\n\nIf a block's <<X21,attribute list>> contains a 'style' attribute then\nthe corresponding style parameters are be merged into the default\nblock definition parameters.\n\n- All style parameter names must be suffixed with `-style` and the\n style parameter value is in the form of a list of <<X21,named\n attributes>>.\n- The 'template' style parameter is mandatory, other parameters can be\n omitted in which case they inherit their values from the default\n block definition parameters.\n- Multi-item style parameters ('subs','presubs','postsubs','posattrs')\n must be specified using Python tuple syntax (rather than a simple\n list of values as they in separate entries) e.g.\n `postsubs=(\"callouts\",)` not `postsubs=\"callouts\"`.\n\nParagraphs\n~~~~~~~~~~\nParagraph translation is controlled by `[paradef-*]` configuration\nfile section entries. Users can define new types of paragraphs and\nmodify the behavior of existing types by editing AsciiDoc\nconfiguration files.\n\nHere is the shipped Default paragraph definition:\n\n--------------------------------------------------------------------\n[paradef-default]\ndelimiter=(?P<text>\\S.*)\ntemplate=paragraph\n--------------------------------------------------------------------\n\nThe normal paragraph definition has a couple of special properties:\n\n1. It must exist and be defined in a configuration file section named\n `[paradef-default]`.\n2. Irrespective of its position in the configuration files default\n paragraph document matches are attempted only after trying all\n other paragraph types.\n\nParagraph specific block parameter notes:\n\ndelimiter::\n This regular expression must contain the named group 'text' which\n matches the text on the first line. Paragraphs are terminated by a\n blank line, the end of file, or the start of a DelimitedBlock.\n\noptions::\n The 'listelement' option specifies that paragraphs of this type will\n automatically be considered part of immediately preceding list\n items. The 'skip' option causes the paragraph to be treated as a\n comment (see <<X26,CommentBlocks>>).\n\n.Paragraph processing proceeds as follows:\n1. The paragraph text is aligned to the left margin.\n2. Optional 'presubs' inline substitutions are performed on the\n paragraph text.\n3. If a filter command is specified it is executed and the paragraph\n text piped to its standard input; the filter output replaces the\n paragraph text.\n4. Optional 'postsubs' inline substitutions are performed on the\n paragraph text.\n5. The paragraph text is enveloped by the paragraph's markup template\n and written to the output file.\n\nDelimited Blocks\n~~~~~~~~~~~~~~~~\nDelimitedBlock 'options' values are:\n\nsectionbody::\n The block contents are processed as a SectionBody.\n\nskip::\n The block is treated as a comment (see <<X26,CommentBlocks>>).\n Preceding <<X21,attribute lists>> and <<X42,block titles>> are not\n consumed.\n\n'presubs', 'postsubs' and 'filter' entries are ignored when\n'sectionbody' or 'skip' options are set.\n\nDelimitedBlock processing proceeds as follows:\n\n1. Optional 'presubs' substitutions are performed on the block\n contents.\n2. If a filter is specified it is executed and the block's contents\n piped to its standard input. The filter output replaces the block\n contents.\n3. Optional 'postsubs' substitutions are performed on the block\n contents.\n4. The block contents is enveloped by the block's markup template and\n written to the output file.\n\nTIP: Attribute expansion is performed on the block filter command\nbefore it is executed, this is useful for passing arguments to the\nfilter.\n\nLists\n~~~~~\nList behavior and syntax is determined by `[listdef-*]` configuration\nfile sections. The user can change existing list behavior and add new\nlist types by editing configuration files.\n\nList specific block definition notes:\n\ntype::\n This is either 'bulleted','numbered','labeled' or 'callout'.\n\ndelimiter::\n A Python regular expression that matches the first line of a\n list element entry. This expression can contain the named groups\n 'text' (bulleted groups), 'index' and 'text' (numbered lists),\n 'label' and 'text' (labeled lists).\n\ntags::\n The `<name>` of the `[listtags-<name>]` configuration file section\n containing list markup tag definitions. The tag entries ('list',\n 'entry', 'label', 'term', 'text') map the AsciiDoc list structure to\n backend markup; see the 'listtags' sections in the AsciiDoc\n distributed backend `.conf` configuration files for examples.\n\nTables\n~~~~~~\nTable behavior and syntax is determined by `[tabledef-*]` and\n`[tabletags-*]` configuration file sections. The user can change\nexisting table behavior and add new table types by editing\nconfiguration files. The following `[tabledef-*]` section entries\ngenerate table output markup elements:\n\ncolspec::\n The table 'colspec' tag definition.\n\nheadrow, footrow, bodyrow::\n Table header, footer and body row tag definitions. 'headrow' and\n 'footrow' table definition entries default to 'bodyrow' if\n they are undefined.\n\nheaddata, footdata, bodydata::\n Table header, footer and body data tag definitions. 'headdata' and\n 'footdata' table definition entries default to 'bodydata' if they\n are undefined.\n\nparagraph::\n If the 'paragraph' tag is specified then blank lines in the cell\n data are treated as paragraph delimiters and marked up using this\n tag.\n\n[[X4]]\nTable behavior is also influenced by the following `[miscellaneous]`\nconfiguration file entries:\n\npagewidth::\n This integer value is the printable width of the output media. See\n <<X69,table attributes>>.\n\npageunits::\n The units of width in output markup width attribute values.\n\n.Table definition behavior\n- The output markup generation is specifically designed to work with\n the HTML and CALS (DocBook) table models, but should be adaptable to\n most XML table schema.\n- Table definitions can be ``mixed in'' from multiple cascading\n configuration files.\n- New table definitions inherit the default table and table tags\n definitions (`[tabledef-default]` and `[tabletags-default]`) so you\n only need to override those conf file entries that require\n modification.\n\n\n[[X59]]\nFilters\n-------\nAsciiDoc filters allow external commands to process AsciiDoc\n'Paragraphs', 'DelimitedBlocks' and 'Table' content. Filters are\nprimarily an extension mechanism for generating specialized outputs.\nFilters are implemented using external commands which are specified in\nconfiguration file definitions.\n\nThere's nothing special about the filters, they're just standard UNIX\nfilters: they read text from the standard input, process it, and write\nto the standard output.\n\nThe asciidoc(1) command `--filter` option can be used to install and\nremove filters. The same option is used to unconditionally load a\nfilter.\n\nAttribute substitution is performed on the filter command prior to\nexecution -- attributes can be used to pass parameters from the\nAsciiDoc source document to the filter.\n\nWARNING: Filters sometimes included executable code. Before installing\na filter you should verify that it is from a trusted source.\n\nFilter Search Paths\n~~~~~~~~~~~~~~~~~~~\nIf the filter command does not specify a directory path then\nasciidoc(1) recursively searches for the executable filter command:\n\n- First it looks in the user's `$HOME/.asciidoc/filters` directory.\n- Next the global filters directory (usually `/etc/asciidoc/filters`\n or `/usr/local/etc/asciidoc`) directory is searched.\n- Then it looks in the asciidoc(1) `./filters` directory.\n- Finally it relies on the executing shell to search the environment\n search path (`$PATH`).\n\nStandard practice is to install each filter in it's own sub-directory\nwith the same name as the filter's style definition. For example the\nmusic filter's style name is 'music' so it's configuration and filter\nfiles are stored in the `filters/music` directory.\n\nFilter Configuration Files\n~~~~~~~~~~~~~~~~~~~~~~~~~~\nFilters are normally accompanied by a configuration file containing a\nParagraph or DelimitedBlock definition along with corresponding markup\ntemplates.\n\nWhile it is possible to create new 'Paragraph' or 'DelimitedBlock'\ndefinitions the preferred way to implement a filter is to add a\n<<X23,style>> to the existing Paragraph and ListingBlock definitions\n(all filters shipped with AsciiDoc use this technique). The filter is\napplied to the paragraph or delimited block by preceding it with an\nattribute list: the first positional attribute is the style name,\nremaining attributes are normally filter specific parameters.\n\nasciidoc(1) auto-loads all `.conf` files found in the filter search\npaths unless the container directory also contains a file named\n`__noautoload__` (see previous section). The `__noautoload__` feature\nis used for filters that will be loaded manually using the `--filter`\noption.\n\n[[X56]]\nExample Filter\n~~~~~~~~~~~~~~\nAsciiDoc comes with a toy filter for highlighting source code keywords\nand comments. See also the `./filters/code/code-filter-readme.txt`\nfile.\n\nNOTE: The purpose of this toy filter is to demonstrate how to write a\nfilter -- it's much to simplistic to be passed off as a code syntax\nhighlighter. If you want a full featured multi-language highlighter\nuse the {website}source-highlight-filter.html[source code highlighter\nfilter].\n\nBuilt-in filters\n~~~~~~~~~~~~~~~~\nThe AsciiDoc distribution includes 'source', 'music', 'latex' and\n'graphviz' filters, details are on the\n{website}index.html#_filters[AsciiDoc website].\n\n[cols=\"1e,5\",frame=\"topbot\",options=\"header\"]\n.Built-in filters list\n|====================================================================\n|Filter name |Description\n\n|music\n|A {website}music-filter.html[music filter] is included in the\ndistribution `./filters/` directory. It translates music in\nhttp://lilypond.org/[LilyPond] or http://abcnotation.org.uk/[ABC]\nnotation to standard classical notation.\n\n|source\n|A {website}source-highlight-filter.html[source code highlight filter]\nis included in the distribution `./filters/` directory.\n\n|latex\n|The {website}latex-filter.html[AsciiDoc LaTeX filter] translates\nLaTeX source to a PNG image that is automatically inserted into the\nAsciiDoc output documents.\n\n|graphviz\n|Gouichi Iisaka has written a http://www.graphviz.org/[Graphviz]\nfilter for AsciiDoc. Graphviz generates diagrams from a textual\nspecification. Gouichi Iisaka's Graphviz filter is included in the\nAsciiDoc distribution. Here are some\n{website}asciidoc-graphviz-sample.html[AsciiDoc Graphviz examples].\n\n|====================================================================\n\n[[X58]]\nFilter plugins\n~~~~~~~~~~~~~~\nFilter <<X101,plugins>> are a mechanism for distributing AsciiDoc\nfilters. A filter plugin is a Zip file containing the files that\nconstitute a filter. The asciidoc(1) `--filter` option is used to\nload and manage filer <<X101,plugins>>.\n\n- Filter plugins <<X27,take precedence>> over built-in filters with\n the same name.\n- By default filter plugins are installed in\n `$HOME/.asciidoc/filters/<filter>` where `<filter>` is the filter\n name.\n\n\n[[X101]]\nPlugins\n-------\nThe AsciiDoc plugin architecture is an extension mechanism that allows\nadditional <<X100,backends>>, <<X58,filters>> and <<X99,themes>> to be\nadded to AsciiDoc.\n\n- A plugin is a Zip file containing an AsciiDoc backend, filter or\n theme (configuration files, stylesheets, scripts, images).\n- The asciidoc(1) `--backend`, `--filter` and `--theme` command-line\n options are used to load and manage plugins. Each of these options\n responds to the plugin management 'install', 'list', 'remove' and\n 'build' commands.\n- The plugin management command names are reserved and cannot be used\n for filter, backend or theme names.\n- The plugin Zip file name always begins with the backend, filter or\n theme name.\n\nPlugin commands and conventions are documented in the asciidoc(1) man\npage. You can find lists of plugins on the\n{website}plugins.html[AsciiDoc website].\n\n\n[[X36]]\nHelp Commands\n-------------\nThe asciidoc(1) command has a `--help` option which prints help topics\nto stdout. The default topic summarizes asciidoc(1) usage:\n\n $ asciidoc --help\n\nTo print a help topic specify the topic name as a command argument.\nHelp topic names can be shortened so long as they are not ambiguous.\nExamples:\n\n $ asciidoc --help manpage\n $ asciidoc -h m # Short version of previous example.\n $ asciidoc --help syntax\n $ asciidoc -h s # Short version of previous example.\n\nCustomizing Help\n~~~~~~~~~~~~~~~~\nTo change, delete or add your own help topics edit a help\nconfiguration file. The help file name `help-<lang>.conf` is based on\nthe setting of the `lang` attribute, it defaults to `help.conf`\n(English). The <<X27,help file location>> will depend on whether you\nwant the topics to apply to all users or just the current user.\n\nThe help topic files have the same named section format as other\n<<X7,configuration files>>. The `help.conf` files are stored in the\nsame locations and loaded in the same order as other configuration\nfiles.\n\nWhen the `--help` command-line option is specified AsciiDoc loads the\nappropriate help files and then prints the contents of the section\nwhose name matches the help topic name. If a topic name is not\nspecified `default` is used. You don't need to specify the whole help\ntopic name on the command-line, just enough letters to ensure it's not\nambiguous. If a matching help file section is not found a list of\navailable topics is printed.\n\n\nTips and Tricks\n---------------\n\nKnow Your Editor\n~~~~~~~~~~~~~~~~\nWriting AsciiDoc documents will be a whole lot more pleasant if you\nknow your favorite text editor. Learn how to indent and reformat text\nblocks, paragraphs, lists and sentences. <<X20,Tips for 'vim' users>>\nfollow.\n\n[[X20]]\nVim Commands for Formatting AsciiDoc\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nText Wrap Paragraphs\n^^^^^^^^^^^^^^^^^^^^\nUse the vim `:gq` command to reformat paragraphs. Setting the\n'textwidth' sets the right text wrap margin; for example:\n\n :set textwidth=70\n\nTo reformat a paragraph:\n\n1. Position the cursor at the start of the paragraph.\n2. Type `gq}`.\n\nExecute `:help gq` command to read about the vim gq command.\n\n[TIP]\n=====================================================================\n- Assign the `gq}` command to the Q key with the `nnoremap Q gq}`\n command or put it in your `~/.vimrc` file to so it's always\n available (see the <<X61, Example `~/.vimrc` file>>).\n- Put `set` commands in your `~/.vimrc` file so you don't have to\n enter them manually.\n- The Vim website (http://www.vim.org) has a wealth of resources,\n including scripts for automated spell checking and ASCII Art\n drawing.\n=====================================================================\n\nFormat Lists\n^^^^^^^^^^^^\nThe `gq` command can also be used to format bulleted, numbered and\ncallout lists. First you need to set the `comments`, `formatoptions`\nand `formatlistpat` (see the <<X61, Example `~/.vimrc` file>>).\n\nNow you can format simple lists that use dash, asterisk, period and\nplus bullets along with numbered ordered lists:\n\n1. Position the cursor at the start of the list.\n2. Type `gq}`.\n\nIndent Paragraphs\n^^^^^^^^^^^^^^^^^\nIndent whole paragraphs by indenting the fist line with the desired\nindent and then executing the `gq}` command.\n\n[[X61]]\nExample `~/.vimrc` File\n^^^^^^^^^^^^^^^^^^^^^^^\n---------------------------------------------------------------------\n\" Use bold bright fonts.\nset background=dark\n\n\" Show tabs and trailing characters.\nset listchars=tab:��,trail:�\nset list\n\n\" Don't highlight searched text.\nhighlight clear Search\n\n\" Don't move to matched text while search pattern is being entered.\nset noincsearch\n\n\" Reformat paragraphs and list.\nnnoremap R gq}\n\n\" Delete trailing white space and Dos-returns and to expand tabs to spaces.\nnnoremap S :set et<CR>:retab!<CR>:%s/[\\r \\t]\\+$//<CR>\n\nautocmd BufRead,BufNewFile *.txt,README,TODO,CHANGELOG,NOTES\n \\ setlocal autoindent expandtab tabstop=8 softtabstop=2 shiftwidth=2 filetype=asciidoc\n \\ textwidth=70 wrap formatoptions=tcqn\n \\ formatlistpat=^\\\\s*\\\\d\\\\+\\\\.\\\\s\\\\+\\\\\\\\|^\\\\s*<\\\\d\\\\+>\\\\s\\\\+\\\\\\\\|^\\\\s*[a-zA-Z.]\\\\.\\\\s\\\\+\\\\\\\\|^\\\\s*[ivxIVX]\\\\+\\\\.\\\\s\\\\+\n \\ comments=s1:/*,ex:*/,://,b:#,:%,:XCOMM,fb:-,fb:*,fb:+,fb:.,fb:>\n---------------------------------------------------------------------\n\nTroubleshooting\n~~~~~~~~~~~~~~~\nAsciiDoc diagnostic features are detailed in the <<X82,Diagnostics\nappendix>>.\n\nGotchas\n~~~~~~~\nIncorrect character encoding::\n If you get an error message like `'UTF-8' codec can't decode ...`\n then you source file contains invalid UTF-8 characters -- set the\n AsciiDoc <<X54,encoding attribute>> for the correct character set\n (typically ISO-8859-1 (Latin-1) for European languages).\n\nInvalid output::\n AsciiDoc attempts to validate the input AsciiDoc source but makes\n no attempt to validate the output markup, it leaves that to\n external tools such as `xmllint(1)` (integrated into `a2x(1)`).\n Backend validation cannot be hardcoded into AsciiDoc because\n backends are dynamically configured. The following example\n generates valid HTML but invalid DocBook (the DocBook `literal`\n element cannot contain an `emphasis` element):\n\n +monospaced text with an _emphasized_ word+\n\nMisinterpreted text formatting::\n You can suppress markup expansion by placing a backslash character\n immediately in front of the element. The following example\n suppresses inline monospaced formatting:\n\n \\+1 for C++.\n\nOverlapping text formatting::\n Overlapping text formatting will generate illegal overlapping\n markup tags which will result in downstream XML parsing errors.\n Here's an example:\n\n Some *strong markup _that overlaps* emphasized markup_.\n\nAmbiguous underlines::\n A DelimitedBlock can immediately follow a paragraph without an\n intervening blank line, but be careful, a single line paragraph\n underline may be misinterpreted as a section title underline\n resulting in a ``closing block delimiter expected'' error.\n\nAmbiguous ordered list items::\n Lines beginning with numbers at the end of sentences will be\n interpreted as ordered list items. The following example\n (incorrectly) begins a new list with item number 1999:\n\n He was last sighted in\n 1999. Since then things have moved on.\n+\nThe 'list item out of sequence' warning makes it unlikely that this\nproblem will go unnoticed.\n\nSpecial characters in attribute values::\n Special character substitution precedes attribute substitution so\n if attribute values contain special characters you may, depending\n on the substitution context, need to escape the special characters\n yourself. For example:\n\n $ asciidoc -a 'orgname=Bill & Ben Inc.' mydoc.txt\n\nAttribute lists::\n If any named attribute entries are present then all string\n attribute values must be quoted. For example:\n\n [\"Desktop screenshot\",width=32]\n\n[[X90]]\nCombining separate documents\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nYou have a number of stand-alone AsciiDoc documents that you want to\nprocess as a single document. Simply processing them with a series of\n`include` macros won't work because the documents contain (level 0)\ndocument titles. The solution is to create a top level wrapper\ndocument and use the `leveloffset` attribute to push them all down one\nlevel. For example:\n\n[listing]\n.....................................................................\nCombined Document Title\n=======================\n\n// Push titles down one level.\n:leveloffset: 1\n\n\\include::document1.txt[]\n\n// Return to normal title levels.\n:leveloffset: 0\n\nA Top Level Section\n-------------------\nLorum ipsum.\n\n// Push titles down one level.\n:leveloffset: 1\n\n\\include::document2.txt[]\n\n\\include::document3.txt[]\n.....................................................................\n\nThe document titles in the included documents will now be processed as\nlevel 1 section titles, level 1 sections as level 2 sections and so\non.\n\n- Put a blank line between the `include` macro lines to ensure the\n title of the included document is not seen as part of the last\n paragraph of the previous document.\n- You won't want non-title document header lines (for example, Author\n and Revision lines) in the included files -- conditionally exclude\n them if they are necessary for stand-alone processing.\n\nProcessing document sections separately\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nYou have divided your AsciiDoc document into separate files (one per\ntop level section) which are combined and processed with the following\ntop level document:\n\n---------------------------------------------------------------------\nCombined Document Title\n=======================\nJoe Bloggs\nv1.0, 12-Aug-03\n\n\\include::section1.txt[]\n\n\\include::section2.txt[]\n\n\\include::section3.txt[]\n---------------------------------------------------------------------\n\nYou also want to process the section files as separate documents.\nThis is easy because asciidoc(1) will quite happily process\n`section1.txt`, `section2.txt` and `section3.txt` separately -- the\nresulting output documents contain the section but have no document\ntitle.\n\nProcessing document snippets\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nUse the `-s` (`--no-header-footer`) command-line option to suppress\nheader and footer output, this is useful if the processed output is to\nbe included in another file. For example:\n\n $ asciidoc -sb docbook section1.txt\n\nasciidoc(1) can be used as a filter, so you can pipe chunks of text\nthrough it. For example:\n\n $ echo 'Hello *World!*' | asciidoc -s -\n <div class=\"paragraph\"><p>Hello <strong>World!</strong></p></div>\n\nBadges in HTML page footers\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\nSee the `[footer]` section in the AsciiDoc distribution `xhtml11.conf`\nconfiguration file.\n\nPretty printing AsciiDoc output\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nIf the indentation and layout of the asciidoc(1) output is not to your\nliking you can:\n\n1. Change the indentation and layout of configuration file markup\n template sections. The `{empty}` attribute is useful for outputting\n trailing blank lines in markup templates.\n\n2. Use Dave Raggett's http://tidy.sourceforge.net/[HTML Tidy] program\n to tidy asciidoc(1) output. Example:\n\n $ asciidoc -b docbook -o - mydoc.txt | tidy -indent -xml >mydoc.xml\n\n3. Use the `xmllint(1)` format option. Example:\n\n $ xmllint --format mydoc.xml\n\nSupporting minor DocBook DTD variations\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nThe conditional inclusion of DocBook SGML markup at the end of the\ndistribution `docbook45.conf` file illustrates how to support minor\nDTD variations. The included sections override corresponding entries\nfrom preceding sections.\n\nCreating stand-alone HTML documents\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nIf you've ever tried to send someone an HTML document that includes\nstylesheets and images you'll know that it's not as straight-forward\nas exchanging a single file. AsciiDoc has options to create\nstand-alone documents containing embedded images, stylesheets and\nscripts. The following AsciiDoc command creates a single file\ncontaining <<X66,embedded images>>, CSS stylesheets, and JavaScript\n(for table of contents and footnotes):\n\n $ asciidoc -a data-uri -a icons -a toc -a max-width=55em article.txt\n\nYou can view the HTML file here: {website}article-standalone.html[]\n\nShipping stand-alone AsciiDoc source\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nReproducing presentation documents from someone else's source has one\nmajor problem: unless your configuration files are the same as the\ncreator's you won't get the same output.\n\nThe solution is to create a single backend specific configuration file\nusing the asciidoc(1) `-c` (`--dump-conf`) command-line option. You\nthen ship this file along with the AsciiDoc source document plus the\n`asciidoc.py` script. The only end user requirement is that they have\nPython installed (and that they consider you a trusted source). This\nexample creates a composite HTML configuration file for `mydoc.txt`:\n\n $ asciidoc -cb xhtml11 mydoc.txt > mydoc-xhtml11.conf\n\nShip `mydoc.txt`, `mydoc-html.conf`, and `asciidoc.py`. With\nthese three files (and a Python interpreter) the recipient can\nregenerate the HMTL output:\n\n $ ./asciidoc.py -eb xhtml11 mydoc.txt\n\nThe `-e` (`--no-conf`) option excludes the use of implicit\nconfiguration files, ensuring that only entries from the\n`mydoc-html.conf` configuration are used.\n\nInserting blank space\n~~~~~~~~~~~~~~~~~~~~~\nAdjust your style sheets to add the correct separation between block\nelements. Inserting blank paragraphs containing a single non-breaking\nspace character `{nbsp}` works but is an ad hoc solution compared\nto using style sheets.\n\nClosing open sections\n~~~~~~~~~~~~~~~~~~~~~\nYou can close off section tags up to level `N` by calling the\n`eval::[Section.setlevel(N)]` system macro. This is useful if you\nwant to include a section composed of raw markup. The following\nexample includes a DocBook glossary division at the top section level\n(level 0):\n\n---------------------------------------------------------------------\n\\ifdef::basebackend-docbook[]\n\n\\eval::[Section.setlevel(0)]\n\n+++++++++++++++++++++++++++++++\n<glossary>\n <title>Glossary\n \n ...\n \n\n+++++++++++++++++++++++++++++++\n\\endif::basebackend-docbook[]\n---------------------------------------------------------------------\n\nValidating output files\n~~~~~~~~~~~~~~~~~~~~~~~\nUse `xmllint(1)` to check the AsciiDoc generated markup is both well\nformed and valid. Here are some examples:\n\n $ xmllint --nonet --noout --valid docbook-file.xml\n $ xmllint --nonet --noout --valid xhtml11-file.html\n $ xmllint --nonet --noout --valid --html html4-file.html\n\nThe `--valid` option checks the file is valid against the document\ntype's DTD, if the DTD is not installed in your system's catalog then\nit will be fetched from its Internet location. If you omit the\n`--valid` option the document will only be checked that it is well\nformed.\n\nThe online http://validator.w3.org/#validate_by_uri+with_options[W3C\nMarkup Validation Service] is the defacto standard when it comes to\nvalidating HTML (it validates all HTML standards including HTML5).\n\n\n:numbered!:\n\n[glossary]\nGlossary\n--------\n[glossary]\n[[X8]] Block element::\n An AsciiDoc block element is a document entity composed of one or\n more whole lines of text.\n\n[[X34]] Inline element::\n AsciiDoc inline elements occur within block element textual\n content, they perform formatting and substitution tasks.\n\nFormal element::\n An AsciiDoc block element that has a BlockTitle. Formal elements\n are normally listed in front or back matter, for example lists of\n tables, examples and figures.\n\nVerbatim element::\n The word verbatim indicates that white space and line breaks in\n the source document are to be preserved in the output document.\n\n\n[appendix]\nMigration Notes\n---------------\n[[X53]]\nVersion 7 to version 8\n~~~~~~~~~~~~~~~~~~~~~~\n- A new set of quotes has been introduced which may match inline text\n in existing documents -- if they do you'll need to escape the\n matched text with backslashes.\n- The index entry inline macro syntax has changed -- if your documents\n include indexes you may need to edit them.\n- Replaced a2x(1) `--no-icons` and `--no-copy` options with their\n negated equivalents: `--icons` and `--copy` respectively. The\n default behavior has also changed -- the use of icons and copying of\n icon and CSS files must be specified explicitly with the `--icons`\n and `--copy` options.\n\nThe rationale for the changes can be found in the AsciiDoc\n`CHANGELOG`.\n\nNOTE: If you want to disable unconstrained quotes, the new alternative\nconstrained quotes syntax and the new index entry syntax then you can\ndefine the attribute `asciidoc7compatible` (for example by using the\n`-a asciidoc7compatible` command-line option).\n\n[[X38]]\n[appendix]\nPackager Notes\n--------------\nRead the `README` and `INSTALL` files (in the distribution root\ndirectory) for install prerequisites and procedures. The distribution\n`Makefile.in` (used by `configure` to generate the `Makefile`) is the\ncanonical installation procedure.\n\n\n[[X39]]\n[appendix]\nAsciiDoc Safe Mode\n-------------------\nAsciiDoc 'safe mode' skips potentially dangerous scripted sections in\nAsciiDoc source files by inhibiting the execution of arbitrary code or\nthe inclusion of arbitrary files.\n\nThe safe mode is disabled by default, it can be enabled with the\nasciidoc(1) `--safe` command-line option.\n\n.Safe mode constraints\n- `eval`, `sys` and `sys2` executable attributes and block macros are\n not executed.\n- `include::[]` and `include1::[]` block macro\n files must reside inside the parent file's directory.\n- `{include:}` executable attribute files must reside\n inside the source document directory.\n- Passthrough Blocks are dropped.\n\n[WARNING]\n=====================================================================\nThe safe mode is not designed to protect against unsafe AsciiDoc\nconfiguration files. Be especially careful when:\n\n1. Implementing filters.\n2. Implementing elements that don't escape special characters.\n3. Accepting configuration files from untrusted sources.\n=====================================================================\n\n\n[appendix]\nUsing AsciiDoc with non-English Languages\n-----------------------------------------\nAsciiDoc can process UTF-8 character sets but there are some things\nyou need to be aware of:\n\n- If you are generating output documents using a DocBook toolchain\n then you should set the AsciiDoc `lang` attribute to the appropriate\n language (it defaults to `en` (English)). This will ensure things\n like table of contents, figure and table captions and admonition\n captions are output in the specified language. For example:\n\n $ a2x -a lang=es doc/article.txt\n\n- If you are outputting HTML directly from asciidoc(1) you'll\n need to set the various `*_caption` attributes to match your target\n language (see the list of captions and titles in the `[attributes]`\n section of the distribution `lang-*.conf` files). The easiest way is\n to create a language `.conf` file (see the AsciiDoc's `lang-en.conf`\n file).\n+\nNOTE: You still use the 'NOTE', 'CAUTION', 'TIP', 'WARNING',\n'IMPORTANT' captions in the AsciiDoc source, they get translated in\nthe HTML output file.\n\n- asciidoc(1) automatically loads configuration files named like\n `lang-.conf` where `` is a two letter language code that\n matches the current AsciiDoc `lang` attribute. See also\n <>.\n\n\n[appendix]\nVim Syntax Highlighter\n----------------------\nSyntax highlighting is incredibly useful, in addition to making\nreading AsciiDoc documents much easier syntax highlighting also helps\nyou catch AsciiDoc syntax errors as you write your documents.\n\nThe AsciiDoc `./vim/` distribution directory contains Vim syntax\nhighlighter and filetype detection scripts for AsciiDoc. Syntax\nhighlighting makes it much easier to spot AsciiDoc syntax errors.\n\nIf Vim is installed on your system the AsciiDoc installer\n(`install.sh`) will automatically install the vim scripts in the Vim\nglobal configuration directory (`/etc/vim`).\n\nYou can also turn on syntax highlighting by adding the following line\nto the end of you AsciiDoc source files:\n\n // vim: set syntax=asciidoc:\n\nTIP: Bold fonts are often easier to read, use the Vim `:set\nbackground=dark` command to set bold bright fonts.\n\nNOTE: There are a number of alternative syntax highlighters for\nvarious editors listed on the {website}[AsciiDoc website].\n\nLimitations\n~~~~~~~~~~~\nThe current implementation does a reasonable job but on occasions gets\nthings wrong:\n\n- Nested quoted text formatting is highlighted according to the outer\n format.\n- If a closing Example Block delimiter is sometimes mistaken for a\n title underline. A workaround is to insert a blank line before the\n closing delimiter.\n- Lines within a paragraph starting with equals characters may be\n highlighted as single-line titles.\n- Lines within a paragraph beginning with a period may be highlighted\n as block titles.\n\n\n[[X74]]\n[appendix]\nAttribute Options\n-----------------\nHere is the list of predefined <>:\n\n\n[cols=\"2e,2,2,5\",frame=\"topbot\",options=\"header\"]\n|====================================================================\n|Option|Backends|AsciiDoc Elements|Description\n\n|autowidth |xhtml11, html5, html4 |table|\nThe column widths are determined by the browser, not the AsciiDoc\n'cols' attribute. If there is no 'width' attribute the table width is\nalso left up to the browser.\n\n|unbreakable |xhtml11, html5 |block elements|\n'unbreakable' attempts to keep the block element together on a single\nprinted page c.f. the 'breakable' and 'unbreakable' docbook (XSL/FO)\noptions below.\n\n|breakable, unbreakable |docbook (XSL/FO) |table, example, block image|\nThe 'breakable' options allows block elements to break across page\nboundaries; 'unbreakable' attempts to keep the block element together\non a single page. If neither option is specified the default XSL\nstylesheet behavior prevails.\n\n|compact |docbook, xhtml11, html5 |bulleted list, numbered list|\nMinimizes vertical space in the list\n\n|footer |docbook, xhtml11, html5, html4 |table|\nThe last row of the table is rendered as a footer.\n\n|header |docbook, xhtml11, html5, html4 |table|\nThe first row of the table is rendered as a header.\n\n|pgwide |docbook (XSL/FO) |table, block image, horizontal labeled list|\nSpecifies that the element should be rendered across the full text\nwidth of the page irrespective of the current indentation.\n\n|strong |xhtml11, html5, html4 |labeled lists|\nEmboldens label text.\n|====================================================================\n\n\n[[X82]]\n[appendix]\nDiagnostics\n-----------\nThe `asciidoc(1)` `--verbose` command-line option prints additional\ninformation to stderr: files processed, filters processed, warnings,\nsystem attribute evaluation.\n\nA special attribute named 'trace' enables the output of\nelement-by-element diagnostic messages detailing output markup\ngeneration to stderr. The 'trace' attribute can be set on the\ncommand-line or from within the document using <> (the latter allows tracing to be confined to specific\nportions of the document).\n\n- Trace messages print the source file name and line number and the\n trace name followed by related markup.\n- 'trace names' are normally the names of AsciiDoc elements (see the\n list below).\n- The trace message is only printed if the 'trace' attribute value\n matches the start of a 'trace name'. The 'trace' attribute value can\n be any Python regular expression. If a trace value is not specified\n all trace messages will be printed (this can result in large amounts\n of output if applied to the whole document).\n\n- In the case of inline substitutions:\n * The text before and after the substitution is printed; the before\n text is preceded by a line containing `<<<` and the after text by\n a line containing `>>>`.\n * The 'subs' trace value is an alias for all inline substitutions.\n\n.Trace names\n.....................................................................\n block close\n block open\n\ndropped line (a line containing an undefined attribute reference).\nfloating title\nfooter\nheader\nlist close\nlist entry close\nlist entry open\nlist item close\nlist item open\nlist label close\nlist label open\nlist open\nmacro block (a block macro)\nname (man page NAME section)\nparagraph\npreamble close\npreamble open\npush blockname\npop blockname\nsection close\nsection open: level \nsubs (all inline substitutions)\ntable\n.....................................................................\n\nWhere:\n\n- `` is section level number '0...4'.\n- `` is a delimited block name: 'comment', 'sidebar',\n 'open', 'pass', 'listing', 'literal', 'quote', 'example'.\n- `` is an inline substitution type:\n 'specialcharacters','quotes','specialwords', 'replacements',\n 'attributes','macros','callouts', 'replacements2', 'replacements3'.\n\nCommand-line examples:\n\n. Trace the entire document.\n\n $ asciidoc -a trace mydoc.txt\n\n. Trace messages whose names start with `quotes` or `macros`:\n\n $ asciidoc -a 'trace=quotes|macros' mydoc.txt\n\n. Print the first line of each trace message:\n\n $ asciidoc -a trace mydoc.txt 2>&1 | grep ^TRACE:\n\nAttribute Entry examples:\n\n. Begin printing all trace messages:\n\n :trace:\n\n. Print only matched trace messages:\n\n :trace: quotes|macros\n\n. Turn trace messages off:\n\n :trace!:\n\n\n[[X88]]\n[appendix]\nBackend Attributes\n------------------\nThis table contains a list of optional attributes that influence the\ngenerated outputs.\n\n[cols=\"1e,1,5a\",frame=\"topbot\",options=\"header\"]\n|====================================================================\n|Name |Backends |Description\n\n|badges |xhtml11, html5 |\nLink badges ('XHTML 1.1' and 'CSS') in document footers. By default\nbadges are omitted ('badges' is undefined).\n\nNOTE: The path names of images, icons and scripts are relative path\nnames to the output document not the source document.\n\n|data-uri |xhtml11, html5 |\nEmbed images using the <>.\n\n|css-signature |html5, xhtml11 |\nSet a 'CSS signature' for the document (sets the 'id' attribute of the\nHTML 'body' element). CSS signatures provide a mechanism that allows\nusers to personalize the document appearance. The term 'CSS signature'\nwas http://archivist.incutio.com/viewlist/css-discuss/13291[coined by\nEric Meyer].\n\n\n|disable-javascript |xhtml11, html5 |\nIf the `disable-javascript` attribute is defined the `asciidoc.js`\nJavaScript is not embedded or linked to the output document. By\ndefault AsciiDoc automatically embeds or links the `asciidoc.js`\nJavaScript to the output document. The script dynamically generates\n<> and <>.\n\n|[[X97]] docinfo, docinfo1, docinfo2 |All backends |\nThese three attributes control which <> will be included in the the header of the output file:\n\ndocinfo:: Include `-docinfo.`\ndocinfo1:: Include `docinfo.`\ndocinfo2:: Include `docinfo.` and `-docinfo.`\n\nWhere `` is the file name (sans extension) of the AsciiDoc\ninput file and `` is `.html` for HTML outputs or `.xml` for\nDocBook outputs. If the input file is the standard input then the\noutput file name is used. The following example will include the\n`mydoc-docinfo.xml` docinfo file in the DocBook `mydoc.xml` output\nfile:\n\n $ asciidoc -a docinfo -b docbook mydoc.txt\n\nThis next example will include `docinfo.html` and `mydoc-docinfo.html`\ndocinfo files in the HTML output file:\n\n $ asciidoc -a docinfo2 -b html4 mydoc.txt\n\n\n|[[X54]]encoding |html4, html5, xhtml11, docbook |\nSet the input and output document character set encoding. For example\nthe `--attribute encoding=ISO-8859-1` command-line option will set the\ncharacter set encoding to `ISO-8859-1`.\n\n- The default encoding is UTF-8.\n- This attribute specifies the character set in the output document.\n- The encoding name must correspond to a Python codec name or alias.\n- The 'encoding' attribute can be set using an AttributeEntry inside\n the document header. For example:\n\n :encoding: ISO-8859-1\n\n|[[X45]]icons |xhtml11, html5 |\nLink admonition paragraph and admonition block icon images and badge\nimages. By default 'icons' is undefined and text is used in place of\nicon images.\n\n|[[X44]]iconsdir |html4, html5, xhtml11, docbook |\nThe name of the directory containing linked admonition icons,\nnavigation icons and the `callouts` sub-directory (the `callouts`\nsub-directory contains <> number images). 'iconsdir'\ndefaults to `./images/icons`.\n\n|imagesdir |html4, html5, xhtml11, docbook |\nIf this attribute is defined it is prepended to the target image file\nname paths in inline and block image macros.\n\n|keywords, description, title |html4, html5, xhtml11 |\nThe 'keywords' and 'description' attributes set the correspondingly\nnamed HTML meta tag contents; the 'title' attribute sets the HTML\ntitle tag contents. Their principle use is for SEO (Search Engine\nOptimisation). All three are optional, but if they are used they must\nappear in the document header (or on the command-line). If 'title' is\nnot specified the AsciiDoc document title is used.\n\n|linkcss |html5, xhtml11 |\nLink CSS stylesheets and JavaScripts. By default 'linkcss' is\nundefined in which case stylesheets and scripts are automatically\nembedded in the output document.\n\n|[[X103]]max-width |html5, xhtml11 |\nSet the document maximum display width (sets the 'body' element CSS\n'max-width' property).\n\n|numbered |html4, html5, xhtml11, docbook (XSL Stylesheets) |\nAdds section numbers to section titles. The 'docbook' backend ignores\n'numbered' attribute entries after the document header.\n\n|plaintext | All backends |\nIf this global attribute is defined all inline substitutions are\nsuppressed and block indents are retained. This option is useful when\ndealing with large amounts of imported plain text.\n\n|quirks |xhtml11 |\nInclude the `xhtml11-quirks.conf` configuration file and\n`xhtml11-quirks.css` <> to work around IE6 browser\nincompatibilities. This feature is deprecated and its use is\ndiscouraged -- documents are still viewable in IE6 without it.\n\n|revremark |docbook |\nA short summary of changes in this document revision. Must be defined\nprior to the first document section. The document also needs to be\ndated to output this attribute.\n\n|scriptsdir |html5, xhtml11 |\nThe name of the directory containing linked JavaScripts.\nSee <>.\n\n|sgml |docbook45 |\nThe `--backend=docbook45` command-line option produces DocBook 4.5\nXML. You can produce the older DocBook SGML format using the\n`--attribute sgml` command-line option.\n\n|stylesdir |html5, xhtml11 |\nThe name of the directory containing linked or embedded\n<>.\nSee <>.\n\n|stylesheet |html5, xhtml11 |\nThe file name of an optional additional CSS <>.\n\n|theme |html5, xhtml11 |\nUse alternative stylesheet (see <>).\n\n|[[X91]]toc |html5, xhtml11, docbook (XSL Stylesheets) |\nAdds a table of contents to the start of an article or book document.\nThe `toc` attribute can be specified using the `--attribute toc`\ncommand-line option or a `:toc:` attribute entry in the document\nheader. The 'toc' attribute is defined by default when the 'docbook'\nbackend is used. To disable table of contents generation undefine the\n'toc' attribute by putting a `:toc!:` attribute entry in the document\nheader or from the command-line with an `--attribute toc!` option.\n\n*xhtml11 and html5 backends*\n\n- JavaScript needs to be enabled in your browser.\n- The following example generates a numbered table of contents using a\n JavaScript embedded in the `mydoc.html` output document:\n\n $ asciidoc -a toc -a numbered mydoc.txt\n\n|toc2 |html5, xhtml11 |\nAdds a scrollable table of contents in the left hand margin of an\narticle or book document. Use the 'max-width' attribute to change the\ncontent width. In all other respects behaves the same as the 'toc'\nattribute.\n\n|toc-placement |html5, xhtml11 |\nWhen set to 'auto' (the default value) asciidoc(1) will place the\ntable of contents in the document header. When 'toc-placement' is set\nto 'manual' the TOC can be positioned anywhere in the document by\nplacing the `toc::[]` block macro at the point you want the TOC to\nappear.\n\nNOTE: If you use 'toc-placement' then you also have to define the\n<> attribute.\n\n|toc-title |html5, xhtml11 |\nSets the table of contents title (defaults to 'Table of Contents').\n\n|toclevels |html5, xhtml11 |\nSets the number of title levels (1..4) reported in the table of\ncontents (see the 'toc' attribute above). Defaults to 2 and must be\nused with the 'toc' attribute. Example usage:\n\n $ asciidoc -a toc -a toclevels=3 doc/asciidoc.txt\n\n|====================================================================\n\n\n[appendix]\nLicense\n-------\nAsciiDoc is free software; you can redistribute it and/or modify it\nunder the terms of the 'GNU General Public License version 2' (GPLv2)\nas published by the Free Software Foundation.\n\nAsciiDoc is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\nGeneral Public License version 2 for more details.\n\nAsciiDoc Highlighter sponsored by O'Reilly Media\n\nCopyright (C) 2002-2011 Stuart Rackham.\n" - } - ], - "id": "tDhk-3Cs", - "createdAt": 1659495355948, - "updatedAt": 1659495379957 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "ASL", - "content": [ - { - "label": "Fragment 1", - "language": "asl", - "value": "/*\n * Intel ACPI Component Architecture\n * AML/ASL+ Disassembler version 20180105\n *\n * ASL example\n */\nDefinitionBlock (\"\", \"SSDT\", 1, \"PmRef\", \"Cpu0Ist\", 0x00003000)\n{\n External (_PR_.CPU0, DeviceObj)\n External (_SB_.CPUP, UnknownObj)\n\n Scope (\\_PR.CPU0)\n {\n Method (_PCT, 0, NotSerialized) // _PCT: Performance Control\n {\n If (((CFGD & One) && (PDC0 & One)))\n {\n Return (Package (0x02)\n {\n ResourceTemplate ()\n {\n Register (FFixedHW, \n 0x00, // Bit Width\n 0x00, // Bit Offset\n 0x0000000000000000, // Address\n ,)\n }, \n\n ResourceTemplate ()\n {\n Register (FFixedHW, \n 0x00, // Bit Width\n 0x00, // Bit Offset\n 0x0000000000000000, // Address\n ,)\n }\n })\n }\n\n Return (Package (0x02)\n {\n ResourceTemplate ()\n {\n Register (SystemIO, \n 0x10, // Bit Width\n 0x00, // Bit Offset\n 0x0000000000001000, // Address\n ,)\n }, \n\n ResourceTemplate ()\n {\n Register (SystemIO, \n 0x08, // Bit Width\n 0x00, // Bit Offset\n 0x00000000000000B3, // Address\n ,)\n }\n })\n }\n\n Name (PSDF, Zero)\n Method (_PSD, 0, NotSerialized) // _PSD: Power State Dependencies\n {\n If (!PSDF)\n {\n DerefOf (HPSD [Zero]) [0x04] = TCNT /* External reference */\n DerefOf (SPSD [Zero]) [0x04] = TCNT /* External reference */\n PSDF = Ones\n }\n\n If ((PDC0 & 0x0800))\n {\n Return (HPSD) /* \\_PR_.CPU0.HPSD */\n }\n\n Return (SPSD) /* \\_PR_.CPU0.SPSD */\n }\n }\n}\n\n" - } - ], - "id": "Rn6BOXbG", - "createdAt": 1659495382193, - "updatedAt": 1659495397930 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "ASP vb.NET / VBScript", - "content": [ - { - "label": "Fragment 1", - "language": "asp_vb_net", - "value": "myfilename = \"C:\\Wikipedia - VBScript - Example - Hello World.txt\"\nMakeHelloWorldFile myfilename\n \nSub MakeHelloWorldFile (FileName)\n 'Create a new file in C: drive or overwrite existing file\n Set FSO = CreateObject(\"Scripting.FileSystemObject\")\n If FSO.FileExists(FileName) Then \n Answer = MsgBox (\"File \" & FileName & \" exists ... OK to overwrite?\", vbOKCancel)\n 'If button selected is not OK, then quit now\n 'vbOK is a language constant\n If Answer <> vbOK Then Exit Sub\n Else\n 'Confirm OK to create\n Answer = MsgBox (\"File \" & FileName & \" ... OK to create?\", vbOKCancel)\n If Answer <> vbOK Then Exit Sub\n End If\n 'Create new file (or replace an existing file)\n Set FileObject = FSO.CreateTextFile (FileName)\n FileObject.WriteLine \"Time ... \" & Now()\n FileObject.WriteLine \"Hello World\"\n FileObject.Close()\n MsgBox \"File \" & FileName & \" ... updated.\"\nEnd Sub" - } - ], - "id": "HVqfS-xI", - "createdAt": 1659495399059, - "updatedAt": 1659495473147 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Assembly x86", - "content": [ - { - "label": "Fragment 1", - "language": "assembly_x86", - "value": "section\t.text\n global main ;must be declared for using gcc\n\nmain:\t ;tell linker entry point\n\n\tmov\tedx, len\t ;message length\n\tmov\tecx, msg\t ;message to write\n\tmov\tebx, 1\t ;file descriptor (stdout)\n\tmov\teax, 4\t ;system call number (sys_write)\n\tint\t0x80\t ;call kernel\n\n\tmov\teax, 1\t ;system call number (sys_exit)\n\tint\t0x80\t ;call kernel\n\nsection\t.data\n\nmsg\tdb\t'Hello, world!',0xa\t;our dear string\nlen\tequ\t$ - msg\t\t\t;length of our dear string\n" - } - ], - "id": "eXuPh5Es", - "createdAt": 1659495407360, - "updatedAt": 1659495444742 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "AutoHotkey / Autoit", - "content": [ - { - "label": "Fragment 1", - "language": "autohotkey", - "value": "#NoEnv\nSetBatchLines -1\n\nCoordMode Mouse, Screen\nOnExit GuiClose\n\nzoom := 9\n\ncomputeSize(){\n\tglobal as_x\n\tas_x := Round(ws_x/zoom/2 - 0.5)\n\tif (zoom>1) {\n\t\tpix := Round(zoom)\n\t} ele {\n\t\tpix := 1\n\t}\n ToolTip Message %as_x% %zoom% %ws_x% %hws_x% \n}\n\nhdc_frame := DllCall(\"GetDC\", UInt, MagnifierID)\n\n; comment\nDrawCross(byRef x=\"\", rX,rY,z, dc){\n ;specify the style, thickness and color of the cross lines\n h_pen := DllCall( \"gdi32.dll\\CreatePen\", Int, 0, Int, 1, UInt, 0x0000FF)\n}\n\n;Ctrl ^; Shift +; Win #; Alt !\n^NumPadAdd::\n^WheelUp:: \n^;:: ;comment\n If(zoom < ws_x and ( A_ThisHotKey = \"^WheelUp\" or A_ThisHotKey =\"^NumPadAdd\") )\n\t\tzoom *= 1.189207115 ; sqrt(sqrt(2))\n\tGosub,setZoom\nreturn\n" - } - ], - "id": "h9uzH9Df", - "createdAt": 1659495475278, - "updatedAt": 1659495970811 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Bash / Shell", - "content": [ - { - "label": "Fragment 1", - "language": "sh", - "value": "#!/bin/sh\n\n# Script to open a browser to current branch\n# Repo formats:\n# ssh git@github.com:richo/gh_pr.git\n# http https://richoH@github.com/richo/gh_pr.git\n# git git://github.com/richo/gh_pr.git\n\nusername=`git config --get github.user`\n\nget_repo() {\n git remote -v | grep ${@:-$username} | while read remote; do\n if repo=`echo $remote | grep -E -o \"git@github.com:[^ ]*\"`; then\n echo $repo | sed -e \"s/^git@github\\.com://\" -e \"s/\\.git$//\"\n exit 1\n fi\n if repo=`echo $remote | grep -E -o \"https?://([^@]*@)?github.com/[^ ]*\\.git\"`; then\n echo $repo | sed -e \"s|^https?://||\" -e \"s/^.*github\\.com\\///\" -e \"s/\\.git$//\"\n exit 1\n fi\n if repo=`echo $remote | grep -E -o \"git://github.com/[^ ]*\\.git\"`; then\n echo $repo | sed -e \"s|^git://github.com/||\" -e \"s/\\.git$//\"\n exit 1\n fi\n done\n\n if [ $? -eq 0 ]; then\n echo \"Couldn't find a valid remote\" >&2\n exit 1\n fi\n}\n\necho ${#x[@]}\n\nif repo=`get_repo $@`; then\n branch=`git symbolic-ref HEAD 2>/dev/null`\n echo \"http://github.com/$repo/pull/new/${branch##refs/heads/}\"\nelse\n exit 1\nfi\n" - } - ], - "id": "GMIZPvNc", - "createdAt": 1659496009403, - "updatedAt": 1659496046361 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "BatchFile", - "content": [ - { - "label": "Fragment 1", - "language": "batchfile", - "value": ":: batch file highlighting in Ace!\n@echo off\n\nCALL set var1=%cd%\necho unhide everything in %var1%!\n\n:: FOR loop in bat is super strange!\nFOR /f \"tokens=*\" %%G IN ('dir /A:D /b') DO (\necho %var1%%%G\nattrib -r -a -h -s \"%var1%%%G\" /D /S\n)\n\npause\n\nREM that's all\n" - } - ], - "id": "JZ3lQT7I", - "createdAt": 1659496051082, - "updatedAt": 1659496082487 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "C & C++", - "content": [ - { - "label": "Fragment 1", - "language": "c_cpp", - "value": "// compound assignment operators\n\n#include \n\n#include \\\n \n\n#include \\\n \\\n \n\n#include \\\n \\\n \"iostream\"\n\n#include \n#include \"boost/asio/io_service.hpp\"\n\n#include \\\n \\\n \"iostream\" \\\n \"string\" \\\n \n \nusing namespace std;\n\n//\nint main ()\n{\n int a, b=3; /* foobar */\n a = b; // single line comment\\\n continued\n a+=2; // equivalent to a=a+2\n cout << a;\n #if VERBOSE >= 2\n prints(\"trace message\\n\");\n #endif\n return 0;\n}\n\n/* Print an error message and get out */\n#define ABORT \\\n do { \\\n print( \"Abort\\n\" ); \\\n exit(8); \\\n} while (0) /* Note: No semicolon */" - } - ], - "id": "1pea5dPy", - "createdAt": 1659496085994, - "updatedAt": 1659496111732 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "C#", - "content": [ - { - "label": "Fragment 1", - "language": "csharp", - "value": "public void HelloWorld() {\n //Say Hello!\n Console.WriteLine(\"Hello World\");\n}" - } - ], - "id": "wEHTLKi1", - "createdAt": 1659496115792, - "updatedAt": 1659496137710 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Cirru", - "content": [ - { - "label": "Fragment 1", - "language": "cirru", - "value": "-- https://github.com/Cirru/cirru-gopher/blob/master/code/scope.cr,\n\nset a (int 2)\n\nprint (self)\n\nset c (child)\n\nunder c\n under parent\n print a\n\nprint $ get c a\n\nset c x (int 3)\nprint $ get c x\n\nset just-print $ code\n print a\n\nprint just-print\n\neval (self) just-print\neval just-print\n\nprint (string \"string with space\")\nprint (string \"escapes \\n \\\"\\\\\")\n\nbrackets ((((()))))\n\n\"eval\" $ string \"eval\"\n\nprint (add $ (int 1) (int 2))\n\nprint $ unwrap $\n map (a $ int 1) (b $ int 2)\n\nprint a\n int 1\n , b c\n int 2\n , d" - } - ], - "id": "jb3ZmJqm", - "createdAt": 1659496321101, - "updatedAt": 1659496366135 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Clojure", - "content": [ - { - "label": "Fragment 1", - "language": "clojure", - "value": "(defn parting\n \"returns a String parting in a given language\"\n ([] (parting \"World\"))\n ([name] (parting name \"en\"))\n ([name language]\n ; condp is similar to a case statement in other languages.\n ; It is described in more detail later.\n ; It is used here to take different actions based on whether the\n ; parameter \"language\" is set to \"en\", \"es\" or something else.\n (condp = language\n \"en\" (str \"Goodbye, \" name)\n \"es\" (str \"Adios, \" name)\n (throw (IllegalArgumentException.\n (str \"unsupported language \" language))))))\n\n(println (parting)) ; -> Goodbye, World\n(println (parting \"Mark\")) ; -> Goodbye, Mark\n(println (parting \"Mark\" \"es\")) ; -> Adios, Mark\n(println (parting \"Mark\", \"xy\")) ; -> java.lang.IllegalArgumentException: unsupported language xy" - } - ], - "id": "n8stzXZu", - "createdAt": 1659496368210, - "updatedAt": 1659496386902 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Cobol", - "content": [ - { - "label": "Fragment 1", - "language": "cobol", - "value": "GNU >>SOURCE FORMAT IS FIXED\nCobol *> ***************************************************************\n *> Purpose: Say hello to GNU Cobol\nHello *> Tectonics: cobc -x bigworld.cob\nmoney *> ***************************************************************\n identification division.\n program-id. bigworld.\n\nDATA data division.\n working-storage section.\n 01 hello pic $$$$,$$$,$$$,$$$,$$$,$$$.99.\n 01 world pic s9(18)v99 value zero.\n\n 01 people pic ZZZ,ZZZ,ZZZ,ZZ9.\n 01 persons pic 9(18) value 7182044470.\n\n 01 each pic 9(5)v99 value 26202.42.\n\n *> ***************************************************************\nCODE procedure division.\n\n multiply persons by each giving world\n on size error\n display \"We did it. We broke the world bank\" end-display\n end-multiply\n\n move world to hello\n move persons to people\n\n display \"Hello, world\" end-display\n display \" \" end-display\n display\n \"On \" function locale-date(20130927)\n \" at \" function locale-time(120000)\n \", according to UN estimates:\" \n end-display\n display\n \"You were home to some \" people \" people,\"\n \" with an estimated worth of \" hello\n end-display\n\n goback.\n end program bigworld.\n" - } - ], - "id": "OvDpcRnU", - "createdAt": 1659496388215, - "updatedAt": 1659496404486 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "CoffeeScipt", - "content": [ - { - "label": "Fragment 1", - "language": "coffee", - "value": "#!/usr/bin/env coffee\n\ntry\n throw URIError decodeURI(0xC0ffee * 123456.7e-8 / .9)\ncatch e\n console.log 'qstring' + \"qqstring\" + '''\n qdoc\n ''' + \"\"\"\n qqdoc\n \"\"\"\n\ndo ->\n ###\n herecomment\n ###\n re = /regex/imgy.test ///\n heregex # comment\n ///imgy\n this isnt: `just JavaScript`\n undefined\n \nsentence = \"#{ 22 / 7 } is a decent approximation of π\"" - } - ], - "id": "mtXYn9sv", - "createdAt": 1659496405486, - "updatedAt": 1659496434410 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "ColdFusion", - "content": [ - { - "label": "Fragment 1", - "language": "coldfusion", - "value": "\n\n\n\n#welcome#" - } - ], - "id": "5M0DEhNa", - "createdAt": 1659496437877, - "updatedAt": 1659496663556 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Crystal", - "content": [ - { - "label": "Fragment 1", - "language": "crystal", - "value": "# crystal comment\n\nrequire \"llvm\"\n\nNUM_CELLS = 30000\nCELL_SIZE_IN_BYTES = 1\n\nabstract class Instruction\n abstract def compile(program, bb)\nend\n\nclass Increment < Instruction\n def initialize(@amount : Int32)\n end\n\n def compile(program, bb)\n cell_val_is_zero = builder.icmp LLVM::IntPredicate::EQ, cell_val, zero\n call_args = [@ctx.int32.const_int(NUM_CELLS), @ctx.int32.const_int(CELL_SIZE_IN_BYTES)]\n builder.cond cell_val_is_zero, loop_after, loop_body_block\n\n @body.each do |instruction|\n loop_body_block = instruction.compile(program, loop_body_block)\n end\n\n builder.position_at_end loop_body_block\n\n unless matching_close_index\n error \"Unmatched '[' at position #{i}\"\n end\n\n bb\n end\nend\n" - } - ], - "id": "dAN42Kbk", - "createdAt": 1659496807660, - "updatedAt": 1659496827338 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Csound", - "content": [ - { - "label": "Fragment 1", - "language": "csound_orchestra", - "value": "/*\n * comment\n */\n; comment\n// comment\n\ninstr/**/1,/**/N_a_M_e_,/**/+Name/**///\n iDuration = p3\n outc:a(aSignal)\nendin\n\nopcode/**/aUDO,/**/i[],/**/aik//\n aUDO\nendop\n\n123 0123456789\n0xabcdef0123456789 0XABCDEF\n1e2 3e+4 5e-6 7E8 9E+0 1E-2 3. 4.56 .789\n\n\"characters$MACRO.\"\n\"\\\\\\a\\b\\n\\r\\t\\012\\345\\67\\\"\"\n\n{{\ncharacters$MACRO.\n}}\n{{\\\\\\a\\b\\n\\r\\t\\\"\\012\\345\\67}}\n\n+ - ~ ¬ ! * / ^ % << >> < > <= >= == != & # | && || ? : += -= *= /=\n\n0dbfs A4 kr ksmps nchnls nchnls_i sr\n\ndo else elseif endif enduntil fi if ithen kthen od then until while\nreturn rireturn\n\naLabel:\n label2:\n\ngoto aLabel\nreinit aLabel\ncggoto 1==0, aLabel\ntimout 0, 0, aLabel\nloop_ge 0, 0, 0, aLabel\n\nreadscore {{\ni 1 0 0\n}}\npyrun {{\n# Python\n}}\nlua_exec {{\n-- Lua\n}}\n\n#include/**/\"file.udo\"\n#include/**/|file.udo|\n\n#ifdef MACRO\n#else\n#ifndef MACRO\n#endif\n#undef MACRO\n\n# define MACRO#macro_body#\n#define/**/\nMACRO/**/\n#\\#macro\nbody\\##\n\n#define MACRO(ARG1#ARG2) #macro_body#\n#define/**/\nMACRO(ARG1'ARG2'ARG3)/**/\n#\\#macro\nbody\\##\n\n$MACRO $MACRO.\n$MACRO(x)\n@0\n@@ 1\n$MACRO.(((x#y\\)))' \"(#'x)\\)x\\))\"# {{x\\))x)\\)(#'}});\n" - } - ], - "id": "B3duvVHk", - "createdAt": 1659496829249, - "updatedAt": 1659496898816 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Csound Document", - "content": [ - { - "label": "Fragment 1", - "language": "csound_document", - "value": "text\n\n\n0dbfs = 1\nprints \"hello, world\\n\"\n\n\ni 1 0 0\n\n\n\n\n\n" - } - ], - "id": "u9rXri7I", - "createdAt": 1659496900901, - "updatedAt": 1659496925580 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Csound Score", - "content": [ - { - "label": "Fragment 1", - "language": "csound_score", - "value": "/*\n * comment\n */\n; comment\n// comment\na B b C d e f i q s t v x y\nz\nnp0 nP1 Np2 NP3\nm/**/label;\nn label\n123 0123456789\n0xabcdef0123456789 0XABCDEF\n1e2 3e+4 5e-6 7E8 9E+0 1E-2 3. 4.56 .789\n\"characters$MACRO.\"\n{ 1 I\n { 2 J\n { 3 K\n $I $J $K\n }\n }\n}\n#include \"score.sco\"\n" - } - ], - "id": "WPZVP1_O", - "createdAt": 1659496928964, - "updatedAt": 1659497009485 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "CSS", - "content": [ - { - "label": "Fragment 1", - "language": "css", - "value": ".text-layer {\n font: 12px Monaco, \"Courier New\", monospace;\n font-size: 3vmin;\n cursor: text;\n}\n\n.blinker {\n animation: blink 1s linear infinite alternate;\n}\n\n@keyframes blink {\n 0%, 40% {\n opacity: 0; /*\n */\n opacity: 1\n }\n\n 40.5%, 100% {\n opacity: 1\n }\n}\n\n@document url(http://c9.io/), url-prefix(http://ace.c9.io/build/),\n domain(c9.io), regexp(\"https:.*\") /**/\n{\n /**/\n img[title]:before \n {\n content: attr(title) \"\\AImage \\\n retrieved from\"\n attr(src); /*\n */\n white-space: pre;\n display: block;\n background: url(asdasd); \"err\n }\n}\n\n@viewport {\n min-zoom: 1;\n max-zoom: 200%;\n user-zoom: fixed;\n}\n" - } - ], - "id": "kmxoH0Wa", - "createdAt": 1659497023275, - "updatedAt": 1659497059514 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Curly", - "content": [ - { - "label": "Fragment 1", - "language": "curly", - "value": "\n \n\n \n\n \n \n

{{author_name}}

\n \n\n" - } - ], - "id": "W4SWjdMO", - "createdAt": 1659497060906, - "updatedAt": 1659497085847 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "D", - "content": [ - { - "label": "Fragment 1", - "language": "d", - "value": "#!/usr/bin/env rdmd\n// Computes average line length for standard input.\nimport std.stdio;\n\nvoid main() {\n ulong lines = 0;\n double sumLength = 0;\n foreach (line; stdin.byLine()) {\n ++lines;\n sumLength += line.length;\n }\n writeln(\"Average line length: \",\n lines ? sumLength / lines : 0);\n}" - } - ], - "id": "GNeWkatM", - "createdAt": 1659497081648, - "updatedAt": 1659497109051 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Dart", - "content": [ - { - "label": "Fragment 1", - "language": "dart", - "value": "// Go ahead and modify this example.\n\nimport \"dart:html\";\n\n// Computes the nth Fibonacci number.\nint fibonacci(int n) {\n if (n < 2) return n;\n return fibonacci(n - 1) + fibonacci(n - 2);\n}\n\n// Displays a Fibonacci number.\nvoid main() {\n int i = 20;\n String message = \"fibonacci($i) = ${fibonacci(i)}\";\n\n // This example uses HTML to display the result and it will appear\n // in a nested HTML frame (an iframe).\n document.body.append(new HeadingElement.h1()..appendText(message));\n}\n" - } - ], - "id": "Nw7CRmhq", - "createdAt": 1659497110578, - "updatedAt": 1659497122970 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Diff", - "content": [ - { - "label": "Fragment 1", - "language": "diff", - "value": "diff --git a/lib/ace/edit_session.js b/lib/ace/edit_session.js\nindex 23fc3fc..ed3b273 100644\n--- a/lib/ace/edit_session.js\n+++ b/lib/ace/edit_session.js\n@@ -51,6 +51,7 @@ var TextMode = require(\"./mode/text\").Mode;\n var Range = require(\"./range\").Range;\n var Document = require(\"./document\").Document;\n var BackgroundTokenizer = require(\"./background_tokenizer\").BackgroundTokenizer;\n+var SearchHighlight = require(\"./search_highlight\").SearchHighlight;\n \n /**\n * class EditSession\n@@ -307,6 +308,13 @@ var EditSession = function(text, mode) {\n return token;\n };\n \n+ this.highlight = function(re) {\n+ if (!this.$searchHighlight) {\n+ var highlight = new SearchHighlight(null, \"ace_selected-word\", \"text\");\n+ this.$searchHighlight = this.addDynamicMarker(highlight);\n+ }\n+ this.$searchHighlight.setRegexp(re);\n+ }\n /**\n * EditSession.setUndoManager(undoManager)\n * - undoManager (UndoManager): The new undo manager\n@@ -556,7 +564,8 @@ var EditSession = function(text, mode) {\n type : type || \"line\",\n renderer: typeof type == \"function\" ? type : null,\n clazz : clazz,\n- inFront: !!inFront\n+ inFront: !!inFront,\n+ id: id\n }\n \n if (inFront) {\ndiff --git a/lib/ace/editor.js b/lib/ace/editor.js\nindex 834e603..b27ec73 100644\n--- a/lib/ace/editor.js\n+++ b/lib/ace/editor.js\n@@ -494,7 +494,7 @@ var Editor = function(renderer, session) {\n * Emitted when a selection has changed.\n **/\n this.onSelectionChange = function(e) {\n- var session = this.getSession();\n+ var session = this.session;\n \n if (session.$selectionMarker) {\n session.removeMarker(session.$selectionMarker);\n@@ -509,12 +509,40 @@ var Editor = function(renderer, session) {\n this.$updateHighlightActiveLine();\n }\n \n- var self = this;\n- if (this.$highlightSelectedWord && !this.$wordHighlightTimer)\n- this.$wordHighlightTimer = setTimeout(function() {\n- self.session.$mode.highlightSelection(self);\n- self.$wordHighlightTimer = null;\n- }, 30, this);\n+ var re = this.$highlightSelectedWord && this.$getSelectionHighLightRegexp()\n };\ndiff --git a/lib/ace/search_highlight.js b/lib/ace/search_highlight.js\nnew file mode 100644\nindex 0000000..b2df779\n--- /dev/null\n+++ b/lib/ace/search_highlight.js\n@@ -0,0 +1,3 @@\n+new\n+empty file" - } - ], - "id": "XVlqRbTf", - "createdAt": 1659497123657, - "updatedAt": 1659497359400 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Django", - "content": [ - { - "label": "Fragment 1", - "language": "django", - "value": "\n\n\n {% block title %}Local Library{% endblock %}\n\n\n {% block sidebar %}{% endblock %}\n {% block content %}{% endblock %}\n\n" - } - ], - "id": "SlHomc5j", - "createdAt": 1659497360765, - "updatedAt": 1659498962118 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Dockerfile", - "content": [ - { - "label": "Fragment 1", - "language": "dockerfile", - "value": "#\n# example Dockerfile for http://docs.docker.io/en/latest/examples/postgresql_service/\n#\n\nFROM ubuntu\nMAINTAINER SvenDowideit@docker.com\n\n# Add the PostgreSQL PGP key to verify their Debian packages.\n# It should be the same key as https://www.postgresql.org/media/keys/ACCC4CF8.asc \nRUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8\n\n# Add PostgreSQL's repository. It contains the most recent stable release\n# of PostgreSQL, ``9.3``.\nRUN echo \"deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main\" > /etc/apt/sources.list.d/pgdg.list\n\n# Update the Ubuntu and PostgreSQL repository indexes\nRUN apt-get update\n\n# Install ``python-software-properties``, ``software-properties-common`` and PostgreSQL 9.3\n# There are some warnings (in red) that show up during the build. You can hide\n# them by prefixing each apt-get statement with DEBIAN_FRONTEND=noninteractive\nRUN apt-get -y -q install python-software-properties software-properties-common\nRUN apt-get -y -q install postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3\n\n# Note: The official Debian and Ubuntu images automatically ``apt-get clean``\n# after each ``apt-get`` \n\n# Run the rest of the commands as the ``postgres`` user created by the ``postgres-9.3`` package when it was ``apt-get installed``\nUSER postgres\n\n# Create a PostgreSQL role named ``docker`` with ``docker`` as the password and\n# then create a database `docker` owned by the ``docker`` role.\n# Note: here we use ``&&\\`` to run commands one after the other - the ``\\``\n# allows the RUN command to span multiple lines.\nRUN /etc/init.d/postgresql start &&\\\n psql --command \"CREATE USER docker WITH SUPERUSER PASSWORD 'docker';\" &&\\\n createdb -O docker docker\n\n# Adjust PostgreSQL configuration so that remote connections to the\n# database are possible. \nRUN echo \"host all all 0.0.0.0/0 md5\" >> /etc/postgresql/9.3/main/pg_hba.conf\n\n# And add ``listen_addresses`` to ``/etc/postgresql/9.3/main/postgresql.conf``\nRUN echo \"listen_addresses='*'\" >> /etc/postgresql/9.3/main/postgresql.conf\n\n# Expose the PostgreSQL port\nEXPOSE 5432\n\n# Add VOLUMEs to allow backup of config, logs and databases\nVOLUME\t[\"/etc/postgresql\", \"/var/log/postgresql\", \"/var/lib/postgresql\"]\n\n# Set the default command to run when starting the container\nCMD [\"/usr/lib/postgresql/9.3/bin/postgres\", \"-D\", \"/var/lib/postgresql/9.3/main\", \"-c\", \"config_file=/etc/postgresql/9.3/main/postgresql.conf\"]" - } - ], - "id": "zARrocL3", - "createdAt": 1659497758750, - "updatedAt": 1659497805813 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Dot", - "content": [ - { - "label": "Fragment 1", - "language": "dot", - "value": "// Original source: http://www.graphviz.org/content/lion_share\n##\"A few people in the field of genetics are using dot to draw \"marriage node diagram\" pedigree drawings. Here is one I have done of a test pedigree from the FTREE pedigree drawing package (Lion Share was a racehorse).\" Contributed by David Duffy.\n\n##Command to get the layout: \"dot -Tpng thisfile > thisfile.png\"\n\ndigraph Ped_Lion_Share {\n# page = \"8.2677165,11.692913\" ;\nratio = \"auto\" ;\nmincross = 2.0 ;\nlabel = \"Pedigree Lion_Share\" ;\n\n\"001\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"002\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"003\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"004\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"005\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"006\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"007\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"009\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"014\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"015\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"016\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"ZZ01\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"ZZ02\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"017\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"012\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"008\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"011\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"013\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"010\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"023\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"020\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"021\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"018\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"025\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"019\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"022\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"024\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"027\" [shape=circle , regular=1,style=filled,fillcolor=white ] ;\n\"026\" [shape=box , regular=1,style=filled,fillcolor=white ] ;\n\"028\" [shape=box , regular=1,style=filled,fillcolor=grey ] ;\n\"marr0001\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"001\" -> \"marr0001\" [dir=none,weight=1] ;\n\"007\" -> \"marr0001\" [dir=none,weight=1] ;\n\"marr0001\" -> \"017\" [dir=none, weight=2] ;\n\"marr0002\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"001\" -> \"marr0002\" [dir=none,weight=1] ;\n\"ZZ02\" -> \"marr0002\" [dir=none,weight=1] ;\n\"marr0002\" -> \"012\" [dir=none, weight=2] ;\n\"marr0003\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"002\" -> \"marr0003\" [dir=none,weight=1] ;\n\"003\" -> \"marr0003\" [dir=none,weight=1] ;\n\"marr0003\" -> \"008\" [dir=none, weight=2] ;\n\"marr0004\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"002\" -> \"marr0004\" [dir=none,weight=1] ;\n\"006\" -> \"marr0004\" [dir=none,weight=1] ;\n\"marr0004\" -> \"011\" [dir=none, weight=2] ;\n\"marr0005\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"002\" -> \"marr0005\" [dir=none,weight=1] ;\n\"ZZ01\" -> \"marr0005\" [dir=none,weight=1] ;\n\"marr0005\" -> \"013\" [dir=none, weight=2] ;\n\"marr0006\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"004\" -> \"marr0006\" [dir=none,weight=1] ;\n\"009\" -> \"marr0006\" [dir=none,weight=1] ;\n\"marr0006\" -> \"010\" [dir=none, weight=2] ;\n\"marr0007\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"005\" -> \"marr0007\" [dir=none,weight=1] ;\n\"015\" -> \"marr0007\" [dir=none,weight=1] ;\n\"marr0007\" -> \"023\" [dir=none, weight=2] ;\n\"marr0008\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"005\" -> \"marr0008\" [dir=none,weight=1] ;\n\"016\" -> \"marr0008\" [dir=none,weight=1] ;\n\"marr0008\" -> \"020\" [dir=none, weight=2] ;\n\"marr0009\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"005\" -> \"marr0009\" [dir=none,weight=1] ;\n\"012\" -> \"marr0009\" [dir=none,weight=1] ;\n\"marr0009\" -> \"021\" [dir=none, weight=2] ;\n\"marr0010\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"008\" -> \"marr0010\" [dir=none,weight=1] ;\n\"017\" -> \"marr0010\" [dir=none,weight=1] ;\n\"marr0010\" -> \"018\" [dir=none, weight=2] ;\n\"marr0011\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"011\" -> \"marr0011\" [dir=none,weight=1] ;\n\"023\" -> \"marr0011\" [dir=none,weight=1] ;\n\"marr0011\" -> \"025\" [dir=none, weight=2] ;\n\"marr0012\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"013\" -> \"marr0012\" [dir=none,weight=1] ;\n\"014\" -> \"marr0012\" [dir=none,weight=1] ;\n\"marr0012\" -> \"019\" [dir=none, weight=2] ;\n\"marr0013\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"010\" -> \"marr0013\" [dir=none,weight=1] ;\n\"021\" -> \"marr0013\" [dir=none,weight=1] ;\n\"marr0013\" -> \"022\" [dir=none, weight=2] ;\n\"marr0014\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"019\" -> \"marr0014\" [dir=none,weight=1] ;\n\"020\" -> \"marr0014\" [dir=none,weight=1] ;\n\"marr0014\" -> \"024\" [dir=none, weight=2] ;\n\"marr0015\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"022\" -> \"marr0015\" [dir=none,weight=1] ;\n\"025\" -> \"marr0015\" [dir=none,weight=1] ;\n\"marr0015\" -> \"027\" [dir=none, weight=2] ;\n\"marr0016\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"024\" -> \"marr0016\" [dir=none,weight=1] ;\n\"018\" -> \"marr0016\" [dir=none,weight=1] ;\n\"marr0016\" -> \"026\" [dir=none, weight=2] ;\n\"marr0017\" [shape=diamond,style=filled,label=\"\",height=.1,width=.1] ;\n\"026\" -> \"marr0017\" [dir=none,weight=1] ;\n\"027\" -> \"marr0017\" [dir=none,weight=1] ;\n\"marr0017\" -> \"028\" [dir=none, weight=2] ;\n}\n" - } - ], - "id": "zsE7DGS6", - "createdAt": 1659497806776, - "updatedAt": 1659497822789 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Drools", - "content": [ - { - "label": "Fragment 1", - "language": "drools", - "value": "/*\n * Copyright 2010 JBoss Inc\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n Original source\n https://github.com/droolsjbpm/drools/blob/master/drools-examples/\n http://docs.jboss.org/drools/\n*/\npackage com.example.ace\n\nimport java.math.BigDecimal\nimport function my.package.Foo.hello\n\ndeclare FactType\n @author( Bob )\n id : String\n name : String @maxLength(100) @notnull\n\n value : BigDecimal\nend\n\ndeclare FactType2 extends AnotherType\nend\n\ndeclare trait TraitType extends com.package.AnotherType\nend\n\n\ndeclare trait GoldenCustomer\n balance : long @Alias( \"org.acme.foo.accountBalance\" )\nend\n\nglobal org.slf4j.Logger logger\n\n/**\n * @param name who we'll salute?\n */\nfunction String hello(String name) {\n return \"Hello \"+name+\"!\";\n}\n\nrule \"Trim all strings\"\n dialect \"java\"\n no-loop\nwhen // fdsfds\n $s : String(a == null || == \"empty\", $g : size)\n Cheese( name matches \"(Buffalo)?\\\\S*Mozarella\" )\n CheeseCounter( cheeses contains $var ) // contains with a variable\n CheeseCounter( cheese memberof $matureCheeses )\n Cheese( name soundslike 'foobar' )\n Message( routingValue str[startsWith] \"R1\" )\n Cheese( name in ( \"stilton\", \"cheddar\", $cheese ) )\n Person( eval( age == girlAge + 2 ), sex = 'M' )\nthen\n /**\n * TODO There mus be better way\n */\n retract($s);\n String a = \"fd\";\n a.toString();\n\n insert($s.trim());\nend\n\nquery isContainedIn( String x, String y )\n Location( x, y; )\n or\n ( Location( z, y; ) and isContainedIn( x, z; ) )\nend\n\nrule \"go\" salience 10\nwhen\n $s : String( )\nthen\n System.out.println( $s );\nend\n\nrule \"When all English buses are not red\"\nwhen\n not(forall( $bus : Bus( nationality == 'english')\n Bus( this == $bus, color = 'red' ) ))\nthen\n // What if all english buses are not red?\nend\n\nrule \"go1\"\nwhen\n String( this == \"go1\" )\n isContainedIn(\"Office\", \"House\"; )\nthen\n System.out.println( \"office is in the house\" );\nend\n\nrule \"go2\"\nwhen\n String( this == \"go2\" )\n isContainedIn(\"Draw\", \"House\"; )\nthen\n System.out.println( \"Draw in the House\" );\nend\n\n/**\n * Go Right\n */\nrule GoRight dialect \"mvel\" salience (Math.abs( $df.colDiff )) when\n $df : DirectionDiff(colDiff > 0 )\n $target : Cell( row == $df.row, col == ($df.col + 1) )\n CellContents( cell == $target, cellType != CellType.WALL )\n not Direction(character == $df.fromChar, horizontal == Direction.RIGHT )\nthen\n System.out.println( \"monster right\" );\n retract( $df );\n insert( new Direction($df.fromChar, Direction.RIGHT, Direction.NONE ) );\nend\n" - } - ], - "id": "q7ltgu98", - "createdAt": 1659497823169, - "updatedAt": 1659497838753 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Eifact", - "content": [ - { - "label": "Fragment 1", - "language": "edifact", - "value": "UNB+UNOA:1+005435656:1+006415160:1+060515:1434+00000000000778'\nUNH+00000000000117+INVnrOIC:D:97B:UN'\nBGM+380+342459+9'\nDTM+3:20060515:102'\nRFF+ON:521052'\nNAD+BY+792820524::16++CUMMINS MID-RANGE ENGINE PLANT'\nNAD+SE+005435656::16++GENERAL WIDGET COMPANY'\nCUX+1:USD'\nLIN+1++157870:IN'\nIMD+F++:::WIDGET'\nQTY+47:1020:EA'\nALI+US'\nMOA+203:1202.58'\nPRI+INV:1.179'\nLIN+2++157871:IN'\nIMD+F++:::DIFFERENT WIDGET'\nQTY+47:20:EA'\nALI+JP'\nMOA+203:410'\nPRI+INV:20.5'\nUNS+S'\nMOA+39:2137.58'\nALC+C+ABG'\nMOA+8:525'\nUNT+23+00000000000117'\nUNZ+1+00000000000778'" - } - ], - "id": "kd4AwKPE", - "createdAt": 1659497839277, - "updatedAt": 1659497866736 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Eiffel", - "content": [ - { - "label": "Fragment 1", - "language": "eiffel", - "value": "note\n\tdescription: \"Represents a person.\"\n\nclass\n\tPERSON\n\ncreate\n\tmake, make_unknown\n\nfeature {NONE} -- Creation\n\n\tmake (a_name: like name)\n\t\t\t-- Create a person with `a_name' as `name'.\n\t\tdo\n\t\t\tname := a_name\n\t\tensure\n\t\t\tname = a_name\n\t\tend\n\n\tmake_unknown\n\t\tdo ensure\n\t\t\tname = Void\n\t\tend\n\nfeature -- Access\n\n\tname: detachable STRING\n\t\t\t-- Full name or Void if unknown.\n\nend" - } - ], - "id": "oLy18nv7", - "createdAt": 1659498171205, - "updatedAt": 1659498199263 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "EJS", - "content": [ - { - "label": "Fragment 1", - "language": "ejs", - "value": "\n\n \n Cloud9 Rocks!\n \n \n\n \n \n \n \n \n <% if (!isRoot) { %>\n \n \n \n \n <% } %>\n <% entries.forEach(function(entry) { %>\n \n \n \n \n <% }) %>\n
NameSize
..
\n \">\n \"><%= entry.name %>\n <%= entry.size %>
\n \n \n" - } - ], - "id": "RfTqVA-l", - "createdAt": 1659498199950, - "updatedAt": 1659498217270 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Elixir", - "content": [ - { - "label": "Fragment 1", - "language": "elixir", - "value": "defmodule HelloModule do\n @moduledoc \"\"\"\n This is supposed to be `markdown`.\n __Yes__ this is [mark](http://down.format)\n\n # Truly\n\n ## marked\n\n * with lists\n * more\n * and more\n\n Even.with(code)\n blocks |> with |> samples\n\n _Docs are first class citizens in Elixir_ (Jose Valim)\n \"\"\"\n \n # A \"Hello world\" function\n def some_fun do\n IO.puts \"Juhu Kinners!\"\n end\n # A private function\n defp priv do\n is_regex ~r\"\"\"\n This is a regex\n spanning several\n lines.\n \"\"\"\n x = elem({ :a, :b, :c }, 0) #=> :a\n end\nend\n\ntest_fun = fn(x) ->\n cond do\n x > 10 ->\n :greater_than_ten\n true ->\n :maybe_ten\n end\nend" - } - ], - "id": "S7aN9gmR", - "createdAt": 1659498217656, - "updatedAt": 1659498236110 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Elm", - "content": [ - { - "label": "Fragment 1", - "language": "elm", - "value": "{- Ace {- 4 -} Elm -}\nmain = lift clock (every second)\n\nclock t = collage 400 400 [ filled lightGrey (ngon 12 110)\n , outlined (solid grey) (ngon 12 110)\n , hand orange 100 t\n , hand charcoal 100 (t/60)\n , hand charcoal 60 (t/720) ]\n\nhand clr len time =\n let angle = degrees (90 - 6 * inSeconds time)\n in traced (solid clr) <| segment (0,0) (len * cos angle, len * sin angle)" - } - ], - "id": "EymKD1vg", - "createdAt": 1659498236614, - "updatedAt": 1659498253750 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Erlang", - "content": [ - { - "label": "Fragment 1", - "language": "erlang", - "value": " %% A process whose only job is to keep a counter.\n %% First version\n -module(counter).\n -export([start/0, codeswitch/1]).\n \n start() -> loop(0).\n \n loop(Sum) ->\n receive\n {increment, Count} ->\n loop(Sum+Count);\n {counter, Pid} ->\n Pid ! {counter, Sum},\n loop(Sum);\n code_switch ->\n ?MODULE:codeswitch(Sum)\n % Force the use of 'codeswitch/1' from the latest MODULE version\n end.\n \n codeswitch(Sum) -> loop(Sum)." - } - ], - "id": "kab7H40N", - "createdAt": 1659498254110, - "updatedAt": 1659498269387 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Forth", - "content": [ - { - "label": "Fragment 1", - "language": "forth", - "value": ": HELLO ( -- ) CR .\" Hello, world!\" ; \n\nHELLO \nHello, world!\n\n: [CHAR] CHAR POSTPONE LITERAL ; IMMEDIATE\n\n0 value ii 0 value jj\n0 value KeyAddr 0 value KeyLen\ncreate SArray 256 allot \\ state array of 256 bytes\n: KeyArray KeyLen mod KeyAddr ;\n\n: get_byte + c@ ;\n: set_byte + c! ;\n: as_byte 255 and ;\n: reset_ij 0 TO ii 0 TO jj ;\n: i_update 1 + as_byte TO ii ;\n: j_update ii SArray get_byte + as_byte TO jj ;\n: swap_s_ij\n jj SArray get_byte\n ii SArray get_byte jj SArray set_byte\n ii SArray set_byte\n;\n\n: rc4_init ( KeyAddr KeyLen -- )\n 256 min TO KeyLen TO KeyAddr\n 256 0 DO i i SArray set_byte LOOP\n reset_ij\n BEGIN\n ii KeyArray get_byte jj + j_update\n swap_s_ij\n ii 255 < WHILE\n ii i_update\n REPEAT\n reset_ij\n;\n: rc4_byte\n ii i_update jj j_update\n swap_s_ij\n ii SArray get_byte jj SArray get_byte + as_byte SArray get_byte xor\n;" - } - ], - "id": "WJIVTmus", - "createdAt": 1659498306633, - "updatedAt": 1659498343211 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Fortran", - "content": [ - { - "label": "Fragment 1", - "language": "fortran", - "value": "PROGRAM Triangle\n IMPLICIT NONE\n REAL :: a, b, c, Area\n PRINT *, 'Welcome, please enter the&\n &lengths of the 3 sides.'\n READ *, a, b, c\n PRINT *, 'Triangle''s area: ', Area(a,b,c)\n END PROGRAM Triangle\n FUNCTION Area(x,y,z)\n IMPLICIT NONE\n REAL :: Area ! function type\n REAL, INTENT( IN ) :: x, y, z\n REAL :: theta, height\n theta = ACOS((x**2+y**2-z**2)/(2.0*x*y))\n height = x*SIN(theta); Area = 0.5*y*height\n END FUNCTION Area\n" - } - ], - "id": "xg3FwrCH", - "createdAt": 1659498365921, - "updatedAt": 1659498805349 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "F#", - "content": [ - { - "label": "Fragment 1", - "language": "fsharp", - "value": "(* fsharp (* example *) *)\nmodule Test =\n let (*) x y = (x + y)\n let func1 x = \n if x < 100 then\n x*x\n else\n x*x + 1\n let list = (-1, 42) :: [ for i in 0 .. 99 -> (i, func1(i)) ]\n let verbatim = @\"c:\\Program \"\" Files\\\"\n let trippleQuote = \"\"\" \"hello world\" \"\"\"\n \n // print\n printfn \"The table of squares from 0 to 99 is:\\n%A\" list" - } - ], - "id": "4PuKBcrb", - "createdAt": 1659498639352, - "updatedAt": 1659498656593 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Gcode", - "content": [ - { - "label": "Fragment 1", - "language": "gcode", - "value": "O003 (DIAMOND SQUARE)\nN2 G54 G90 G49 G80\nN3 M6 T1 (1.ENDMILL)\nN4 M3 S1800\nN5 G0 X-.6 Y2.050\nN6 G43 H1 Z.1\nN7 G1 Z-.3 F50.\nN8 G41 D1 Y1.45\nN9 G1 X0 F20.\nN10 G2 J-1.45\n(CUTTER COMP CANCEL)\nN11 G1 Z-.2 F50.\nN12 Y-.990\nN13 G40\nN14 G0 X-.6 Y1.590\nN15 G0 Z.1\nN16 M5 G49 G28 G91 Z0\nN17 CALL O9456\nN18 #500=0.004\nN19 #503=[#500+#501]\nN20 VC45=0.0006\nVS4=0.0007\nN21 G90 G10 L20 P3 X5.Y4. Z6.567\nN22 G0 X5000\nN23 IF [#1 LT 0.370] GOTO 49\nN24 X-0.678 Y+.990\nN25 G84.3 X-0.1\nN26 #4=#5*COS[45]\nN27 #4=#5*SIN[45]\nN28 VZOFZ=652.9658\n%" - } - ], - "id": "Yh1m0JPQ", - "createdAt": 1659498659758, - "updatedAt": 1659498686965 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Gherkin", - "content": [ - { - "label": "Fragment 1", - "language": "gherkin", - "value": "@these @_are_ @tags\nFeature: Serve coffee\n Coffee should not be served until paid for\n Coffee should not be served until the button has been pressed\n If there is no coffee left then money should be refunded\n \n Scenario Outline: Eating\n Given there are cucumbers\n When I eat cucumbers\n Then I should have cucumbers\n\n Examples:\n | start | eat | left |\n | 12 | 5 | 7 |\n | @20 | 5 | 15 | \n\n Scenario: Buy last coffee\n Given there are 1 coffees left in the machine\n And I have deposited 1$ \n When I press the coffee button\n Then I should be served a \"coffee\"\n \n # this a comment\n \n \"\"\"\n this is a \n pystring\n \"\"\"" - } - ], - "id": "f1l2o8sf", - "createdAt": 1659498687836, - "updatedAt": 1659498719160 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Gitignore", - "content": [ - { - "label": "Fragment 1", - "language": "gitignore", - "value": "node_modules\ndist\nbuild\n\n.vscode\n.idea\n.DS_Store\nsrc/renderer/types/auto-imports.d.ts\nsrc/renderer/types/components.d.ts\n*.log\n*.local\n" - } - ], - "id": "aixATt95", - "createdAt": 1659498731868, - "updatedAt": 1659499011678 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Glsl", - "content": [ - { - "label": "Fragment 1", - "language": "glsl", - "value": "uniform float amplitude;\nattribute float displacement;\nvarying vec3 vNormal;\n\nvoid main() {\n\n vNormal = normal;\n \n // multiply our displacement by the\n // amplitude. The amp will get animated\n // so we'll have animated displacement\n vec3 newPosition = position + \n normal * \n vec3(displacement *\n amplitude);\n\n gl_Position = projectionMatrix *\n modelViewMatrix *\n vec4(newPosition,1.0);\n}" - } - ], - "id": "R8q5LruR", - "createdAt": 1659499012808, - "updatedAt": 1659499050984 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Go", - "content": [ - { - "label": "Fragment 1", - "language": "golang", - "value": "// Concurrent computation of pi.\n// See http://goo.gl/ZuTZM.\n//\n// This demonstrates Go's ability to handle\n// large numbers of concurrent processes.\n// It is an unreasonable way to calculate pi.\npackage main\n\nimport (\n \"fmt\"\n \"math\"\n)\n\nfunc main() {\n fmt.Println(pi(5000))\n}\n\n// pi launches n goroutines to compute an\n// approximation of pi.\nfunc pi(n int) float64 {\n ch := make(chan float64)\n for k := 0; k <= n; k++ {\n go term(ch, float64(k))\n }\n f := 0.0\n for k := 0; k <= n; k++ {\n f += <-ch\n }\n return f\n}\n\nfunc term(ch chan float64, k float64) {\n ch <- 4 * math.Pow(-1, k) / (2*k + 1)\n}\n" - } - ], - "id": "Zckb3-bZ", - "createdAt": 1659499052602, - "updatedAt": 1659499067400 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "GraphQL", - "content": [ - { - "label": "Fragment 1", - "language": "graphqlschema", - "value": "# Main Schema\nschema {\n\tquery: Query;\n}\n\nscalar Date;\n\n# Simple type to contain all scalar types\ntype AllTypes {\n\t# Field Description for String\n\ttestString: String;\n\t# Field Description for Int\n\ttestInt: Int;\n\t# Field Description for ID\n\ttestID: ID;\n\t# Field Description for Boolean\n\ttestBoolean: Boolean;\n\t# Field Description for Float\n\ttestFloat: Float;\n}\n\ninterface ISearchable {\n searchPreview: String!;\n}\n\nunion ProductTypes = Movie | Book;\n\n# Testing enum\nenum MovieGenere {\n ACTION\n COMEDY\n THRILLER\n DRAMA\n}\n\n# Testing Input\ninput SearchByGenere {\n\tbefore: Date;\n\tafter: Date;\n\tgenere: MovieGenere!;\n}\n\n# Testing Interface\ntype Movie implements ISearchable {\n\tid: ID!;\n\tsearchPreview: String!;\n\trentPrice: Float;\n\tpublishDate: Date;\n\tgenere: MovieGenere;\n\tcast: [String];\n}\n\n# Testing Interface\ntype Book implements ISearchable {\n id: ID!;\n\tsearchPreview: String!;\n\tprice: Float;\n\tpublishDate: Date;\n\tauthors: [String];\n}\n\ntype Query {\n\ttestString: String;\n\ttestDate; Date;\n\tallTypes: AllTypes;\n\tallProducts: [ProductTypes];\n\n\t# searches only movies by genere with sophisticated argument\n\tsearchMovieByGenere(searchObject: SearchByGenere!): [Movie];\n\n\t# Searchs all products by text string\n\tsearchProduct(text: String!): [ISearchable];\n}\n" - } - ], - "id": "I8D7xTBJ", - "createdAt": 1659499068100, - "updatedAt": 1659499093557 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Groovy", - "content": [ - { - "label": "Fragment 1", - "language": "groovy", - "value": "//http://groovy.codehaus.org/Martin+Fowler%27s+closure+examples+in+Groovy\n\nclass Employee {\n def name, salary\n boolean manager\n String toString() { return name }\n}\n\ndef emps = [new Employee(name:'Guillaume', manager:true, salary:200),\n new Employee(name:'Graeme', manager:true, salary:200),\n new Employee(name:'Dierk', manager:false, salary:151),\n new Employee(name:'Bernd', manager:false, salary:50)]\n\ndef managers(emps) {\n emps.findAll { e -> e.isManager() }\n}\n\nassert emps[0..1] == managers(emps) // [Guillaume, Graeme]\n\ndef highPaid(emps) {\n threshold = 150\n emps.findAll { e -> e.salary > threshold }\n}\n\nassert emps[0..2] == highPaid(emps) // [Guillaume, Graeme, Dierk]\n\ndef paidMore(amount) {\n { e -> e.salary > amount}\n}\ndef highPaid = paidMore(150)\n\nassert highPaid(emps[0]) // true\nassert emps[0..2] == emps.findAll(highPaid)\n\ndef filename = 'test.txt'\nnew File(filename).withReader{ reader -> doSomethingWith(reader) }\n\ndef readersText\ndef doSomethingWith(reader) { readersText = reader.text }\n\nassert new File(filename).text == readersText" - } - ], - "id": "z2GBS6CZ", - "createdAt": 1659499322019, - "updatedAt": 1659499339818 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "HAML", - "content": [ - { - "label": "Fragment 1", - "language": "haml", - "value": "!!!5\n\n/[if IE]\n %a{ :href => 'http://www.mozilla.com/en-US/firefox/' }\n %h1 Get Firefox\n\n-# This is a HAML comment. It will not show in the output HTML\n\n-#\n This is a HAML multiline comment\n This won't be displayed\n Nor will this\n Nor will this.\n\n/ This is a HTML comment. It will be rendered as HTML\n\n/\n %p This doesn't render...\n %div\n %h1 Because it's commented out!\n\n.row\n .col-md-6\n\n .col-md-6\n\n\n#users.row.green\n #articles{:style => \"border: 5px;\"}\n #lists.list-inline\n\n%div#todos.bg-green{:id => \"#{@item.type}_#{@item.number}\", :class => '#{@item.type} #{@item.urgency}', :phoney => `asdasdasd`}\n\n/ file: app/views/movies/index.html.haml\n\n%ads:{:bleh => 33}\n%p\n Date/Time:\n - now = DateTime.now\n %strong= now\n = if now DateTime.parse(\"December 31, 2006\")\n = \"Happy new \" + \"year!\"\n\n%sfd.dfdfg\n#content\n .title\n %h1= @title\n = link_to 'Home', home_url\n\n #contents\n%div#content\n %div.articles\n %div.article.title Blah\n %div.article.date 2006-11-05\n %div.article.entry\n Neil Patrick Harris\n\n%div[@user, :greeting]\n %bar[290]\n\n/ This is a comment\n\n/ This is another comment with line break above\n\n.row\n .col-md-6\n .col-md-6\n\n .col-md-6\n\n.row\n .col-md-6\n\n\n .col-md-6" - } - ], - "id": "Pm3cn_Li", - "createdAt": 1659499342563, - "updatedAt": 1659499648807 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Handlebars", - "content": [ - { - "label": "Fragment 1", - "language": "handlebars", - "value": "{{!-- Ace + :-}} --}}\n\n
\n {{#each comments}}\n

{{title}}

\n
{{{body}}}
\n {{/each}}\n
\n" - } - ], - "id": "ODMJsyMr", - "createdAt": 1659499670077, - "updatedAt": 1659499699936 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Haskell", - "content": [ - { - "label": "Fragment 1", - "language": "haskell", - "value": "-- Type annotation (optional)\nfib :: Int -> Integer\n \n-- With self-referencing data\nfib n = fibs !! n\n where fibs = 0 : scanl (+) 1 fibs\n -- 0,1,1,2,3,5,...\n \n-- Same, coded directly\nfib n = fibs !! n\n where fibs = 0 : 1 : next fibs\n next (a : t@(b:_)) = (a+b) : next t\n \n-- Similar idea, using zipWith\nfib n = fibs !! n\n where fibs = 0 : 1 : zipWith (+) fibs (tail fibs)\n \n-- Using a generator function\nfib n = fibs (0,1) !! n\n where fibs (a,b) = a : fibs (b,a+b)" - } - ], - "id": "UFZ0EgLY", - "createdAt": 1659499710604, - "updatedAt": 1659499856647 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Haskell Cabal", - "content": [ - { - "label": "Fragment 1", - "language": "haskell_cabal", - "value": "name: reload\nversion: 0.1.0.0\nsynopsis: Initial project template from stack\nDescription:\n The \\'cabal\\' command-line program simplifies the process of managing\n Haskell software by automating the fetching, configuration, compilation\n and installation of Haskell libraries and programs.\nhomepage: https://github.com/jpmoresmau/dbIDE/reload#readme\nlicense: BSD3\nlicense-file: LICENSE\nauthor: JP Moresmau\nmaintainer: jpmoresmau@gmail.com\ncopyright: 2016 JP Moresmau\ncategory: Web\nbuild-type: Simple\n-- extra-source-files:\ncabal-version: >=1.10\n\nFlag network-uri\n description: Get Network.URI from the network-uri package\n default: True\n\nlibrary\n hs-source-dirs: src\n exposed-modules: Language.Haskell.Reload\n build-depends: base >= 4.7 && < 5\n , aeson\n , scotty\n , wai\n , text\n , directory\n , filepath\n , bytestring\n , containers\n , mime-types\n , transformers\n , wai-handler-launch\n , wai-middleware-static\n , wai-extra\n , http-types\n default-language: Haskell2010\n other-modules: Language.Haskell.Reload.FileBrowser\n ghc-options: -Wall -O2\n\nexecutable reload-exe\n hs-source-dirs: app\n main-is: Main.hs\n ghc-options: -threaded -O2 -rtsopts -with-rtsopts=-N\n build-depends: base\n , reload\n default-language: Haskell2010\n\ntest-suite reload-test\n type: exitcode-stdio-1.0\n hs-source-dirs: test\n main-is: Spec.hs\n build-depends: base\n , reload\n , hspec\n , hspec-wai\n , hspec-wai-json\n , aeson\n , directory\n , filepath\n , text\n , containers\n , unordered-containers\n , bytestring\n , wai-extra\n ghc-options: -threaded -O2 -rtsopts -with-rtsopts=-N\n default-language: Haskell2010\n other-modules: Language.Haskell.Reload.FileBrowserSpec\n Language.Haskell.ReloadSpec\n\nsource-repository head\n type: git\n location: https://github.com/jpmoresmau/dbIDE/reload\n" - } - ], - "id": "WfG80xEU", - "createdAt": 1659499806763, - "updatedAt": 1659499855045 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Haxe", - "content": [ - { - "label": "Fragment 1", - "language": "haxe", - "value": "class HelloWorld {\n static public function main() {\n trace(\"Hello World\");\n }\n}" - } - ], - "id": "IFnOQiFX", - "createdAt": 1659499858660, - "updatedAt": 1659499965939 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Hjson", - "content": [ - { - "label": "Fragment 1", - "language": "hjson", - "value": "{\n # specify rate in requests/second (because comments are helpful!)\n rate: 1000\n\n // prefer c-style comments?\n /* feeling old fashioned? */\n\n # did you notice that rate doesn't need quotes?\n hey: look ma, no quotes for strings either!\n\n # best of all\n notice: []\n anything: ?\n\n # yes, commas are optional!\n}\n" - } - ], - "id": "u3Hrb4_j", - "createdAt": 1659500000006, - "updatedAt": 1659500019395 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "HTML", - "content": [ - { - "label": "Fragment 1", - "language": "html", - "value": "\n\n \n\n \n\n \n\n \n

Juhu Kinners

\n \n" - } - ], - "id": "V0-nWcOY", - "createdAt": 1659500022244, - "updatedAt": 1659500070479 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "HTML - Elixir", - "content": [ - { - "label": "Fragment 1", - "language": "html_elixir", - "value": "

Listing Books

\n \n\n \n \n \n \n \n \n \n\n<%= for book <- @books do %>\n \n <%# comment %>\n \n \n \n \n \n \n<% end %>\n
TitleSummary
<%= book.title %><%= book.content %><%= link \"Show\", to: book_path(@conn, :show, book) %><%= link \"Edit\", to: book_path(@conn, :edit, book) %><%= link \"Delete\", to: book_path(@conn, :delete, book), method: :delete, data: [confirm: \"Are you sure?\"] %>
\n \n
\n \n<%= link \"New book\", to: book_path(@conn, :new) %>\n" - } - ], - "id": "uHpMvpVG", - "createdAt": 1659500072593, - "updatedAt": 1659500094531 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "HTML - Ruby", - "content": [ - { - "label": "Fragment 1", - "language": "html_ruby", - "value": "

Listing Books

\n \n\n \n \n \n \n \n \n \n \n<% @books.each do |book| %>\n \n <%# comment %>\n \n \n \n \n \n \n<% end %>\n
TitleSummary
<%= book.title %><%= book.content %><%= link_to 'Show', book %><%= link_to 'Edit', edit_book_path(book) %><%= link_to 'Remove', book, :confirm => 'Are you sure?', :method => :delete %>
\n \n
\n \n<%= link_to 'New book', new_book_path %>" - } - ], - "id": "pKfYEkh4", - "createdAt": 1659500102423, - "updatedAt": 1659500124757 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "INI", - "content": [ - { - "label": "Fragment 1", - "language": "ini", - "value": "[.ShellClassInfo]\nIconResource=..\\logo.png\n[ViewState]\nFolderType=Generic\n" - } - ], - "id": "fuJCASxY", - "createdAt": 1659500146290, - "updatedAt": 1659500158650 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Io", - "content": [ - { - "label": "Fragment 1", - "language": "io", - "value": "// computes factorial of a number\nfactorial := method(n,\n if(n == 0, return 1)\n res := 1\n Range 1 to(n) foreach(i, res = res * i)\n)" - } - ], - "id": "_57pBmcn", - "createdAt": 1659500159351, - "updatedAt": 1659500168731 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Java", - "content": [ - { - "label": "Fragment 1", - "language": "java", - "value": "import java.util.ArrayList;\nimport java.util.Vector;\n\npublic class InfiniteLoop {\n\n /*\n * This will cause the program to hang...\n *\n * Taken from:\n * http://www.exploringbinary.com/java-hangs-when-converting-2-2250738585072012e-308/\n */\n public static void main(String[] args) {\n double d = Double.parseDouble(\"2.2250738585072012e-308\");\n\n // unreachable code\n System.out.println(\"Value: \" + d);\n }\n}\n" - } - ], - "id": "HKSteGIX", - "createdAt": 1659500267524, - "updatedAt": 1659500281323 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "JavaScript", - "content": [ - { - "label": "Fragment 1", - "language": "javascript", - "value": "// program to generate fibonacci series up to n terms\n\n// take input from the user\nconst number = parseInt(prompt('Enter the number of terms: '));\nlet n1 = 0, n2 = 1, nextTerm;\n\nconsole.log('Fibonacci Series:');\n\nfor (let i = 1; i <= number; i++) {\n console.log(n1);\n nextTerm = n1 + n2;\n n1 = n2;\n n2 = nextTerm;\n}" - } - ], - "id": "WYzSf25T", - "createdAt": 1659500310669, - "updatedAt": 1659506836763 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "JSON", - "content": [ - { - "label": "Fragment 1", - "language": "json", - "value": "{\n \"query\": {\n \"count\": 10,\n \"created\": \"2011-06-21T08:10:46Z\",\n \"lang\": \"en-US\",\n \"results\": {\n \"photo\": [\n {\n \"farm\": \"6\",\n \"id\": \"5855620975\",\n \"isfamily\": \"0\",\n \"isfriend\": \"0\",\n \"ispublic\": \"1\",\n \"owner\": \"32021554@N04\",\n \"secret\": \"f1f5e8515d\",\n \"server\": \"5110\",\n \"title\": \"7087 bandit cat\"\n },\n {\n \"farm\": \"4\",\n \"id\": \"5856170534\",\n \"isfamily\": \"0\",\n \"isfriend\": \"0\",\n \"ispublic\": \"1\",\n \"owner\": \"32021554@N04\",\n \"secret\": \"ff1efb2a6f\",\n \"server\": \"3217\",\n \"title\": \"6975 rusty cat\"\n },\n {\n \"farm\": \"6\",\n \"id\": \"5856172972\",\n \"isfamily\": \"0\",\n \"isfriend\": \"0\",\n \"ispublic\": \"1\",\n \"owner\": \"51249875@N03\",\n \"secret\": \"6c6887347c\",\n \"server\": \"5192\",\n \"title\": \"watermarked-cats\"\n },\n {\n \"farm\": \"6\",\n \"id\": \"5856168328\",\n \"isfamily\": \"0\",\n \"isfriend\": \"0\",\n \"ispublic\": \"1\",\n \"owner\": \"32021554@N04\",\n \"secret\": \"0c1cfdf64c\",\n \"server\": \"5078\",\n \"title\": \"7020 mandy cat\"\n },\n {\n \"farm\": \"3\",\n \"id\": \"5856171774\",\n \"isfamily\": \"0\",\n \"isfriend\": \"0\",\n \"ispublic\": \"1\",\n \"owner\": \"32021554@N04\",\n \"secret\": \"7f5a3180ab\",\n \"server\": \"2696\",\n \"title\": \"7448 bobby cat\"\n }\n ]\n }\n }\n}" - } - ], - "id": "wiv80DI7", - "createdAt": 1659506841624, - "updatedAt": 1659506858438 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "JSON5", - "content": [ - { - "label": "Fragment 1", - "language": "json5", - "value": "{\n foo: 'bar',\n while: true,\n\n this: 'is a \\\nmulti-line string',\n\n // this is an inline comment\n here: 'is another', // inline comment\n\n /* this is a block comment\n that continues on another line */\n\n hex: 0xDEADbeef,\n half: .5,\n delta: +10,\n to: Infinity, // and beyond!\n\n finally: 'a trailing comma',\n oh: [\n \"we shouldn't forget\",\n 'arrays can have',\n 'trailing commas too',\n ],\n}" - } - ], - "id": "WR8cSFol", - "createdAt": 1659506858891, - "updatedAt": 1659506873434 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "JSONiq", - "content": [ - { - "label": "Fragment 1", - "language": "jsoniq", - "value": "{|\n for $store in collection(\"stores\")\n let $state := $store.state\n group by $state\n return {\n $state : {|\n for $product in collection(\"products\")\n let $category := $product.category\n group by $category\n return {\n $category : {|\n for $sales in collection(\"sales\")\n where (some $s in $store\n satisfies $sales.\"store number\" eq $s.\"store number\")\n and (some $p in $product\n satisfies $sales.product eq $p.name)\n let $pname := $sales.product\n group by $pname\n return { $pname : sum( $sales.quantity ) }\n |}\n }\n |}\n }\n|}" - } - ], - "id": "zt-pHlzR", - "createdAt": 1659506875045, - "updatedAt": 1659507021385 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "JSP", - "content": [ - { - "label": "Fragment 1", - "language": "jsp", - "value": "<%-- initial comment --%>\n<%@ page import=\"java.util.Date\" %>\n<%--@ page isELIgnored=\"true\" //Now EL will be ignored --%>\n\n \n int day = 3;\n \n <%@ include file=\"relative url\" %>\n \n \n Day <%= day %>\n \n \n \n \n\n

\n Today's date: <%= (new java.util.Date()).toLocaleString()%>\n

\n <%! int day = 3; %> \n \n \n \n \n <%-- This comment will not be visible in the page source --%>\n \n \n

\n Today's date: <%= (new java.util.Date()).toLocaleString()%>\n

\n \n<%! int i = 0; %>\n \n int j = 10;\n \n\n <%-- This is JSP comment --%>\n <%@ directive attribute=\"value\" %>\n\n

Select Languages:

\n\n
\n Java
\n .NET
\n PHP
\n C/C++
\n PERL
\n \n
\n\n <%\n String select[] = request.getParameterValues(\"id\"); \n if (select != null && select.length != 0) {\n out.println(\"You have selected: \");\n for (int i = 0; i < select.length; i++) {\n out.println(select[i]); \n }\n }\n %>\n\n\n <% \n switch(day) {\n case 0:\n out.println(\"It\\'s Sunday.\");\n break;\n case 1:\n out.println(\"It\\'s Monday.\");\n break;\n case 2:\n out.println(\"It\\'s Tuesday.\");\n break;\n case 3:\n out.println(\"It\\'s Wednesday.\");\n break;\n case 4:\n out.println(\"It\\'s Thursday.\");\n break;\n case 5:\n out.println(\"It\\'s Friday.\");\n break;\n //hello\n default:\n out.println(\"It's Saturday.\");\n }\n %>\n

\n \n out.println(\"Your IP address is \" + request.getRemoteAddr());\n \n

\n \n\n" - } - ], - "id": "O9ZhMEjD", - "createdAt": 1659507024658, - "updatedAt": 1659507037230 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "JSX", - "content": [ - { - "label": "Fragment 1", - "language": "jsx", - "value": "function formatName(user) {\n return user.firstName + ' ' + user.lastName;\n}\n\nconst user = {\n firstName: 'Harper',\n lastName: 'Perez'\n};\n\nconst element = (\n

\n Hello, {formatName(user)}!\n

\n);" - } - ], - "id": "XphCA0jL", - "createdAt": 1659507038119, - "updatedAt": 1659507099781 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Julia", - "content": [ - { - "label": "Fragment 1", - "language": "julia", - "value": "for op = (:+, :*, :&, :|, :$)\n @eval ($op)(a,b,c) = ($op)(($op)(a,b),c)\nend\n\nv = α';\nfunction g(x,y)\n return x * y\n x + y\nend\n\ncd(\"data\") do\n open(\"outfile\", \"w\") do f\n write(f, data)\n end\nend\n" - } - ], - "id": "F24mNogB", - "createdAt": 1659507115215, - "updatedAt": 1659507129381 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Kotlin", - "content": [ - { - "label": "Fragment 1", - "language": "kotlin", - "value": "/*Taken from http://try.kotlinlang.org/#/Examples/Longer%20examples/Life/Life.kt*/\n/**\n * This is a straightforward implementation of The Game of Life\n * See http://en.wikipedia.org/wiki/Conway's_Game_of_Life\n */\npackage life\n\n/*\n * A field where cells live. Effectively immutable\n */\nclass Field(\n val width: Int,\n val height: Int,\n // This function tells the constructor which cells are alive\n // if init(i, j) is true, the cell (i, j) is alive\n init: (Int, Int) -> Boolean\n) {\n private val live: Array> = Array(height) { i -> Array(width) { j -> init(i, j) } }\n\n private fun liveCount(i: Int, j: Int)\n = if (i in 0..height - 1 &&\n j in 0..width - 1 &&\n live[i][j]) 1 else 0\n\n // How many neighbors of (i, j) are alive?\n fun liveNeighbors(i: Int, j: Int) =\n liveCount(i - 1, j - 1) +\n liveCount(i - 1, j) +\n liveCount(i - 1, j + 1) +\n liveCount(i, j - 1) +\n liveCount(i, j + 1) +\n liveCount(i + 1, j - 1) +\n liveCount(i + 1, j) +\n liveCount(i + 1, j + 1)\n\n // You can say field[i, j], and this function gets called\n operator fun get(i: Int, j: Int) = live[i][j]\n}\n\n/**\n * This function takes the present state of the field\n * and returns a new field representing the next moment of time\n */\nfun next(field: Field): Field {\n return Field(field.width, field.height) { i, j ->\n val n = field.liveNeighbors(i, j)\n if (field[i, j])\n // (i, j) is alive\n n in 2..3 // It remains alive iff it has 2 or 3 neighbors\n else\n // (i, j) is dead\n n == 3 // A new cell is born if there are 3 neighbors alive\n }\n}\n\n/** A few colony examples here */\nfun main(args: Array) {\n // Simplistic demo\n runGameOfLife(\"***\", 3)\n // \"Star burst\"\n runGameOfLife(\"\"\"\n _______\n ___*___\n __***__\n ___*___\n _______\n \"\"\", 10)\n // Stable colony\n runGameOfLife(\"\"\"\n _____\n __*__\n _*_*_\n __*__\n _____\n \"\"\", 3)\n // Stable from the step 2\n runGameOfLife(\"\"\"\n __**__\n __**__\n __**__\n \"\"\", 3)\n // Oscillating colony\n runGameOfLife(\"\"\"\n __**____\n __**____\n ____**__\n ____**__\n \"\"\", 6)\n // A fancier oscillating colony\n runGameOfLife(\"\"\"\n -------------------\n -------***---***---\n -------------------\n -----*----*-*----*-\n -----*----*-*----*-\n -----*----*-*----*-\n -------***---***---\n -------------------\n -------***---***---\n -----*----*-*----*-\n -----*----*-*----*-\n -----*----*-*----*-\n -------------------\n -------***---***---\n -------------------\n \"\"\", 10)\n}\n\n// UTILITIES\n\nfun runGameOfLife(fieldText: String, steps: Int) {\n var field = makeField(fieldText)\n for (step in 1..steps) {\n println(\"Step: $step\")\n for (i in 0..field.height - 1) {\n for (j in 0..field.width - 1) {\n print(if (field[i, j]) \"*\" else \" \")\n }\n println(\"\")\n }\n field = next(field)\n }\n}\n\nfun makeField(s: String): Field {\n val lines = s.replace(\" \", \"\").split('\\n').filter({ it.isNotEmpty() })\n val longestLine = lines.toList().maxBy { it.length } ?: \"\"\n\n return Field(longestLine.length, lines.size) { i, j -> lines[i][j] == '*' }\n}\n" - } - ], - "id": "988hcpdB", - "createdAt": 1659507129809, - "updatedAt": 1659507144115 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "LaTeX", - "content": [ - { - "label": "Fragment 1", - "language": "latex", - "value": "\\usepackage{amsmath}\n\\title{\\LaTeX}\n\\date{}\n\\begin{document}\n \\maketitle\n \\LaTeX{} is a document preparation system for the \\TeX{}\n typesetting program. It offers programmable desktop publishing\n features and extensive facilities for automating most aspects of\n typesetting and desktop publishing, including numbering and\n cross-referencing, tables and figures, page layout, bibliographies,\n and much more. \\LaTeX{} was originally written in 1984 by Leslie\n Lamport and has become the dominant method for using \\TeX; few\n people write in plain \\TeX{} anymore. The current version is\n \\LaTeXe.\n \n % This is a comment; it will not be shown in the final output.\n % The following shows a little of the typesetting power of LaTeX:\n \\begin{align}\n E &= mc^2 \\\\\n m &= \\frac{m_0}{\\sqrt{1-\\frac{v^2}{c^2}}}\n \\end{align}\n\\end{document}" - } - ], - "id": "vw9XW5pz", - "createdAt": 1659507144676, - "updatedAt": 1659507163800 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Latte", - "content": [ - { - "label": "Fragment 1", - "language": "latte", - "value": "\n\n \n {$title}\n {* \n \tcomment\n *}\n \n \n \t

My Webpage

\n\n \n\n {$variable}\n {=$variable}\n {XXXX::func($variable /* comment */)|filter}\n {$variable?->obj|filter:10, abc, 'x$var', \"x$var\"|filter2}\n\n {if} ... {/if true}\n\n \n\n \n \n\n" - } - ], - "id": "lpS7qmbw", - "createdAt": 1659507165157, - "updatedAt": 1659507179678 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "LESS", - "content": [ - { - "label": "Fragment 1", - "language": "less", - "value": "/* styles.less */\n\n@base: #f938ab;\n\n.box-shadow(@style, @c) when (iscolor(@c)) {\n box-shadow: @style @c;\n -webkit-box-shadow: @style @c;\n -moz-box-shadow: @style @c;\n}\n.box-shadow(@style, @alpha: 50%) when (isnumber(@alpha)) {\n .box-shadow(@style, rgba(0, 0, 0, @alpha));\n}\n\n// Box styles\n.box { \n color: saturate(@base, 5%);\n border-color: lighten(@base, 30%);\n \n div { .box-shadow(0 0 5px, 30%) }\n \n a {\n color: @base;\n \n &:hover {\n color: lighten(@base, 50%);\n }\n }\n}\n" - } - ], - "id": "zlgx6H3d", - "createdAt": 1659507180386, - "updatedAt": 1659507196282 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Liquid", - "content": [ - { - "label": "Fragment 1", - "language": "liquid", - "value": "

Case

\n

\n {% case template %}\n {% when 'index' %}\n Welcome\n {% when 'product' %}\n {{ product.vendor | link_to_vendor }} / {{ product.title }}\n {% else %}\n {{ page_title }}\n {% endcase %}\n

" - } - ], - "id": "KPiQX14z", - "createdAt": 1659507197756, - "updatedAt": 1659507253969 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Lisp", - "content": [ - { - "label": "Fragment 1", - "language": "lisp", - "value": "(defun prompt-for-cd ()\n \"Prompts\n for CD\"\n (prompt-read \"Title\" 1.53 1 2/4 1.7 1.7e0 2.9E-4 +42 -7 #b001 #b001/100 #o777 #O777 #xabc55 #c(0 -5.6))\n (prompt-read \"Artist\" &rest)\n (or (parse-integer (prompt-read \"Rating\") :junk-allowed t) 0)\n (if x (format t \"yes\") (format t \"no\" nil) ;and here comment\n ) 0xFFLL -23ull\n ;; second line comment\n '(+ 1 2)\n (defvar *lines*) ; list of all lines\n (position-if-not #'sys::whitespacep line :start beg))\n (quote (privet 1 2 3))\n '(hello world)\n (* 5 7)\n (1 2 34 5)\n (:use \"aaaa\")\n (let ((x 10) (y 20))\n (print (+ x y))\n ) LAmbDa\n\n \"asdad\\0eqweqe\"" - } - ], - "id": "k_9v_WLO", - "createdAt": 1659507254799, - "updatedAt": 1659507266545 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "LiveScript", - "content": [ - { - "label": "Fragment 1", - "language": "livescript", - "value": "# Defines an editing mode for [Ace](https://ace.c9.io).\n#\n# Open [test/ace.html](../test/ace.html) to test.\n\nrequire, exports, module <-! define \\ace/mode/ls\n\nidentifier = /(?![\\d\\s])[$\\w\\xAA-\\uFFDC](?:(?!\\s)[$\\w\\xAA-\\uFFDC]|-[A-Za-z])*/$\n\nexports.Mode = class LiveScriptMode extends require(\\ace/mode/text)Mode\n ->\n @$tokenizer =\n new (require \\ace/tokenizer)Tokenizer LiveScriptMode.Rules\n if require \\ace/mode/matching_brace_outdent\n @$outdent = new that.MatchingBraceOutdent\n\n indenter = // (?\n : [({[=:]\n | [-~]>\n | \\b (?: e(?:lse|xport) | d(?:o|efault) | t(?:ry|hen) | finally |\n import (?:\\s* all)? | const | var |\n let | new | catch (?:\\s* #identifier)? )\n ) \\s* $ //\n\n getNextLineIndent: (state, line, tab) ->\n indent = @$getIndent line\n {tokens} = @$tokenizer.getLineTokens line, state\n unless tokens.length and tokens[*-1]type is \\comment\n indent += tab if state is \\start and indenter.test line\n indent\n\n toggleCommentLines: (state, doc, startRow, endRow) ->\n comment = /^(\\s*)#/; range = new (require \\ace/range)Range 0 0 0 0\n for i from startRow to endRow\n if out = comment.test line = doc.getLine i\n then line.=replace comment, \\$1\n else line.=replace /^\\s*/ \\$&#\n range.end.row = range.start.row = i\n range.end.column = line.length + 1\n doc.replace range, line\n 1 - out * 2\n\n checkOutdent: (state, line, input) -> @$outdent?checkOutdent line, input\n\n autoOutdent: (state, doc, row) -> @$outdent?autoOutdent doc, row\n\n### Highlight Rules\n\nkeywordend = /(?![$\\w]|-[A-Za-z]|\\s*:(?![:=]))/$\nstringfill = token: \\string, regex: '.+'\n\nLiveScriptMode.Rules =\n start:\n * token: \\keyword\n regex: //(?\n :t(?:h(?:is|row|en)|ry|ypeof!?)\n |c(?:on(?:tinue|st)|a(?:se|tch)|lass)\n |i(?:n(?:stanceof)?|mp(?:ort(?:\\s+all)?|lements)|[fs])\n |d(?:e(?:fault|lete|bugger)|o)\n |f(?:or(?:\\s+own)?|inally|unction)\n |s(?:uper|witch)\n |e(?:lse|x(?:tends|port)|val)\n |a(?:nd|rguments)\n |n(?:ew|ot)\n |un(?:less|til)\n |w(?:hile|ith)\n |o[fr]|return|break|let|var|loop\n )//$ + keywordend\n\n * token: \\constant.language\n regex: '(?:true|false|yes|no|on|off|null|void|undefined)' + keywordend\n\n * token: \\invalid.illegal\n regex: '(?\n :p(?:ackage|r(?:ivate|otected)|ublic)\n |i(?:mplements|nterface)\n |enum|static|yield\n )' + keywordend\n\n * token: \\language.support.class\n regex: '(?\n :R(?:e(?:gExp|ferenceError)|angeError)\n |S(?:tring|yntaxError)\n |E(?:rror|valError)\n |Array|Boolean|Date|Function|Number|Object|TypeError|URIError\n )' + keywordend\n\n * token: \\language.support.function\n regex: '(?\n :is(?:NaN|Finite)\n |parse(?:Int|Float)\n |Math|JSON\n |(?:en|de)codeURI(?:Component)?\n )' + keywordend\n\n * token: \\variable.language\n regex: '(?:t(?:hat|il|o)|f(?:rom|allthrough)|it|by|e)' + keywordend\n\n * token: \\identifier\n regex: identifier + /\\s*:(?![:=])/$\n\n * token: \\variable\n regex: identifier\n\n * token: \\keyword.operator\n regex: /(?:\\.{3}|\\s+\\?)/$\n\n * token: \\keyword.variable\n regex: /(?:@+|::|\\.\\.)/$\n next : \\key\n\n * token: \\keyword.operator\n regex: /\\.\\s*/$\n next : \\key\n\n * token: \\string\n regex: /\\\\\\S[^\\s,;)}\\]]*/$\n\n * token: \\string.doc\n regex: \\'''\n next : \\qdoc\n\n * token: \\string.doc\n regex: \\\"\"\"\n next : \\qqdoc\n\n * token: \\string\n regex: \\'\n next : \\qstring\n\n * token: \\string\n regex: \\\"\n next : \\qqstring\n\n * token: \\string\n regex: \\`\n next : \\js\n\n * token: \\string\n regex: '<\\\\['\n next : \\words\n\n * token: \\string.regex\n regex: \\//\n next : \\heregex\n\n * token: \\comment.doc\n regex: '/\\\\*'\n next : \\comment\n\n * token: \\comment\n regex: '#.*'\n\n * token: \\string.regex\n regex: //\n /(?: [^ [ / \\n \\\\ ]*\n (?: (?: \\\\.\n | \\[ [^\\]\\n\\\\]* (?:\\\\.[^\\]\\n\\\\]*)* \\]\n ) [^ [ / \\n \\\\ ]*\n )*\n )/ [gimy$]{0,4}\n //$\n next : \\key\n\n * token: \\constant.numeric\n regex: '(?:0x[\\\\da-fA-F][\\\\da-fA-F_]*\n |(?:[2-9]|[12]\\\\d|3[0-6])r[\\\\da-zA-Z][\\\\da-zA-Z_]*\n |(?:\\\\d[\\\\d_]*(?:\\\\.\\\\d[\\\\d_]*)?|\\\\.\\\\d[\\\\d_]*)\n (?:e[+-]?\\\\d[\\\\d_]*)?[\\\\w$]*)'\n\n * token: \\lparen\n regex: '[({[]'\n\n * token: \\rparen\n regex: '[)}\\\\]]'\n next : \\key\n\n * token: \\keyword.operator\n regex: \\\\\\S+\n\n * token: \\text\n regex: \\\\\\s+\n\n heregex:\n * token: \\string.regex\n regex: '.*?//[gimy$?]{0,4}'\n next : \\start\n * token: \\string.regex\n regex: '\\\\s*#{'\n * token: \\comment.regex\n regex: '\\\\s+(?:#.*)?'\n * token: \\string.regex\n regex: '\\\\S+'\n\n key:\n * token: \\keyword.operator\n regex: '[.?@!]+'\n * token: \\identifier\n regex: identifier\n next : \\start\n * token: \\text\n regex: '.'\n next : \\start\n\n comment:\n * token: \\comment.doc\n regex: '.*?\\\\*/'\n next : \\start\n * token: \\comment.doc\n regex: '.+'\n\n qdoc:\n token: \\string\n regex: \".*?'''\"\n next : \\key\n stringfill\n\n qqdoc:\n token: \\string\n regex: '.*?\"\"\"'\n next : \\key\n stringfill\n\n qstring:\n token: \\string\n regex: /[^\\\\']*(?:\\\\.[^\\\\']*)*'/$\n next : \\key\n stringfill\n\n qqstring:\n token: \\string\n regex: /[^\\\\\"]*(?:\\\\.[^\\\\\"]*)*\"/$\n next : \\key\n stringfill\n\n js:\n token: \\string\n regex: /[^\\\\`]*(?:\\\\.[^\\\\`]*)*`/$\n next : \\key\n stringfill\n\n words:\n token: \\string\n regex: '.*?\\\\]>'\n next : \\key\n stringfill\n" - } - ], - "id": "VG6x4-d_", - "createdAt": 1659507267074, - "updatedAt": 1659507283998 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "LSL", - "content": [ - { - "label": "Fragment 1", - "language": "lsl", - "value": "/*\n Testing syntax highlighting\n of Ace Editor\n for the Linden Scripting Language\n*/\n\ninteger someIntNormal = 3672;\ninteger someIntHex = 0x00000000;\ninteger someIntMath = PI_BY_TWO;\n\ninteger event = 5673; // invalid.illegal\n\nkey someKeyTexture = TEXTURE_DEFAULT;\nstring someStringSpecial = EOF;\n\nsome_user_defined_function_without_return_type(string inputAsString)\n{\n llSay(PUBLIC_CHANNEL, inputAsString);\n}\n\nstring user_defined_function_returning_a_string(key inputAsKey)\n{\n return (string)inputAsKey;\n}\n\ndefault\n{\n state_entry()\n {\n key someKey = NULL_KEY;\n someKey = llGetOwner();\n\n string someString = user_defined_function_returning_a_string(someKey);\n\n some_user_defined_function_without_return_type(someString);\n }\n\n touch_start(integer num_detected)\n {\n list agentsInRegion = llGetAgentList(AGENT_LIST_REGION, []);\n integer numOfAgents = llGetListLength(agentsInRegion);\n\n integer index; // defaults to 0\n for (; index <= numOfAgents - 1; index++) // for each agent in region\n {\n llRegionSayTo(llList2Key(agentsInRegion, index), PUBLIC_CHANNEL, \"Hello, Avatar!\");\n }\n }\n\n touch_end(integer num_detected)\n {\n someIntNormal = 3672;\n someIntHex = 0x00000000;\n someIntMath = PI_BY_TWO;\n\n event = 5673; // invalid.illegal\n\n someKeyTexture = TEXTURE_DEFAULT;\n someStringSpecial = EOF;\n\n llSetInventoryPermMask(\"some item\", MASK_NEXT, PERM_ALL); // reserved.godmode\n\n llWhisper(PUBLIC_CHANNEL, \"Leaving \\\"default\\\" now...\");\n state other;\n }\n}\n\nstate other\n{\n state_entry()\n {\n llWhisper(PUBLIC_CHANNEL, \"Entered \\\"state other\\\", returning to \\\"default\\\" again...\");\n state default;\n }\n}\n" - } - ], - "id": "jdK6UsDj", - "createdAt": 1659507284423, - "updatedAt": 1659507452974 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Lua", - "content": [ - { - "label": "Fragment 1", - "language": "lua", - "value": "--[[--\nnum_args takes in 5.1 byte code and extracts the number of arguments\nfrom its function header.\n--]]--\n\nfunction int(t)\n\treturn t:byte(1)+t:byte(2)*0x100+t:byte(3)*0x10000+t:byte(4)*0x1000000\nend\n\nfunction num_args(func)\n\tlocal dump = string.dump(func)\n\tlocal offset, cursor = int(dump:sub(13)), offset + 26\n\t--Get the params and var flag (whether there's a ... in the param)\n\treturn dump:sub(cursor):byte(), dump:sub(cursor+1):byte()\nend\n\n-- Usage:\nnum_args(function(a,b,c,d, ...) end) -- return 4, 7\n\n-- Python styled string format operator\nlocal gm = debug.getmetatable(\"\")\n\ngm.__mod=function(self, other)\n if type(other) ~= \"table\" then other = {other} end\n for i,v in ipairs(other) do other[i] = tostring(v) end\n return self:format(unpack(other))\nend\n\nprint([===[\n blah blah %s, (%d %d)\n]===]%{\"blah\", num_args(int)})\n\n--[=[--\ntable.maxn is deprecated, use # instead.\n--]=]--\nprint(table.maxn{1,2,[4]=4,[8]=8) -- outputs 8 instead of 2\n\nprint(5 --[[ blah ]])" - } - ], - "id": "HZVQW3Q8", - "createdAt": 1659507732882, - "updatedAt": 1659507747073 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Makefile", - "content": [ - { - "label": "Fragment 1", - "language": "makefile", - "value": ".PHONY: apf ext worker mode theme package test\n\ndefault: apf worker\n\nupdate: worker\n\n# packages apf\n\n# This is the first line of a comment \\\nand this is still part of the comment \\\nas is this, since I keep ending each line \\\nwith a backslash character\n\napf:\n cd node_modules/packager; node package.js projects/apf_cloud9.apr\n\tcd node_modules/packager; cat build/apf_release.js | sed 's/\\(\\/\\*FILEHEAD(\\).*//g' > ../../plugins-client/lib.apf/www/apf-packaged/apf_release.js\n\n# package debug version of apf\napfdebug:\n\tcd node_modules/packager/projects; cat apf_cloud9.apr | sed 's///g' > apf_cloud9_debug2.apr\n\tcd node_modules/packager/projects; cat apf_cloud9_debug2.apr | sed 's/apf_release/apf_debug/g' > apf_cloud9_debug.apr; rm apf_cloud9_debug2.apr\n\tcd node_modules/packager; node package.js projects/apf_cloud9_debug.apr\n\tcd node_modules/packager; cat build/apf_debug.js | sed 's/\\(\\/\\*FILEHEAD(\\).*\\/apf\\/\\(.*\\)/\\1\\2/g' > ../../plugins-client/lib.apf/www/apf-packaged/apf_debug.js\n\n# package_apf--temporary fix for non-workering infra\npack_apf:\n\tmkdir -p build/src\n\tmv plugins-client/lib.apf/www/apf-packaged/apf_release.js build/src/apf_release.js\n\tnode build/r.js -o name=./build/src/apf_release.js out=./plugins-client/lib.apf/www/apf-packaged/apf_release.js baseUrl=.\n\n# makes ace; at the moment, requires dryice@0.4.2\nace:\n\tcd node_modules/ace; make clean pre_build; ./Makefile.dryice.js minimal\n\n\n# packages core\ncore: ace\n\tmkdir -p build/src\n\tnode build/r.js -o build/core.build.js\n\n# generates packed template\nhelper: \n\tnode build/packed_helper.js\n\nhelper_clean:\n\tmkdir -p build/src\n\tnode build/packed_helper.js 1\n\n# packages ext\next: \n\tnode build/r.js -o build/app.build.js\n\n# calls dryice on worker & packages it\nworker: plugins-client/lib.ace/www/worker/worker-language.js\n\nplugins-client/lib.ace/www/worker/worker-language.js plugins-client/lib.ace/www/worker/worker-javascript.js : \\\n $(wildcard node_modules/ace/*) $(wildcard node_modules/ace/*/*) $(wildcard node_modules/ace/*/*/mode/*) \\\n $(wildcard plugins-client/ext.language/*) \\\n $(wildcard plugins-client/ext.language/*/*) \\\n $(wildcard plugins-client/ext.linereport/*) \\\n $(wildcard plugins-client/ext.codecomplete/*) \\\n $(wildcard plugins-client/ext.codecomplete/*/*) \\\n $(wildcard plugins-client/ext.jslanguage/*) \\\n $(wildcard plugins-client/ext.jslanguage/*/*) \\\n $(wildcard plugins-client/ext.csslanguage/*) \\\n $(wildcard plugins-client/ext.csslanguage/*/*) \\\n $(wildcard plugins-client/ext.htmllanguage/*) \\\n $(wildcard plugins-client/ext.htmllanguage/*/*) \\\n $(wildcard plugins-client/ext.jsinfer/*) \\\n $(wildcard plugins-client/ext.jsinfer/*/*) \\\n $(wildcard node_modules/treehugger/lib/*) \\\n $(wildcard node_modules/treehugger/lib/*/*) \\\n $(wildcard node_modules/ace/lib/*) \\\n $(wildcard node_modules/ace/*/*) \\\n Makefile.dryice.js\n\tmkdir -p plugins-client/lib.ace/www/worker\n\trm -rf /tmp/c9_worker_build\n\tmkdir -p /tmp/c9_worker_build/ext\n\tln -s `pwd`/plugins-client/ext.language /tmp/c9_worker_build/ext/language\n\tln -s `pwd`/plugins-client/ext.codecomplete /tmp/c9_worker_build/ext/codecomplete\n\tln -s `pwd`/plugins-client/ext.jslanguage /tmp/c9_worker_build/ext/jslanguage\n\tln -s `pwd`/plugins-client/ext.csslanguage /tmp/c9_worker_build/ext/csslanguage\n\tln -s `pwd`/plugins-client/ext.htmllanguage /tmp/c9_worker_build/ext/htmllanguage\n\tln -s `pwd`/plugins-client/ext.linereport /tmp/c9_worker_build/ext/linereport\n\tln -s `pwd`/plugins-client/ext.linereport_php /tmp/c9_worker_build/ext/linereport_php\n\tnode Makefile.dryice.js worker\n\tcp node_modules/ace/build/src/worker* plugins-client/lib.ace/www/worker\n\ndefine \n\nifeq\n\noverride\n\n# copies built ace modes\nmode:\n\tmkdir -p plugins-client/lib.ace/www/mode\n\tcp `find node_modules/ace/build/src | grep -E \"mode-[a-zA-Z_0-9]+.js\"` plugins-client/lib.ace/www/mode\n\n# copies built ace themes\ntheme:\n\tmkdir -p plugins-client/lib.ace/www/theme\n\tcp `find node_modules/ace/build/src | grep -E \"theme-[a-zA-Z_0-9]+.js\"` plugins-client/lib.ace/www/theme\n\ngzip_safe:\n\tfor i in `ls ./plugins-client/lib.packed/www/*.js`; do \\\n\t\tgzip -9 -v -c -q -f $$i > $$i.gz ; \\\n\tdone\n\ngzip:\n\tfor i in `ls ./plugins-client/lib.packed/www/*.js`; do \\\n\t\tgzip -9 -v -q -f $$i ; \\\n\tdone\n\nc9core: apf ace core worker mode theme\n \npackage_clean: helper_clean c9core ext\n\npackage: helper c9core ext\n\ntest check:\n\ttest/run-tests.sh\t" - } - ], - "id": "fhPJadfE", - "createdAt": 1659507748672, - "updatedAt": 1659507763698 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Markdown", - "content": [ - { - "label": "Fragment 1", - "language": "markdown", - "value": "## Support\n\nmassCode need your support, give a [star](https://github.com/massCodeIO/massCode/stargazers) on this repo or [donate](https://opencollective.com/masscode). All of this is valuable and will inspire further development.\n\n## Features\n### Organization\nmassCode allows you to organize snippets using multi-level folders as well as tags. Each snippet has fragments - tabs, which gives even greater level of organization.\n\n### Editor\nA snippet manager must not only provide organization of snippets but also have a good code editor. That's why under the hood of massCode there's [Ace](https://ace.c9.io). Ace is a high performance code editor which supports syntax highlighting for over 170 languages. We also added a [Prettier](https://prettier.io) to code formatter.\n\n### Real-time Render for HTML & CSS\nYou can not only collect snippets, but also see the rendering result for HTML and CSS in real time. Test the idea or just view the result.\n\n### Markdown\nmassCode allows you to write in Markdown and provide support to syntax highlighting, tables, list and other formatting. Also massCode supports [Mermaid](https://mermaid-js.github.io/mermaid/#) - diagramming and charting tool that renders Markdown-inspired text definitions to create and modify diagrams dynamically.\n\n### Search\nIt is impossible to imagine a productive snippets manager without quick access to snippets. Therefore massCode has a fast full-text search with highlighting of the search query.\n\n### Autosave\nmassCode automatically saves any changes you make during work, so you don't have to worry about losing changes.\n\n### Sync\nYou can use any service that provides cloud synchronization, such as iCloud Drive, Google Drive, Dropbox or other similar.\n\n### Database\nmassCode uses a simple JSON to store your data. The database files are on your local computer.\n\n### Integrations\nmassCode supports extensions for [VS Code](https://marketplace.visualstudio.com/items?itemName=AntonReshetov.masscode-assistant), [Raycast](https://www.raycast.com/antonreshetov/masscode) and [Alfred](https://github.com/massCodeIO/assistant-alfred), which gives even more possibilities to use application. With the VS Code extension you get practically zen mode, search for the necessary snippets and insert them immediately or save the selected code sections as a snippet.\n\n### Beautiful Screenshots\nCreate beautiful snippet images on different backgrounds and in different modes\n\n## Overview\n\nThe goal of creating this application was mostly my own growth as a developer. Also, I wanted this project to absorb the best of such applications already on the market (both free and paid). At the same time, I wanted this project to be an open source project.\n\n## Follow\n - News and updates on [Twitter](https://twitter.com/anton_reshetov).\n - [Discussions](https://github.com/massCodeIO/massCode/discussions).\n\n## Other\nYou can also [download](https://github.com/antonreshetov/massCode) massCode v1.\n\n## License\n\n[AGPL-3.0](https://github.com/massCodeIO/massCode/blob/master/LICENSE)\n\nCopyright (c) 2019-present, [Anton Reshetov](https://github.com/antonreshetov)." - } - ], - "id": "ggDHY18p", - "createdAt": 1659507764139, - "updatedAt": 1659508402182 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Mask", - "content": [ - { - "label": "Fragment 1", - "language": "mask", - "value": "/* Mask Syntax Demo */\n\ndiv > ' Test ~[name]';\n\ndefine :userProfile {\n\theader {\n\t\th4 > @title;\n\t\tbutton.close;\n\t}\n}\n\n:userProfile {\n\t@title > ' Hello ~[: username.toUpperCase()]'\n}\n\nstyle {\n html, body {\n background: url('name.png') 0 0 no-repeat;\n }\n}\n\nbutton {\n\tevent click (e) {\n\t this.textContent = `name ${e.clientX} !`;\n\t}\n}\n\nmd > \"\"\"\n\n- div\n- span\n \nHello\n\n[one](http://google.com)\n\n\"\"\";\n\n\nheader .foo > 'Heading'\n\nbutton .baz x-signal='click: test' disabled > \"\n\tHello,\n\tworld \n\t\\\"Buddy\\\"\n\"\n\nvar a = {\n name: `name ${window.innerWidth}`\n};\n\nspan .foo > \"~[bind: a.name]\"" - } - ], - "id": "HbKYMuyD", - "createdAt": 1659508402682, - "updatedAt": 1659508412451 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "MATLAB", - "content": [ - { - "label": "Fragment 1", - "language": "matlab", - "value": "%{\n %{\n Ace Matlab demo\n %}\n%}\n\nclassdef hello\n methods\n function greet(this)\n disp('Hello!') % say hi\n end\n end\nend\n\n% transpose \na = [ 'x''y', \"x\\n\\\n y\", 1' ]' + 2'" - } - ], - "id": "Mpzgr7qp", - "createdAt": 1659508412804, - "updatedAt": 1659508428405 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "MediaWiki", - "content": [ - { - "label": "Fragment 1", - "language": "mediawiki", - "value": "{{Languages}}\n\n'''Ace''' is a standalone code editor written in [[wikipedia:JavaScript|JavaScript]]. Our goal is to create a browser based editor that matches and extends the features, usability and performance of existing native editors such as TextMate, Vim or Eclipse. It can be ''easily'' embedded in any web page or JavaScript application. Ace is developed as the primary editor for [http://www.cloud9ide.com/ Cloud9 IDE] and the successor of the Mozilla Skywriter (Bespin) Project.\n\n== Features ==\n* Syntax highlighting\n* Automatic indent and outdent\n* An optional command line\n* Handles huge documents (100,000 lines and more are no problem)\n* Fully customizable key bindings including VI and Emacs modes\n* Themes (TextMate themes can be imported)\n* Search and replace with regular expressions\n* Highlight matching parentheses\n* Toggle between soft tabs and real tabs\n* Displays hidden characters\n* Drag and drop text using the mouse\n* Line wrapping\n* Unstructured / user code folding\n* Live syntax checker (currently JavaScript/CoffeeScript)\n\n== Take Ace for a spin! ==\nCheck out the Ace live [http://ajaxorg.github.com/ace/ demo] or get a [http://run.cloud9ide.com Cloud9 IDE account] to experience Ace while editing one of your own GitHub projects.\n\nIf you want, you can use Ace as a textarea replacement thanks to the [http://ajaxorg.github.com/ace/build/textarea/editor.html Ace Bookmarklet].\n\n== Documentation ==\nYou find a lot more sample code in the [https://github.com/ajaxorg/ace/blob/master/demo/demo.js demo app].\n\nThere is also some documentation on the [https://github.com/ajaxorg/ace/wiki wiki page].\n\nIf you still need help, feel free to drop a mail on the [http://groups.google.com/group/ace-discuss ace mailing list].\n" - } - ], - "id": "bK4qhdVr", - "createdAt": 1659508429769, - "updatedAt": 1659508458915 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "MEL", - "content": [ - { - "label": "Fragment 1", - "language": "mel", - "value": "// animated duplicates, instances script\nproc animatedDuplication (int $rangeStart, int $rangeEnd, int $numOfDuplicates, int $duplicateOrInstance)\n{\n int $range_start = $rangeStart;\n int $range_end = $rangeEnd;\n int $num_of_duplicates = $numOfDuplicates;\n int $step_size = ($range_end - $range_start) / $num_of_duplicates;\n int $i = 0;\n int $temp;\n\n currentTime $range_start; // set to range start\n\n string $selectedObjects[]; // to store selected objects\n $selectedObjects = `ls -sl`; // store selected objects\n select $selectedObjects;\n\n while ($i <= $num_of_duplicates)\n {\n $temp = $range_start + ($step_size * $i);\n currentTime ($temp);\n // seleced the objects to duplicate or instance\n select $selectedObjects;\n if($duplicateOrInstance == 0)\n {\n duplicate;\n }\n else\n {\n instance;\n }\n $i++;\n }\n}" - } - ], - "id": "H3g68CbT", - "createdAt": 1659508460186, - "updatedAt": 1659508475115 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Mikrotik", - "content": [ - { - "label": "Fragment 1", - "language": "mikrotik", - "value": ":global currentIP;\n\n:local newIP [/ip address get [find interface=\"ether1\"] address];\n\n:if ($newIP != $currentIP) do={\n :put \"ip address $currentIP changed to $newIP\";\n " - } - ], - "id": "REC-Heib", - "createdAt": 1659508475622, - "updatedAt": 1659508513991 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "MIPS", - "content": [ - { - "label": "Fragment 1", - "language": "mips", - "value": "# hello.s ... print \"Hello, MIPS\"\n\n .data # the data segment\nmsg: .asciiz \"Hello, MIPS\\n\"\n\n .text # the code segment\n .globl main\nmain: \n la $a0, msg # load the argument string\n li $v0, 4 # load the system call (print)\n syscall # print the string\n jr $ra # return to caller (__start)" - } - ], - "id": "sV5PPq5Q", - "createdAt": 1659508517380, - "updatedAt": 1659508706528 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "MySQL", - "content": [ - { - "label": "Fragment 1", - "language": "mysql", - "value": "CREATE TABLE shop (\n article INT UNSIGNED DEFAULT '0000' NOT NULL,\n dealer CHAR(20) DEFAULT '' NOT NULL,\n price DECIMAL(16,2) DEFAULT '0.00' NOT NULL,\n PRIMARY KEY(article, dealer));\nINSERT INTO shop VALUES\n (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),\n (3,'C',1.69),(3,'D',1.25),(4,'D',19.95);" - } - ], - "id": "DHN5Cik4", - "createdAt": 1659508722877, - "updatedAt": 1659508758823 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Nginx", - "content": [ - { - "label": "Fragment 1", - "language": "nginx", - "value": "user www www; ## Default: nobody\nworker_processes 5; ## Default: 1\nerror_log logs/error.log;\npid logs/nginx.pid;\nworker_rlimit_nofile 8192;\n\nevents {\n worker_connections 4096; ## Default: 1024\n}\n\nhttp {\n include conf/mime.types;\n include /etc/nginx/proxy.conf;\n include /etc/nginx/fastcgi.conf;\n index index.html index.htm index.php;\n\n default_type application/octet-stream;\n log_format main '$remote_addr - $remote_user [$time_local] $status '\n '\"$request\" $body_bytes_sent \"$http_referer\" '\n '\"$http_user_agent\" \"$http_x_forwarded_for\"';\n access_log logs/access.log main;\n sendfile on;\n tcp_nopush on;\n server_names_hash_bucket_size 128; # this seems to be required for some vhosts\n\n server { # php/fastcgi\n listen 80;\n server_name domain1.com www.domain1.com;\n access_log logs/domain1.access.log main;\n root html;\n\n location ~ \\.php$ {\n fastcgi_pass 127.0.0.1:1025;\n }\n }\n\n server { # simple reverse-proxy\n listen 80;\n server_name domain2.com www.domain2.com;\n access_log logs/domain2.access.log main;\n\n # serve static files\n location ~ ^/(images|javascript|js|css|flash|media|static)/ {\n root /var/www/virtual/big.server.com/htdocs;\n expires 30d;\n }\n\n # pass requests for dynamic content to rails/turbogears/zope, et al\n location / {\n proxy_pass http://127.0.0.1:8080;\n }\n }\n\n upstream big_server_com {\n server 127.0.0.3:8000 weight=5;\n server 127.0.0.3:8001 weight=5;\n server 192.168.0.1:8000;\n server 192.168.0.1:8001;\n }\n\n server { # simple load balancing\n listen 80;\n server_name big.server.com;\n access_log logs/big.server.access.log main;\n\n location / {\n proxy_pass http://big_server_com;\n }\n }\n}" - } - ], - "id": "b8-85iBK", - "createdAt": 1659508760164, - "updatedAt": 1659508774269 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Nim", - "content": [ - { - "label": "Fragment 1", - "language": "nim", - "value": "#[ #[ Multiline comment in already\n commented out code. ]#\nproc p[T](x: T) = discard\n]#\necho \"This is code\"\nvar\n p = 0B0_10001110100_0000101001000111101011101111111011000101001101001001'f64\n\nproc getAlphabet(): string =\n var accm = \"\"\n for letter in 'a'..'z': # see iterators\n accm.add(letter)\n return accm\n\nassert(\"a\" * 10 == \"aaaaaaaaaa\")\n" - } - ], - "id": "v7Sblz9B", - "createdAt": 1659508774712, - "updatedAt": 1659508785779 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Nix", - "content": [ - { - "label": "Fragment 1", - "language": "nix", - "value": "let\n square = x: x*x;\n sumOfSquares = x: y: square x + square y;\nin\n sumOfSquares 3 7" - } - ], - "id": "lPjjHMlA", - "createdAt": 1659508795441, - "updatedAt": 1659508919266 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "NSIS", - "content": [ - { - "label": "Fragment 1", - "language": "nsis", - "value": "/*\n NSIS Mode\n for Ace\n*/\n\n; Includes\n!include MUI2.nsh\n\n; Settings\nName \"installer_name\"\nOutFile \"installer_name.exe\"\nRequestExecutionLevel user\nCRCCheck on\n!ifdef x64\n InstallDir \"$PROGRAMFILES64\\installer_name\"\n!else\n InstallDir \"$PROGRAMFILES\\installer_name\"\n!endif\n\n; Pages\n!insertmacro MUI_PAGE_INSTFILES\n\n; Sections\nSection \"section_name\" section_index\n # your code here\nSectionEnd\n\n; Functions\nFunction .onInit\n MessageBox MB_OK \"Here comes a$\\n$\\rline-break!\"\nFunctionEnd" - } - ], - "id": "ZuEmPEeY", - "createdAt": 1659508921858, - "updatedAt": 1659509048694 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Nunjucks", - "content": [ - { - "label": "Fragment 1", - "language": "nunjucks", - "value": "{{ foo.bar }}\n{{ foo[\"bar\"] }}\n{{ foo | title }}\n{{ foo | join(\",\") }}\n{{ foo | replace(\"foo\", \"bar\") | capitalize }}\n{% block header %}\nThis is the default content\n{% endblock %}\n\n
\n {% block left %}{% endblock %}\n
\n\n
\n {% block right %}\n This is more content\n {% endblock %}\n
\n{% extends \"parent.html\" %}\n\n{% block left %}\nThis is the left side!\n{% endblock %}\n\n{% block right %}\nThis is the right side!\n{% endblock %}\n\n{% block right %}\n{{ super() }}\nRight side!\n{% endblock %}\n\n{% if variable %}\n It is true\n{% endif %}\n\n{% if hungry %}\n I am hungry\n{% elif tired %}\n I am tired\n{% else %}\n I am good!\n{% endif %}\n\n

Posts

\n
    \n{% for item in items %}\n
  • {{ item.title }}
  • \n{% else %}\n
  • This would display if the 'item' collection were empty
  • \n{% endfor %}\n
\n\n{% for ingredient, amount in food %}\n Use {{ amount }} of {{ ingredient }}\n{% endfor %}\n\n{% for fruit, color in fruits %}\n Did you know that {{ fruit }} is {{ color }}?\n{% endfor %}\n\n{% for x, y, z in points %}\n Point: {{ x }}, {{ y }}, {{ z }}\n{% endfor %}\n\n

Posts

\n
    \n{% asyncEach item in items %}\n {% include \"item-template.html\" %}\n{% endeach %}\n
\n\n

Posts

\n
    \n{% asyncAll item in items %}\n
  • {{ item.id | lookup }}
  • \n{% endall %}\n
\n\n{% macro field(name, value='', type='text') %}\n
\n \n
\n{% endmacro %}\n\n{{ username }}\n{% set username = \"joe\" %}\n{{ username }}\n\n{% set standardModal %}\n {% include 'standardModalData.html' %}\n{% endset %}\n\n
\n\n{% set standardModal %}\n {% include 'standardModalData.html' %}\n{% endset %}\n\n
\n\n{% include \"missing.html\" ignore missing %}\n\n{% import \"forms.html\" as forms %}\n\n{{ forms.label('Username') }}\n{{ forms.field('user') }}\n{{ forms.label('Password') }}\n{{ forms.field('pass', type='password') }}\n\n{% from \"forms.html\" import field, label as description %}\n\n{{ description('Username') }}\n{{ field('user') }}\n{{ description('Password') }}\n{{ field('pass', type='password') }}\n\n{{ foo(1, 2, bar=3, baz=4) }}\n\n{# Loop through all the users #}\n{% for user in users %}...{% endfor %}\n\n\n{% set cls = cycler(\"odd\", \"even\") %}\n{% for row in rows %}\n
{{ row.name }}
\n{% endfor %}" - } - ], - "id": "82_QxEls", - "createdAt": 1659509069864, - "updatedAt": 1659509439491 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Objective-C", - "content": [ - { - "label": "Fragment 1", - "language": "objectivec", - "value": "@protocol Printing: someParent\n-(void) print;\n@end\n\n@interface Fraction: NSObject {\n int numerator;\n int denominator;\n}\n@end\n\n@\"blah\\8\" @\"a\\222sd\\d\" @\"\\faw\\\"\\? \\' \\4 n\\\\\" @\"\\56\"\n@\"\\xSF42\"\n\n-(NSDecimalNumber*)addCount:(id)addObject{\n\nreturn [count decimalNumberByAdding:addObject.count];\n\n}\n\n NS_DURING NS_HANDLER NS_ENDHANDLER\n\n@try {\n if (argc > 1) {\n @throw [NSException exceptionWithName:@\"Throwing a test exception\" reason:@\"Testing the @throw directive.\" userInfo:nil];\n }\n} \n@catch (id theException) {\n NSLog(@\"%@\", theException);\n result = 1 ;\n} \n@finally {\n NSLog(@\"This always happens.\");\n result += 2 ;\n}\n\n @synchronized(lock) {\n NSLog(@\"Hello World\");\n }\n\nstruct { @defs( NSObject) }\n\nchar *enc1 = @encode(int);\n\n IBOutlet|IBAction|BOOL|SEL|id|unichar|IMP|Class \n\n\n @class @protocol\n\n@public\n // instance variables\n@package\n // instance variables\n@protected\n // instance variables\n@private\n // instance variables\n\n YES NO Nil nil\nNSApp()\nNSRectToCGRect (Protocol ProtocolFromString:\"NSTableViewDelegate\"))\n\n[SPPoint pointFromCGPoint:self.position]\n\nNSRoundDownToMultipleOfPageSize\n\n#import \n\nint main( int argc, const char *argv[] ) {\n printf( \"hello world\\n\" );\n return 0;\n}\n\nNSChangeSpelling\n\n@\"0 != SUBQUERY(image, $x, 0 != SUBQUERY($x.bookmarkItems, $y, $y.@count == 0).@count).@count\"\n\n@selector(lowercaseString) @selector(uppercaseString:)\n\nNSFetchRequest *localRequest = [[NSFetchRequest alloc] init]; \nlocalRequest.entity = [NSEntityDescription entityForName:@\"VNSource\" inManagedObjectContext:context]; \nlocalRequest.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@\"resolution\" ascending:YES]]; \nNSPredicate *predicate = [NSPredicate predicateWithFormat:@\"0 != SUBQUERY(image, $x, 0 != SUBQUERY($x.bookmarkItems, $y, $y.@count == 0).@count).@count\"];\n[NSPredicate predicateWithFormat:]\nNSString *predicateString = [NSString stringWithFormat:@\"SELF beginsWith[cd] %@\", searchString];\nNSPredicate *pred = [NSPredicate predicateWithFormat:predicateString];\nNSArray *filteredKeys = [[myMutableDictionary allKeys] filteredArrayUsingPredicate:pred]; \n\nlocalRequest.predicate = [NSPredicate predicateWithFormat:@\"whichChart = %@\" argumentArray: listChartToDownload];\nlocalRequest.fetchBatchSize = 100;\narrayRequest = [context executeFetchRequest:localRequest error:&error1];\n\n[localRequest release];\n\n#ifndef Nil\n#define Nil __DARWIN_NULL /* id of Nil class */\n#endif\n\n@implementation MyObject\n- (unsigned int)areaOfWidth:(unsigned int)width\n height:(unsigned int)height\n{\n return width*height;\n}\n@end\n" - } - ], - "id": "OTYb8BZn", - "createdAt": 1659509440384, - "updatedAt": 1659509466374 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "OCaml", - "content": [ - { - "label": "Fragment 1", - "language": "ocaml", - "value": "(*\n * Example of early return implementation taken from\n * http://ocaml.janestreet.com/?q=node/91\n *)\n\nlet with_return (type t) (f : _ -> t) =\n let module M =\n struct exception Return of t end\n in\n let return = { return = (fun x -> raise (M.Return x)); } in\n try f return with M.Return x -> x\n\n\n(* Function that uses the 'early return' functionality provided by `with_return` *)\nlet sum_until_first_negative list =\n with_return (fun r ->\n List.fold list ~init:0 ~f:(fun acc x ->\n if x >= 0 then acc + x else r.return acc))" - } - ], - "id": "R3z9RsNY", - "createdAt": 1659509467903, - "updatedAt": 1659509480532 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Pascal", - "content": [ - { - "label": "Fragment 1", - "language": "pascal", - "value": "(*****************************************************************************\n * A simple bubble sort program. Reads integers, one per line, and prints *\n * them out in sorted order. Blows up if there are more than 49. *\n *****************************************************************************)\nPROGRAM Sort(input, output);\n CONST\n (* Max array size. *)\n MaxElts = 50;\n TYPE \n (* Type of the element array. *)\n IntArrType = ARRAY [1..MaxElts] OF Integer;\n\n VAR\n (* Indexes, exchange temp, array size. *)\n i, j, tmp, size: integer;\n\n (* Array of ints *)\n arr: IntArrType;\n\n (* Read in the integers. *)\n PROCEDURE ReadArr(VAR size: Integer; VAR a: IntArrType); \n BEGIN\n size := 1;\n WHILE NOT eof DO BEGIN\n readln(a[size]);\n IF NOT eof THEN \n size := size + 1\n END\n END;\n\n BEGIN\n (* Read *)\n ReadArr(size, arr);\n\n (* Sort using bubble sort. *)\n FOR i := size - 1 DOWNTO 1 DO\n FOR j := 1 TO i DO \n IF arr[j] > arr[j + 1] THEN BEGIN\n tmp := arr[j];\n arr[j] := arr[j + 1];\n arr[j + 1] := tmp;\n END;\n\n (* Print. *)\n FOR i := 1 TO size DO\n writeln(arr[i])\n END.\n " - } - ], - "id": "J8J-Qn-3", - "createdAt": 1659509482727, - "updatedAt": 1659509621471 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Perl", - "content": [ - { - "label": "Fragment 1", - "language": "perl", - "value": "#!/usr/bin/perl\n=begin\n perl example code for Ace\n=cut\n\nuse v5.10;\nuse strict;\nuse warnings;\n\nuse List::Util qw(first);\nmy @primes;\n\n# Put 2 as the first prime so we won't have an empty array\npush @primes, 2;\n\nfor my $number_to_check (3 .. 200) {\n # Check if the current number is divisible by any previous prime\n # if it is, skip to the next number. Use first to bail out as soon\n # as we find a prime that divides it.\n next if (first {$number_to_check % $_ == 0} @primes);\n\n # If we reached this point it means $number_to_check is not\n # divisable by any prime number that came before it.\n push @primes, $number_to_check;\n}\n\n# List out all of the primes\nsay join(', ', @primes);\n" - } - ], - "id": "jKu61d0A", - "createdAt": 1659509623058, - "updatedAt": 1659509736352 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "pgSQL", - "content": [ - { - "label": "Fragment 1", - "language": "pgsql", - "value": "\nBEGIN;\n\n/**\n* Samples from PostgreSQL src/tutorial/basics.source\n*/\nCREATE TABLE weather (\n\tcity\t\tvarchar(80),\n\ttemp_lo\t\tint,\t\t-- low temperature\n\ttemp_hi\t\tint,\t\t-- high temperature\n\tprcp\t\treal,\t\t-- precipitation\n\t\"date\"\t\tdate\n);\n\nCREATE TABLE cities (\n\tname\t\tvarchar(80),\n\tlocation\tpoint\n);\n\n\nINSERT INTO weather\n VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');\n\nINSERT INTO cities\n VALUES ('San Francisco', '(-194.0, 53.0)');\n\nINSERT INTO weather (city, temp_lo, temp_hi, prcp, \"date\")\n VALUES ('San Francisco', 43, 57, 0.0, '1994-11-29');\n\nINSERT INTO weather (date, city, temp_hi, temp_lo)\n VALUES ('1994-11-29', 'Hayward', 54, 37);\n\n\nSELECT city, (temp_hi+temp_lo)/2 AS temp_avg, \"date\" FROM weather;\n\nSELECT city, temp_lo, temp_hi, prcp, \"date\", location\n FROM weather, cities\n WHERE city = name;\n\n\n\n/**\n* Dollar quotes starting at the end of the line are colored as SQL unless\n* a special language tag is used. Dollar quote syntax coloring is implemented\n* for Perl, Python, JavaScript, and Json.\n*/\ncreate or replace function blob_content_chunked(\n in p_data bytea, \n in p_chunk integer)\nreturns setof bytea as $$\n-- Still SQL comments\ndeclare\n\tv_size integer = octet_length(p_data);\nbegin\n\tfor i in 1..v_size by p_chunk loop\n\t\treturn next substring(p_data from i for p_chunk);\n\tend loop;\nend;\n$$ language plpgsql stable;\n\n\n-- pl/perl\nCREATE FUNCTION perl_max (integer, integer) RETURNS integer AS $perl$\n # perl comment...\n my ($x,$y) = @_;\n if (! defined $x) {\n if (! defined $y) { return undef; }\n return $y;\n }\n if (! defined $y) { return $x; }\n if ($x > $y) { return $x; }\n return $y;\n$perl$ LANGUAGE plperl;\n\n-- pl/python\nCREATE FUNCTION usesavedplan() RETURNS trigger AS $python$\n # python comment...\n if SD.has_key(\"plan\"):\n plan = SD[\"plan\"]\n else:\n plan = plpy.prepare(\"SELECT 1\")\n SD[\"plan\"] = plan\n$python$ LANGUAGE plpythonu;\n\n-- pl/v8 (javascript)\nCREATE FUNCTION plv8_test(keys text[], vals text[]) RETURNS text AS $javascript$\nvar o = {};\nfor(var i=0; ivar = 0 - self::$st;\n $this->list = list(Array(\"1\"=> 2, 2=>self::ME, 3 => \\Location\\Web\\URI::class));\n\n return [\n 'uri' => $uri,\n 'value' => null,\n ];\n }\n}\n\nmatch ($key) {\n 1 => 'Integer 1',\n '1' => 'String 1',\n true => 'Bool true',\n [] => 'Empty array',\n [1] => 'Array [1]',\n};\n\nenum Foo: string {\n case Test = 'test';\n}\n\necho URI::ME . URI::$st1;\n\n__halt_compiler () ; datahere\ndatahere\ndatahere */\ndatahere" - } - ], - "id": "yuH9oxm0", - "createdAt": 1659509784436, - "updatedAt": 1659509895082 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "PHP - Blade Template", - "content": [ - { - "label": "Fragment 1", - "language": "php_laravel_blade", - "value": "\n\n\n \n App Name - @yield('title')\n \n \n \n @extends('layouts.app')\n @section('sidebar')\n @parent\n\n

This is appended to the master sidebar.

\n @endsection\n \n @if (count($records) === 1)\n I have one record!\n @elseif (count($records) > 1)\n I have multiple records!\n @else\n I don't have any records!\n @endif\n\n @foreach ($users as $user)\n @if ($user->type == 1)\n @continue\n @endif\n\n
  • {{ $user->name }}
  • \n\n @if ($user->number == 5)\n @break\n @endif\n @endforeach\n\n @foreach ($users as $user)\n @continue($user->type == 1)\n\n
  • {{ $user->name }}
  • \n\n @break($user->number == 5)\n @endforeach\n\n
    \n @include('shared.errors')\n\n
    \n \n
    \n
    \n\n @includeIf('view.name', ['some' => 'data'])\n\n @env('local')\n // The application is in the local environment...\n @elseenv('testing')\n // The application is in the testing environment...\n @else\n // The application is not in the local or testing environment...\n @endenv\n\n
    \n @yield('content')\n
    \n \n\n\n\n{{-- comment --}}\n\n@if (\n {{-- comment --}}\n /*block comment*/\n #another comment\n $user->type == 1\n // c comment\n /* comment*/\n)\n # not a comment
    \n@endif\n" - } - ], - "id": "WwBajcHG", - "createdAt": 1659509896117, - "updatedAt": 1659509957894 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Pig", - "content": [ - { - "label": "Fragment 1", - "language": "pig", - "value": "A = load 'mobydick.txt';\nB = foreach A generate flatten(TOKENIZE((chararray)$0)) as word;\nC = filter B by word matches '\\\\w+';\nD = group C by word;\nE = foreach D generate COUNT(C) as count, group as word;\nF = order E by count desc;\n-- one comment\n/* another comment */\ndump F;\n" - } - ], - "id": "uA6UMShf", - "createdAt": 1659509975420, - "updatedAt": 1659509991588 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Powershell", - "content": [ - { - "label": "Fragment 1", - "language": "powershell", - "value": "# This is a simple comment\nfunction Hello($name) {\n Write-host \"Hello $name\"\n}\n\nfunction add($left, $right=4) {\n if ($right -ne 4) {\n return $left\n } elseif ($left -eq $null -and $right -eq 2) {\n return 3\n } else {\n return 2\n }\n}\n\n$number = 1 + 2;\n$number += 3\n\nWrite-Host Hello -name \"World\"\n\n$an_array = @(1, 2, 3)\n$a_hash = @{\"something\" = \"something else\"}\n\n& notepad .\\readme.md\n" - } - ], - "id": "ACgKGq8A", - "createdAt": 1659509992390, - "updatedAt": 1659510027409 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Paat", - "content": [ - { - "label": "Fragment 1", - "language": "praat", - "value": "form Highlighter test\n sentence My_sentence This should all be a string\n text My_text This should also all be a string\n word My_word Only the first word is a string, the rest is invalid\n boolean Binary 1\n boolean Text no\n boolean Quoted \"yes\"\n comment This should be a string\n real left_Range -123.6\n positive right_Range_max 3.3\n integer Int 4\n natural Nat 4\nendform\n\n# External scripts\ninclude /path/to/file\nrunScript: \"/path/to/file\"\nexecute /path/to/file\n\nstopwatch\n\n# old-style procedure call\ncall oldStyle \"quoted\" 2 unquoted string\nassert oldStyle.local = 1\n\n# New-style procedure call with parens\n@newStyle(\"quoted\", 2, \"quoted string\")\nif praatVersion >= 5364 \n # New-style procedure call with colon\n @newStyle: \"quoted\", 2, \"quoted string\"\nendif\n\n# if-block with built-in variables\nif windows\n # We are on Windows\nelsif unix = 1 or !macintosh\n exitScript: \"We are on Linux\"\nelse macintosh == 1\n exit We are on Mac\nendif\n\n# inline if with inline comment\nvar = if macintosh = 1 then 0 else 1 fi ; This is an inline comment\n\n# for-loop with explicit from using local variable\n# and paren-style function calls and variable interpolation\nn = numberOfSelected(\"Sound\")\nfor i from newStyle.local to n\n sound'i' = selected(\"Sound\", i)\n sound[i] = sound'i'\nendfor\n\nfor i from 1 to n\n # Different styles of object selection\n select sound'i'\n sound = selected()\n sound$ = selected$(\"Sound\")\n select Sound 'sound$'\n selectObject(sound[i])\n selectObject: sound\n \n # Pause commands\n beginPause(\"Viewing \" + sound$)\n if i > 1\n button = endPause(\"Stop\", \"Previous\",\n ...if i = total_sounds then \"Finish\" else \"Next\" fi,\n ...3, 1)\n else\n button = endPause(\"Stop\",\n ...if i = total_sounds then \"Finish\" else \"Next\" fi,\n ...2, 1) \n endif\n editor_name$ = if total_textgrids then \"TextGrid \" else \"Sound \" fi + name$\n nocheck editor 'editor_name$'\n nocheck Close\n nocheck endeditor\n \n # New-style standalone command call\n Rename: \"SomeName\"\n\n # Command call with assignment\n duration = Get total duration\n \n # Multi-line command with modifier\n pitch = noprogress To Pitch (ac): 0, 75, 15, \"no\",\n ...0.03, 0.45, 0.01, 0.35, 0.14, 600\n \n # do-style command with assignment\n minimum = do(\"Get minimum...\", 0, 0, \"Hertz\", \"Parabolic\")\n\n # New-style multi-line command call with broken strings\n table = Create Table with column names: \"table\", 0,\n ...\"file subject speaker\n ...f0 f1 f2 f3 \" +\n ...\"duration response\"\n \n removeObject: pitch, table\n \n # Picture window commands\n selectObject: sound\n # do-style command\n do(\"Select inner viewport...\", 1, 6, 0.5, 1.5)\n Black\n Draw... 0 0 0 0 \"no\" Curve\n Draw inner box\n Text bottom: \"yes\", sound$\n Erase all\n \n # Demo window commands\n demo Erase all\n demo Select inner viewport... 0 100 0 100\n demo Axes... 0 100 0 100\n demo Paint rectangle... white 0 100 0 100\n demo Text... 50 centre 50 half Click to finish\n demoWaitForInput ( )\n demo Erase all\n demo Text: 50, \"centre\", 50, \"half\", \"Finished\"\nendfor\n\n# An old-style sendpraat block\nsendpraat Praat\n ...'newline$' Create Sound as pure tone... \"tone\" 1 0 0.4 44100 440 0.2 0.01 0.01\n ...'newline$' Play\n ...'newline$' Remove\n\n# A new-style sendpraat block\nbeginSendPraat: \"Praat\"\n Create Sound as pure tone: \"tone\", 1, 0, 0.4, 44100, 440, 0.2, 0.01, 0.01\n duration = Get total duration\n Remove\nendSendPraat: \"duration\"\nappendInfoLine: \"The generated sound lasted for \", duration, \"seconds\"\n\ntime = stopwatch\nclearinfo\necho This script took \nprint 'time' seconds to \nprintline execute.\n\n# Old-style procedure declaration\nprocedure oldStyle .str1$ .num .str2$\n .local = 1\nendproc\n\n# New-style procedure declaration with parentheses\nprocedure newStyle (.str1$, .num, .str2$)\n # Command with \"local\" variable\n .local = Get total duration\nendproc\n\n# New-style procedure declaration with colon\nprocedure newStyle: .str1$, .num, .str2$\n # Command with \"local\" variable\n newStyle.local = Get total duration\nendproc\n" - } - ], - "id": "iH45a-i3", - "createdAt": 1659510027898, - "updatedAt": 1659510048404 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Prisma", - "content": [ - { - "label": "Fragment 1", - "language": "prisma", - "value": "generator photon {\n provider = \"photonjs\"\n}\n\nmodel User {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n firstName String\n lastName String\n email String @unique\n password String\n phone String\n responseRate Float?\n responseTime Int?\n ReportsTo User? @relation(\"EmployeeToEmployee_ReportsTo\")\n employees User[] @relation(\"EmployeeToEmployee_ReportsTo\")\n isSuperHost Boolean\n ownedPlaces Place[]\n location Location?\n bookings Booking[]\n paymentAccount PaymentAccount[]\n sentMessages Message[] @relation(\"SentMessages\")\n receivedMessages Message[] @relation(\"ReceivedMessages\")\n notifications Notification[]\n profilePicture Picture?\n hostingExperiences Experience[]\n}\n\nmodel Place {\n id String @default(cuid()) @id\n name String\n size PLACE_SIZES?\n shortDescription String\n description String\n slug String\n maxGuests Int\n numBedrooms Int\n numBeds Int\n numBaths Int\n reviews Review[]\n amenities Amenities\n host User\n pricing Pricing\n location Location\n views Views\n guestRequirements GuestRequirements?\n policies Policies?\n houseRules HouseRules?\n bookings Booking[]\n pictures Picture[]\n popularity Int\n}\n\nmodel Pricing {\n id String @default(cuid()) @id\n place Place\n monthlyDiscount Int?\n weeklyDiscount Int?\n perNight Int\n smartPricing Boolean\n basePrice Int\n averageWeekly Int\n averageMonthly Int\n cleaningFee Int?\n securityDeposit Int?\n extraGuests Int?\n weekendPricing Int?\n currency CURRENCY?\n}\n\nmodel GuestRequirements {\n id String @default(cuid()) @id\n govIssuedId Boolean\n recommendationsFromOtherHosts Boolean\n guestTripInformation Boolean\n place Place\n}\n\nmodel Policies {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n checkInStartTime Float\n checkInEndTime Float\n checkoutTime Float\n place Place\n}\n\nmodel HouseRules {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n suitableForChildren Boolean?\n suitableForInfants Boolean?\n petsAllowed Boolean?\n smokingAllowed Boolean?\n partiesAndEventsAllowed Boolean?\n additionalRules String?\n}\n\nmodel Views {\n id String @default(cuid()) @id\n lastWeek Int\n place Place\n}\n\nmodel Location {\n id String @default(cuid()) @id\n lat Float\n lng Float\n neighbourHood Neighbourhood?\n user User?\n place Place?\n address String\n directions String\n experience Experience?\n restaurant Restaurant?\n}\n\nmodel Neighbourhood {\n id String @default(cuid()) @id\n locations Location[]\n name String\n slug String\n homePreview Picture?\n city City\n featured Boolean\n popularity Int\n}\n\nmodel City {\n id String @default(cuid()) @id\n name String\n neighbourhoods Neighbourhood[]\n}\n\nmodel Picture {\n id String @default(cuid()) @id\n url String\n}\n\nmodel Experience {\n id String @default(cuid()) @id\n category ExperienceCategory?\n title String\n host User\n location Location\n pricePerPerson Int\n reviews Review[]\n preview Picture\n popularity Int\n}\n\nmodel ExperienceCategory {\n id String @default(cuid()) @id\n mainColor String\n name String\n experience Experience?\n}\n\nmodel Amenities {\n id String @default(cuid()) @id\n place Place\n elevator Boolean\n petsAllowed Boolean\n internet Boolean\n kitchen Boolean\n wirelessInternet Boolean\n familyKidFriendly Boolean\n freeParkingOnPremises Boolean\n hotTub Boolean\n pool Boolean\n smokingAllowed Boolean\n wheelchairAccessible Boolean\n breakfast Boolean\n cableTv Boolean\n suitableForEvents Boolean\n dryer Boolean\n washer Boolean\n indoorFireplace Boolean\n tv Boolean\n heating Boolean\n hangers Boolean\n iron Boolean\n hairDryer Boolean\n doorman Boolean\n paidParkingOffPremises Boolean\n freeParkingOnStreet Boolean\n gym Boolean\n airConditioning Boolean\n shampoo Boolean\n essentials Boolean\n laptopFriendlyWorkspace Boolean\n privateEntrance Boolean\n buzzerWirelessIntercom Boolean\n babyBath Boolean\n babyMonitor Boolean\n babysitterRecommendations Boolean\n bathtub Boolean\n changingTable Boolean\n childrensBooksAndToys Boolean\n childrensDinnerware Boolean\n crib Boolean\n}\n\nmodel Review {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n text String\n stars Int\n accuracy Int\n location Int\n checkIn Int\n value Int\n cleanliness Int\n communication Int\n place Place\n experience Experience?\n}\n\nmodel Booking {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n bookee User\n place Place\n startDate DateTime\n endDate DateTime\n payment Payment?\n}\n\nmodel Payment {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n serviceFee Float\n placePrice Float\n totalPrice Float\n booking Booking\n paymentMethod PaymentAccount\n}\n\nmodel PaymentAccount {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n type PAYMENT_PROVIDER?\n user User\n payments Payment[]\n paypal PaypalInformation?\n creditcard CreditCardInformation?\n}\n\nmodel PaypalInformation {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n email String\n paymentAccount PaymentAccount\n}\n\nmodel CreditCardInformation {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n cardNumber String\n expiresOnMonth Int\n expiresOnYear Int\n securityCode String\n firstName String\n lastName String\n postalCode String\n country String\n paymentAccount PaymentAccount?\n}\n\nmodel Message {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n from User @relation(\"SentMessages\")\n to User @relation(\"ReceivedMessages\")\n deliveredAt DateTime\n readAt DateTime\n}\n\nmodel Notification {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n type NOTIFICATION_TYPE?\n user User\n link String\n readDate DateTime\n}\n\nmodel Restaurant {\n id String @default(cuid()) @id\n createdAt DateTime @default(now())\n title String\n avgPricePerPerson Int\n pictures Picture[]\n location Location\n isCurated Boolean\n slug String\n popularity Int\n}\n\nenum CURRENCY {\n CAD\n CHF\n EUR\n JPY\n USD\n ZAR\n}\n\nenum PLACE_SIZES {\n ENTIRE_HOUSE\n ENTIRE_APARTMENT\n ENTIRE_EARTH_HOUSE\n ENTIRE_CABIN\n ENTIRE_VILLA\n ENTIRE_PLACE\n ENTIRE_BOAT\n PRIVATE_ROOM\n}\n\nenum PAYMENT_PROVIDER {\n PAYPAL\n CREDIT_CARD\n}\n\nenum NOTIFICATION_TYPE {\n OFFER\n INSTANT_BOOK\n RESPONSIVENESS\n NEW_AMENITIES\n HOUSE_RULES\n}" - } - ], - "id": "KTDefWxq", - "createdAt": 1659510049111, - "updatedAt": 1659510072362 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Prolog", - "content": [ - { - "label": "Fragment 1", - "language": "prolog", - "value": "partition([], _, [], []).\npartition([X|Xs], Pivot, Smalls, Bigs) :-\n ( X @< Pivot ->\n Smalls = [X|Rest],\n partition(Xs, Pivot, Rest, Bigs)\n ; Bigs = [X|Rest],\n partition(Xs, Pivot, Smalls, Rest)\n ).\n \nquicksort([]) --> [].\nquicksort([X|Xs]) -->\n { partition(Xs, X, Smaller, Bigger) },\n quicksort(Smaller), [X], quicksort(Bigger).\n\nperfect(N) :-\n between(1, inf, N), U is N // 2,\n findall(D, (between(1,U,D), N mod D =:= 0), Ds),\n sumlist(Ds, N)." - } - ], - "id": "nqEhifOx", - "createdAt": 1659510080607, - "updatedAt": 1659510103148 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Properties", - "content": [ - { - "label": "Fragment 1", - "language": "properties", - "value": "# You are reading the \".properties\" entry.\n! The exclamation mark can also mark text as comments.\n# The key and element characters #, !, =, and : are written with a preceding backslash to ensure that they are properly loaded.\nwebsite = http\\://en.wikipedia.org/\nlanguage = English\n# The backslash below tells the application to continue reading\n# the value onto the next line.\nmessage = Welcome to \\\n Wikipedia!\n# Add spaces to the key\nkey\\ with\\ spaces = This is the value that could be looked up with the key \"key with spaces\".\n# Unicode\ntab : \\u0009\nempty-key=\nlast.line=value\n" - } - ], - "id": "VXNpdnl9", - "createdAt": 1659510103416, - "updatedAt": 1659510130368 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Protobuf", - "content": [ - { - "label": "Fragment 1", - "language": "protobuf", - "value": "message Point {\n required int32 x = 1;\n required int32 y = 2;\n optional string label = 3;\n}\n\nmessage Line {\n required Point start = 1;\n required Point end = 2;\n optional string label = 3;\n}\n\nmessage Polyline {\n repeated Point point = 1;\n optional string label = 2;\n}" - } - ], - "id": "W_wDJx6s", - "createdAt": 1659510131080, - "updatedAt": 1659510144680 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Pug", - "content": [ - { - "label": "Fragment 1", - "language": "pug", - "value": "- var friends = 10\ncase friends\n when 0\n p you have no friends\n when 1\n p you have a friend\n default\n p you have #{friends} friends" - } - ], - "id": "HDTFA7pE", - "createdAt": 1659510147077, - "updatedAt": 1659510166311 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Puppet", - "content": [ - { - "label": "Fragment 1", - "language": "puppet", - "value": "define apache::vhost ($port, $docroot, $servername = $title, $vhost_name = '*') {\n include apache\n include apache::params\n $vhost_dir = $apache::params::vhost_dir\n file { \"${vhost_dir}/${servername}.conf\":\n content => template('apache/vhost-default.conf.erb'),\n owner => 'www',\n group => 'www',\n mode => '644',\n require => Package['httpd'],\n notify => Service['httpd'],\n }\n}\n\ntype MyModule::Tree = Array[Variant[Data, Tree]]\n\nfunction apache::bool2http(Variant[String, Boolean] $arg) >> String {\n case $arg {\n false, undef, /(?i:false)/ : { 'Off' }\n true, /(?i:true)/ : { 'On' }\n default : { \"$arg\" }\n }\n}\n\n# A class with parameters\nclass apache (String $version = 'latest') {\n package {'httpd':\n ensure => $version, # Using the class parameter from above\n before => File['/etc/httpd.conf'],\n }\n file {'/etc/httpd.conf':\n ensure => file,\n owner => 'httpd',\n content => template('apache/httpd.conf.erb'), # Template from a module\n }\n service {'httpd':\n ensure => running,\n enable => true,\n subscribe => File['/etc/httpd.conf'],\n }\n}\n\n\nif $is_virtual {\n warning( 'Tried to include class ntp on virtual machine; this node might be misclassified.' )\n}\nelsif $operatingsystem == 'Darwin' {\n warning( 'This NTP module does not yet work on our Mac laptops.' )\nelse {\n include ntp\n}" - } - ], - "id": "lPxURSSn", - "createdAt": 1659510169193, - "updatedAt": 1659510185052 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Python", - "content": [ - { - "label": "Fragment 1", - "language": "python", - "value": "#!/usr/local/bin/python\n\nimport string, sys\n\n# If no arguments were given, print a helpful message\nif len(sys.argv)==1:\n print '''Usage:\ncelsius temp1 temp2 ...'''\n sys.exit(0)\n\n# Loop over the arguments\nfor i in sys.argv[1:]:\n try:\n fahrenheit=float(string.atoi(i))\n except string.atoi_error:\n print repr(i), \"not a numeric value\"\n else:\n celsius=(fahrenheit-32)*5.0/9.0\n print '%i\\260F = %i\\260C' % (int(fahrenheit), int(celsius+.5))" - } - ], - "id": "OIWeDQnx", - "createdAt": 1659510185880, - "updatedAt": 1659510201739 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "QML", - "content": [ - { - "label": "Fragment 1", - "language": "qml", - "value": "// A simple example\nimport QtQuick 2.7\nimport QtQuick.Controls 2.3\n\nRectangle {\n color: \"red\"\n anchors.fill: parent\n\n Text {\n text: \"WEEEEEEEEEE\"\n font.pixelSize: 50\n color: \"white\"\n anchors.centerIn: parent\n RotationAnimator on rotation {\n running: true\n loops: Animation.Infinite\n from: 0\n to: 360\n duration: 1500\n }\n }\n}\n" - } - ], - "id": "VDC3i3FC", - "createdAt": 1659510202469, - "updatedAt": 1659510214305 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "R", - "content": [ - { - "label": "Fragment 1", - "language": "r", - "value": "Call:\nlm(formula = y ~ x)\n \nResiduals:\n1 2 3 4 5 6\n3.3333 -0.6667 -2.6667 -2.6667 -0.6667 3.3333\n \nCoefficients:\n Estimate Std. Error t value Pr(>|t|)\n(Intercept) -9.3333 2.8441 -3.282 0.030453 *\nx 7.0000 0.7303 9.585 0.000662 ***\n---\nSignif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n \nResidual standard error: 3.055 on 4 degrees of freedom\nMultiple R-squared: 0.9583, Adjusted R-squared: 0.9478\nF-statistic: 91.88 on 1 and 4 DF, p-value: 0.000662\n \n> par(mfrow=c(2, 2)) # Request 2x2 plot layout\n> plot(lm_1) # Diagnostic plot of regression model" - } - ], - "id": "WvQzM-re", - "createdAt": 1659510214733, - "updatedAt": 1659510228108 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Raku", - "content": [ - { - "label": "Fragment 1", - "language": "raku", - "value": "=begin comment\nRaku example for ace\n=end comment\nclass Cook is Employee {\n has @.utensils is rw;\n has @.cookbooks is rw;\n\n method cook( $food ) {\n say \"Cooking $food\";\n }\n\n method clean_utensils {\n say \"Cleaning $_\" for @.utensils;\n }\n}\n\nclass Baker is Cook {\n method cook( $confection ) {\n say \"Baking a tasty $confection\";\n }\n}\n\nmy $cook = Cook.new(\n utensils => ,\n cookbooks => 'The Joy of Cooking',\n salary => 40000);\n\n$cook.cook( 'pizza' ); # OUTPUT: «Cooking pizza␤»\nsay $cook.utensils.perl; # OUTPUT: «[\"spoon\", \"ladle\", \"knife\", \"pan\"]␤»\nsay $cook.cookbooks.perl; # OUTPUT: «[\"The Joy of Cooking\"]␤»\nsay $cook.salary; # OUTPUT: «40000␤»\n\nmy $baker = Baker.new(\n utensils => 'self cleaning oven',\n cookbooks => \"The Baker's Apprentice\",\n salary => 50000);\n\n$baker.cook('brioche'); # OUTPUT: «Baking a tasty brioche␤»\nsay $baker.utensils.perl; # OUTPUT: «[\"self cleaning oven\"]␤»\nsay $baker.cookbooks.perl; # OUTPUT: «[\"The Baker's Apprentice\"]␤»\nsay $baker.salary; # OUTPUT: «50000␤»\n" - } - ], - "id": "fuy3UFGu", - "createdAt": 1659510229876, - "updatedAt": 1659510243071 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Razor", - "content": [ - { - "label": "Fragment 1", - "language": "razor", - "value": "@* razor mode *@\n@{\n\tLayout = \"~/layout\"\n\t@: \n\t@Layout\n\t@: \n}" - } - ], - "id": "GQjZpbUI", - "createdAt": 1659510243891, - "updatedAt": 1659510280508 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Red", - "content": [ - { - "label": "Fragment 1", - "language": "red", - "value": "Red []\ninfo: func ['fn /name /intro /args /refinements /locals /return /spec \n\t/arg-num /arg-names /arg-types /ref-names /ref-types /ref-num /type\n\t/local intr ars refs locs ret arg ref typ\n][\n\tintr: copy \"\" ars: make map! copy [] refs: make map! copy [] locs: copy [] ret: copy [] typ: ref-arg: ref-arg-type: none\n\tif lit-word? fn [fn: to-word fn]\n\tunless find [op! native! function! action!] type?/word get fn [\n\t\tcause-error 'user 'message [\"Only function types accepted!\"]\n\t]\n\tout: make map! copy []\n\tspecs: spec-of get fn \n\tparse specs [\n\t\topt [set intr string!]\n\t\tany [set arg [word! | lit-word!] opt [set typ block!] opt string! (put ars arg either typ [typ][[any-type!]])]\n\t\tany [set ref refinement! [\n\t\t\tif (ref <> /local) (put refs to-lit-word ref make map! copy []) \n\t\t\t\topt string! \n\t\t\t\tany [set ref-arg word! opt [set ref-arg-type block!] \n\t\t\t\t\t(put refs/(to-word ref) to-lit-word ref-arg either ref-arg-type [ref-arg-type][[any-type!]])\n\t\t\t\t]\n\t\t\t|\tany [set loc word! (append locs loc) opt string!] \n\t\t\t\topt [set-word! set ret block!]\n\t\t]]\n\t\t\n\t\t(\n\t\tout: case [\n\t\t\tname\t\t[to-word fn]\n\t\t\tintro \t\t[intr] \n\t\t\targs\t\t[ars]\n\t\t\targ-num\t\t[length? ars]\n\t\t\targ-names \t[copy keys-of ars] \n\t\t\targ-types\t[copy values-of ars]\n\t\t\trefinements [refs] \n\t\t\tref-names\t[copy keys-of refs]\n\t\t\tref-types\t[copy values-of refs]\n\t\t\tref-num\t\t[length? refs]\n\t\t\tlocals \t\t[locs] \n\t\t\treturn \t\t[ret]\n\t\t\tspec\t\t[specs]\n\t\t\ttrue \t\t[\n\t\t\t\tmake object! [\n\t\t\t\t\tname: \t\tto-word fn \n\t\t\t\t\tintro: \t\tintr \n\t\t\t\t\targs: \t\tars \n\t\t\t\t\trefinements: refs \n\t\t\t\t\tlocals: \tlocs \n\t\t\t\t\treturn: \tret \n\t\t\t\t\tspec: \t\tspecs \n\t\t\t\t\ttype: \t\ttype? get fn\n\t\t\t\t\targ-num: \tlength? args\n\t\t\t\t\targ-names: \tcopy keys-of args\n\t\t\t\t\targ-types: \tcopy values-of args\n\t\t\t\t\tref-names: \tcopy keys-of refinements\n\t\t\t\t\tref-types: \tcopy values-of refinements\n\t\t\t\t\tref-num:\tlength? refinements\n\t\t\t\t]\n\t\t\t]\n\t\t])\n\t]\n\tout\n]\n" - } - ], - "id": "eQ3UEMOz", - "createdAt": 1659510281695, - "updatedAt": 1659510296598 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Ruby", - "content": [ - { - "label": "Fragment 1", - "language": "ruby", - "value": "#!/usr/bin/ruby\n\n# Program to find the factorial of a number\ndef fact(n)\n if n == 0\n 1\n else\n n * fact(n-1)\n end\nend\n\nputs fact(ARGV[0].to_i)\n\nclass Range\n def to_json(*a)\n {\n 'json_class' => self.class.name, # = 'Range'\n 'data' => [ first, last, exclude_end? ]\n }.to_json(*a)\n end\nend\n\n{:id => ?\", :key => \"value\"}\n\n\n herDocs = [<<'FOO', <(vector: &[T], function: &fn(v: &T) -> U) -> ~[U] {\n let mut accumulator = ~[];\n for vec::each(vector) |element| {\n accumulator.push(function(element));\n }\n return accumulator;\n}\n" - } - ], - "id": "bfauQKAK", - "createdAt": 1659512758939, - "updatedAt": 1659512774417 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "SASS", - "content": [ - { - "label": "Fragment 1", - "language": "sass", - "value": "nav\n ul\n margin: 0\n padding: 0\n list-style: none\n\n li\n display: inline-block\n\n a\n display: block\n padding: 6px 12px\n text-decoration: none\n" - } - ], - "id": "moAo6UG2", - "createdAt": 1659512774797, - "updatedAt": 1659512900319 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "SCAD", - "content": [ - { - "label": "Fragment 1", - "language": "scad", - "value": "module Element(xpos, ypos, zpos){\n\ttranslate([xpos,ypos,zpos]){\n\t\tunion(){\n\t\t\tcube([10,10,4],true);\n\t\t\tcylinder(10,15,5);\n\t\t\ttranslate([0,0,10])sphere(5);\n\t\t}\n\t}\n}\n\nunion(){\n\tfor(i=[0:30]){\n\t\t# Element(0,0,0);\n\t\tElement(15*i,0,0);\n\t}\n}\n\nfor (i = [3, 5, 7, 11]){\n\trotate([i*10,0,0])scale([1,1,i])cube(10);\n}" - } - ], - "id": "Xpqsj2Zl", - "createdAt": 1659512903575, - "updatedAt": 1659513054282 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Scala", - "content": [ - { - "label": "Fragment 1", - "language": "scala", - "value": "// http://www.scala-lang.org/node/54\n\npackage examples.actors\n\nimport scala.actors.Actor\nimport scala.actors.Actor._\n\nabstract class PingMessage\ncase object Start extends PingMessage\ncase object SendPing extends PingMessage\ncase object Pong extends PingMessage\n\nabstract class PongMessage\ncase object Ping extends PongMessage\ncase object Stop extends PongMessage\n\nobject pingpong extends Application {\n val pong = new Pong\n val ping = new Ping(100000, pong)\n ping.start\n pong.start\n ping ! Start\n}\n\nclass Ping(count: Int, pong: Actor) extends Actor {\n def act() {\n println(\"Ping: Initializing with count \"+count+\": \"+pong)\n var pingsLeft = count\n loop {\n react {\n case Start =>\n println(\"Ping: starting.\")\n pong ! Ping\n pingsLeft = pingsLeft - 1\n case SendPing =>\n pong ! Ping\n pingsLeft = pingsLeft - 1\n case Pong =>\n if (pingsLeft % 1000 == 0)\n println(\"Ping: pong from: \"+sender)\n if (pingsLeft > 0)\n self ! SendPing\n else {\n println(\"Ping: Stop.\")\n pong ! Stop\n exit('stop)\n }\n }\n }\n }\n}\n\nclass Pong extends Actor {\n def act() {\n var pongCount = 0\n loop {\n react {\n case Ping =>\n if (pongCount % 1000 == 0)\n println(\"Pong: ping \"+pongCount+\" from \"+sender)\n sender ! Pong\n pongCount = pongCount + 1\n case Stop =>\n println(\"Pong: Stop.\")\n exit('stop)\n }\n }\n }\n}" - } - ], - "id": "_fNo6obA", - "createdAt": 1659513088102, - "updatedAt": 1659513102547 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Scheme", - "content": [ - { - "label": "Fragment 1", - "language": "scheme", - "value": "(define (prompt-for-cd)\n \"Prompts\n for CD\"\n (prompt-read \"Title\" 1.53 1 2/4 1.7 1.7e0 2.9E-4 +42 -7 #b001 #b001/100 #o777 #O777 #xabc55 #c(0 -5.6))\n (prompt-read \"Artist\")\n (or (parse-integer (prompt-read \"Rating\") #:junk-allowed #t) 0)\n (if x (format #t \"yes\") (format #f \"no\") ;and here comment\n ) \n ;; second line comment\n '(+ 1 2)\n (position-if-not char-set:whitespace line #:start beg))\n (quote (privet 1 2 3))\n '(hello world)\n (* 5 7)\n (1 2 34 5)\n (#:use \"aaaa\")\n (let ((x 10) (y 20))\n (display (+ x y))\n ) \n\n \"asdad\\0eqweqe\"\n" - } - ], - "id": "mQs07uv9", - "createdAt": 1659513103082, - "updatedAt": 1659513120052 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "sCrypt", - "content": [ - { - "label": "Fragment 1", - "language": "scrypt", - "value": "// https://github.com/sCrypt-Inc/boilerplate/blob/master/contracts/ackermann.scrypt\n\ncontract Ackermann {\n int a; // a = 2\n int b; // b = 1\n\n static const int LOOPCOUNT = 14;\n\n function ackermann(int m, int n) : int {\n bytes stk = num2bin(m, 1);\n\n // run this function off chain to get the loop count and set it here\n // e.g., (2, 1) requires 14 loops, (3, 5) 42438\n loop (LOOPCOUNT) {\n if (len(stk) > 0) {\n bytes top = stk[0 : 1];\n m = unpack(top);\n\n // pop\n stk = stk[1 : len(stk)];\n\n if (m == 0) {\n n = n + m + 1;\n }\n else if (n == 0) {\n n++;\n m--;\n // push\n stk = num2bin(m, 1) + stk;\n }\n else {\n stk = num2bin(m - 1, 1) + stk;\n stk = num2bin(m, 1) + stk;\n n--;\n }\n }\n }\n\n return n;\n }\n\n // y = 5\n public function unlock(int y) {\n require(y == this.ackermann(this.a, this.b));\n }\n}" - } - ], - "id": "y8lXMyA1", - "createdAt": 1659513122058, - "updatedAt": 1659513143136 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "SCSS", - "content": [ - { - "label": "Fragment 1", - "language": "scss", - "value": "nav {\n ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n li { display: inline-block; }\n\n a {\n display: block;\n padding: 6px 12px;\n text-decoration: none;\n }\n}" - } - ], - "id": "V-785e5S", - "createdAt": 1659513144141, - "updatedAt": 1659513158303 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "SJS", - "content": [ - { - "label": "Fragment 1", - "language": "sjs", - "value": "var { each, map } = require('sjs:sequence');\nvar { get } = require('sjs:http');\n\nfunction foo(items, nada) {\n var component = { name: \"Ace\", role: \"Editor\" };\n console.log(\"\n Welcome, #{component.name}\n \".trim());\n\n logging.debug(`Component added: $String(component) (${component})`);\n\n console.log(`\n Welcome, {${function() {\n return { x: 1, y: \"why?}\"};\n }()}\n `.trim());\n\n waitfor {\n items .. each.par { |item|\n get(item);\n }\n } and {\n var lengths = items .. map(i -> i.length);\n } or {\n hold(1500);\n throw new Error(\"timed out\");\n }\n}\t// Real Tab.\n" - } - ], - "id": "fe94fkP7", - "createdAt": 1659513160004, - "updatedAt": 1659513172534 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Slim", - "content": [ - { - "label": "Fragment 1", - "language": "slim", - "value": "doctype html\nhtml\n head\n title Slim Examples\n meta name=\"keywords\" content=\"template language\"\n meta name=\"author\" content=author\n link rel=\"icon\" type=\"image/png\" href=file_path(\"favicon.png\")\n javascript:\n alert('Slim supports embedded javascript!')\n\n body\n h1 Markup examples\n\n #content\n p This example shows you how a basic Slim file looks.\n\n == yield\n\n - if items.any?\n table#items\n - for item in items\n tr\n td.name = item.name\n td.price = item.price\n - else\n p No items found. Please add some inventory.\n Thank you!\n\n div id=\"footer\"\n == render 'footer'\n | Copyright © #{@year} #{@author}\n indenting test\n\n - @page_current = true" - } - ], - "id": "G6BAdMnJ", - "createdAt": 1659513173551, - "updatedAt": 1659513317040 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Solidity", - "content": [ - { - "label": "Fragment 1", - "language": "solidity", - "value": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.13;\n\ncontract DataLocations {\n uint[] public arr;\n mapping(uint => address) map;\n struct MyStruct {\n uint foo;\n }\n mapping(uint => MyStruct) myStructs;\n\n function f() public {\n // call _f with state variables\n _f(arr, map, myStructs[1]);\n\n // get a struct from a mapping\n MyStruct storage myStruct = myStructs[1];\n // create a struct in memory\n MyStruct memory myMemStruct = MyStruct(0);\n }\n\n function _f(\n uint[] storage _arr,\n mapping(uint => address) storage _map,\n MyStruct storage _myStruct\n ) internal {\n // do something with storage variables\n }\n\n // You can return memory variables\n function g(uint[] memory _arr) public returns (uint[] memory) {\n // do something with memory array\n }\n\n function h(uint[] calldata _arr) external {\n // do something with calldata array\n }\n}" - } - ], - "id": "o9TpAqny", - "createdAt": 1659513318920, - "updatedAt": 1659513371511 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Smarty", - "content": [ - { - "label": "Fragment 1", - "language": "smarty", - "value": "{foreach $foo as $bar}\n {$bar.zag}\n {$bar.zag2}\n {$bar.zag3}\n{foreachelse}\n There were no rows found.\n{/foreach}" - } - ], - "id": "8cQOZp8n", - "createdAt": 1659513382933, - "updatedAt": 1659513403528 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Smithy", - "content": [ - { - "label": "Fragment 1", - "language": "smithy", - "value": "namespace example.weather\n\n/// Provides weather forecasts.\n@paginated(inputToken: \"nextToken\", outputToken: \"nextToken\",\n pageSize: \"pageSize\")\nservice Weather {\n version: \"2006-03-01\",\n resources: [City],\n operations: [GetCurrentTime]\n}\n\nresource City {\n identifiers: { cityId: CityId },\n read: GetCity,\n list: ListCities,\n resources: [Forecast],\n}\n\nresource Forecast {\n identifiers: { cityId: CityId },\n read: GetForecast,\n}\n\n// \"pattern\" is a trait.\n@pattern(\"^[A-Za-z0-9 ]+$\")\nstring CityId\n\n@readonly\noperation GetCity {\n input: GetCityInput,\n output: GetCityOutput,\n errors: [NoSuchResource]\n}\n\nstructure GetCityInput {\n // \"cityId\" provides the identifier for the resource and\n // has to be marked as required.\n @required\n cityId: CityId\n}\n\nstructure GetCityOutput {\n // \"required\" is used on output to indicate if the service\n // will always provide a value for the member.\n @required\n name: String,\n\n @required\n coordinates: CityCoordinates,\n}\n\n// This structure is nested within GetCityOutput.\nstructure CityCoordinates {\n @required\n latitude: Float,\n\n @required\n longitude: Float,\n}\n\n// \"error\" is a trait that is used to specialize\n// a structure as an error.\n@error(\"client\")\nstructure NoSuchResource {\n @required\n resourceType: String\n}\n\n// The paginated trait indicates that the operation may\n// return truncated results.\n@readonly\n@paginated(items: \"items\")\noperation ListCities {\n input: ListCitiesInput,\n output: ListCitiesOutput\n}\n\nstructure ListCitiesInput {\n nextToken: String,\n pageSize: Integer\n}\n\nstructure ListCitiesOutput {\n nextToken: String,\n\n @required\n items: CitySummaries,\n}\n\n// CitySummaries is a list of CitySummary structures.\nlist CitySummaries {\n member: CitySummary\n}\n\n// CitySummary contains a reference to a City.\n@references([{resource: City}])\nstructure CitySummary {\n @required\n cityId: CityId,\n\n @required\n name: String,\n}\n\n@readonly\noperation GetCurrentTime {\n output: GetCurrentTimeOutput\n}\n\nstructure GetCurrentTimeOutput {\n @required\n time: Timestamp\n}\n\n@readonly\noperation GetForecast {\n input: GetForecastInput,\n output: GetForecastOutput\n}\n\n// \"cityId\" provides the only identifier for the resource since\n// a Forecast doesn't have its own.\nstructure GetForecastInput {\n @required\n cityId: CityId,\n}\n\nstructure GetForecastOutput {\n chanceOfRain: Float\n}" - } - ], - "id": "qHcIur3E", - "createdAt": 1659513520728, - "updatedAt": 1659513537749 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Soy Template", - "content": [ - { - "label": "Fragment 1", - "language": "soy_template", - "value": "/**\n * Greets a person using \"Hello\" by default.\n * @param name The name of the person.\n * @param? greetingWord Optional greeting word to use instead of \"Hello\".\n */\n{template .helloName #eee}\n {if not $greetingWord}\n Hello {$name}!\n {else}\n {$greetingWord} {$name}!\n {/if}\n{/template}\n\n/**\n * Greets a person and optionally a list of other people.\n * @param name The name of the person.\n * @param additionalNames The additional names to greet. May be an empty list.\n */\n{template .helloNames}\n // Greet the person.\n {call .helloName data=\"all\" /}
    \n // Greet the additional people.\n {foreach $additionalName in $additionalNames}\n {call .helloName}\n {param name: $additionalName /}\n {/call}\n {if not isLast($additionalName)}\n
    // break after every line except the last\n {/if}\n {ifempty}\n No additional people to greet.\n {/foreach}\n{/template}\n\n\n{/foreach}\n{if length($items) > 5}\n{msg desc=\"Says hello to the user.\"}\n\n\n{namespace ns autoescape=\"contextual\"}\n\n/** Example. */\n{template .example}\n foo is {$ij.foo}\n{/template}" - } - ], - "id": "GNzBMeEl", - "createdAt": 1659513539732, - "updatedAt": 1659513555942 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "SQL", - "content": [ - { - "label": "Fragment 1", - "language": "sql", - "value": "SELECT city, COUNT(id) AS users_count\nFROM users\nWHERE group_name = 'salesman'\nAND created > '2011-05-21'\nGROUP BY 1\nORDER BY 2 DESC" - } - ], - "id": "StsXGnhD", - "createdAt": 1659513557682, - "updatedAt": 1659513666978 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "SQLServer", - "content": [ - { - "label": "Fragment 1", - "language": "sqlserver", - "value": "-- =============================================\n-- Author:\t\tMorgan Yarbrough\n-- Create date: 4/27/2015\n-- Description:\tTest procedure that shows off language features.\n-- \t\t\t\tIncludes non-standard folding with region comments using either\n-- \t\t\t\tline comments or block comments (both are demonstrated below).\n--\t\t\t\tThis mode imitates SSMS and it designed to be used with SQL Server theme.\n-- =============================================\nCREATE PROCEDURE dbo.TestProcedure\n\t\n--#region parameters\n\t@vint INT = 1\n\t,@vdate DATE = NULL\n\t,@vdatetime DATETIME = DATEADD(dd, 1, GETDATE())\n\t,@vvarchar VARCHAR(MAX) = ''\n--#endregion\n\nAS\nBEGIN\n\n\t/*#region set statements */\n\tSET NOCOUNT ON;\n\tSET XACT_ABORT ON;\n\tSET QUOTED_IDENTIFIER ON;\n\t/*#endregion*/\n\t\n\t/**\n\t * These comments will produce a fold widget\n\t */\n\t\n\t-- folding demonstration\n\tSET @vint = CASE\n\t\t\t\t\tWHEN @vdate IS NULL\n\t\t\t\t\t\tTHEN 1\n\t\t\t\t\tELSE 2\n\t\t\t\tEND\n\t\n\t-- another folding demonstration\n\tIF @vint = 1 \n\tBEGIN\n\t\tSET @vvarchar = 'one'\n\t\tSET @vint = DATEDIFF(dd, @vdate, @vdatetime)\n\tEND\n\t\n\t-- this mode handles strings properly\n\tDECLARE @sql NVARCHAR(4000) = N'SELECT TOP(1) OrderID \n\t\t\t\t\t\t\t\t\tFROM Orders\n\t\t\t\t\t\t\t\t\tWHERE @OrderDate > GETDATE()'\n\t\t\t\t\t\t\t\t\n\t-- this mode is aware of built in stored procedures \n\tEXECUTE sp_executesql @sql\n\t\n\t-- demonstrating some syntax highlighting\n\tSELECT Orders.OrderID\n\t\t,Customers.CompanyName\n\t\t,DATEFROMPARTS(YEAR(GETDATE()), 1, 1) AS FirstDayOfYear\n\tFROM Orders\n\tINNER JOIN Customers\n\t\tON Orders.CustomerID = Customers.CustomerID\n\tWHERE CompanyName NOT LIKE '%something'\n\t\tOR CompanyName IS NULL\n\t\tOR CompanyName IN ('bla', 'nothing')\n\t\t\n\t-- this mode includes snippets\n\t-- place your cusor at the end of the line below and trigger auto complete (Ctrl+Space)\n\tcreatepr\n\t\n\t-- SQL Server allows using keywords as object names (not recommended) as long as they are wrapped in brackets\n\tDATABASE -- keyword\n\t[DATABASE] -- not a keyword\n\t\nEND\n" - } - ], - "id": "3KKphPti", - "createdAt": 1659513678316, - "updatedAt": 1659513691143 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Stylus", - "content": [ - { - "label": "Fragment 1", - "language": "stylus", - "value": "// I'm a comment!\n\n/*\n * Adds the given numbers together.\n */\n\n\n/*!\n * Adds the given numbers together.\n */\n\n\nasdasdasdad(df, ad=23)\n\nadd(a, b = a)\n a + b\ngreen(#0c0)\n add(10, 5)\n // => 15\n\n add(10)\n add(a, b)\n\n &asdasd\n\n (arguments)\n\n @sdfsdf\n.signatures\n background-color #e0e8e0\n border 1px solid grayLighter\n box-shadow 0 0 3px grayLightest\n border-radius 3px\n padding 3px 5px\n \"adsads\"\n margin-left 0\n list-style none\n.signature\n list-style none\n display: inline\n margin-left 0\n > li\n display inline\nis not\n.signature-values\n list-style none\n display inline\n margin-left 0\n &:before\n content '→'\n margin 0 5px\n > li\n !important\n\n unless" - } - ], - "id": "kr0fAxYi", - "createdAt": 1659513699414, - "updatedAt": 1659513717161 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "SVG", - "content": [ - { - "label": "Fragment 1", - "language": "svg", - "value": "\n\n Test Tube Progress Bar\n Created for the Web Directions SVG competition\n\n \n\n \n\n \n Hickory,\n \n dickory,\n \n dock!\n" - } - ], - "id": "pKDZ8-6w", - "createdAt": 1659513718112, - "updatedAt": 1659513731102 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Swit", - "content": [ - { - "label": "Fragment 1", - "language": "swift", - "value": "import UIKit\n \nclass DetailsViewController: UIViewController {\n var album: Album?\n @IBOutlet weak var albumCover: UIImageView!\n \n required init(coder aDecoder: NSCoder) {\n super.init(coder: aDecoder)\n }\n \n override func viewDidLoad() {\n super.viewDidLoad()\n mLabel.text = self.album?.title && \"Juhu \\( \"kinners\" )! \"\n albumCover.image = UIImage(data: NSData(contentsOfURL: NSURL(string: self.album!.largeImageURL)!)!)\n }\n}" - } - ], - "id": "f06uNsdC", - "createdAt": 1659513731945, - "updatedAt": 1659513744330 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Tcl", - "content": [ - { - "label": "Fragment 1", - "language": "tcl", - "value": "\nproc dijkstra {graph origin} {\n # Initialize\n dict for {vertex distmap} $graph {\n\tdict set dist $vertex Inf\n\tdict set path $vertex {}\n }\n dict set dist $origin 0\n dict set path $origin [list $origin]\n \n while {[dict size $graph]} {\n\t# Find unhandled node with least weight\n\tset d Inf\n\tdict for {uu -} $graph {\n\t if {$d > [set dd [dict get $dist $uu]]} {\n\t\tset u $uu\n\t\tset d $dd\n\t }\n\t}\n \n\t# No such node; graph must be disconnected\n\tif {$d == Inf} break\n \n\t# Update the weights for nodes\\\n\t lead to by the node we've picked\n\tdict for {v dd} [dict get $graph $u] {\n\t if {[dict exists $graph $v]} {\n\t\tset alt [expr {$d + $dd}]\n\t\tif {$alt < [dict get $dist $v]} {\n\t\t dict set dist $v $alt\n\t\t dict set path $v [list {*}[dict get $path $u] $v]\n\t\t}\n\t }\n\t}\n \n\t# Remove chosen node from graph still to be handled\n\tdict unset graph $u\n }\n return [list $dist $path]\n}" - } - ], - "id": "xDPl3nEd", - "createdAt": 1659513745309, - "updatedAt": 1659513756760 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Terraform", - "content": [ - { - "label": "Fragment 1", - "language": "terraform", - "value": "export TF_LOG=TRACE\n\n# An AMI\nvariable \"ami\" {\n description = \"the AMI to use\"\n}\n\n/* A multi\n line comment. */\nresource \"aws_instance\" \"web\" {\n ami = \"${var.ami}\"\n count = 2\n source_dest_check = false\n\n connection {\n user = \"root\"\n }\n}\n\nresource \"aws_instance\" \"web\" {\n subnet = \"${var.env == \"production\" ? var.prod_subnet : var.dev_subnet}\"\n}\n\nvariable \"count\" {\n default = 2\n}\n\nvariable \"hostnames\" {\n default = {\n \"0\" = \"example1.org\"\n \"1\" = \"example2.net\"\n }\n}\n\ndata \"template_file\" \"web_init\" {\n # Render the template once for each instance\n count = \"${length(var.hostnames)}\"\n template = \"${file(\"templates/web_init.tpl\")}\"\n vars {\n # count.index tells us the index of the instance we are rendering\n hostname = \"${var.hostnames[count.index]}\"\n }\n}\n\nresource \"aws_instance\" \"web\" {\n # Create one instance for each hostname\n count = \"${length(var.hostnames)}\"\n\n # Pass each instance its corresponding template_file\n user_data = \"${data.template_file.web_init.*.rendered[count.index]}\"\n}\n\nvariable \"count\" {\n default = 2\n}\n\n# Define the common tags for all resources\nlocals {\n common_tags = {\n Component = \"awesome-app\"\n Environment = \"production\"\n }\n}\n\n# Create a resource that blends the common tags with instance-specific tags.\nresource \"aws_instance\" \"server\" {\n ami = \"ami-123456\"\n instance_type = \"t2.micro\"\n\n tags = \"${merge(\n local.common_tags,\n map(\n \"Name\", \"awesome-app-server\",\n \"Role\", \"server\"\n )\n )}\"\n}\n\n$ terraform apply -var foo=bar -var foo=baz\n$ terraform apply -var 'foo={quux=\"bar\"}' -var 'foo={bar=\"baz\"}'\n\n$ terraform apply -var-file=foo.tfvars -var-file=bar.tfvars\n$ TF_VAR_somemap='{foo = \"bar\", baz = \"qux\"}' terraform plan\n\nresource \"aws_instance\" \"web\" {\n # ...\n\n count = \"${var.count}\"\n\n # Tag the instance with a counter starting at 1, ie. web-001\n tags {\n Name = \"${format(\"web-%03d\", count.index + 1)}\"\n }\n}" - } - ], - "id": "fBdP-3EZ", - "createdAt": 1659513757099, - "updatedAt": 1659513771760 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Tex", - "content": [ - { - "label": "Fragment 1", - "language": "tex", - "value": "The quadratic formula is $$-b \\pm \\sqrt{b^2 - 4ac} \\over 2a$$\n\\bye\n\n\\makeatletter\n \\newcommand{\\be}{%\n \\begingroup\n % \\setlength{\\arraycolsep}{2pt}\n \\eqnarray%\n \\@ifstar{\\nonumber}{}%\n }\n \\newcommand{\\ee}{\\endeqnarray\\endgroup}\n \\makeatother\n\n \\begin{equation}\n x=\\left\\{ \\begin{array}{cl}\n 0 & \\textrm{if }A=\\ldots\\\\\n 1 & \\textrm{if }B=\\ldots\\\\\n x & \\textrm{this runs with as much text as you like, but without an raggeright text\n.}\\end{array}\\right.\n \\end{equation}" - } - ], - "id": "9HHsgIb1", - "createdAt": 1659513772113, - "updatedAt": 1659513782241 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Textile", - "content": [ - { - "label": "Fragment 1", - "language": "textile", - "value": "h1. Textile document\n\nh2. Heading Two\n\nh3. A two-line\n header\n\nh2. Another two-line\nheader\n\nParagraph:\none, two,\nthee lines!\n\np(classone two three). This is a paragraph with classes\n\np(#id). (one with an id)\n\np(one two three#my_id). ..classes + id\n\n* Unordered list\n** sublist\n* back again!\n** sublist again..\n\n# ordered\n\nbg. Blockquote!\n This is a two-list blockquote..!" - } - ], - "id": "rnsJdqWh", - "createdAt": 1659513783516, - "updatedAt": 1659513815754 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "TOML", - "content": [ - { - "label": "Fragment 1", - "language": "toml", - "value": "# This is a TOML document. Boom.\n\ntitle = \"TOML Example\"\n\n[owner]\nname = \"Tom Preston-Werner\"\norganization = \"GitHub\"\nbio = \"GitHub Cofounder & CEO\\nLikes tater tots and beer.\"\ndob = 1979-05-27T07:32:00Z # First class dates? Why not?\n\n[database]\nserver = \"192.168.1.1\"\nports = [ 8001, 8001, 8002 ]\nconnection_max = 5000\nenabled = true\n\n[servers]\n\n # You can indent as you please. Tabs or spaces. TOML don't care.\n [servers.alpha]\n ip = \"10.0.0.1\"\n dc = \"eqdc10\"\n\n [servers.beta]\n ip = \"10.0.0.2\"\n dc = \"eqdc10\"\n\n[clients]\ndata = [ [\"gamma\", \"delta\"], [1, 2] ] # just an update to make sure parsers support it" - } - ], - "id": "BMoUKb64", - "createdAt": 1659513816206, - "updatedAt": 1659513833836 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "TSX", - "content": [ - { - "label": "Fragment 1", - "language": "tsx", - "value": "import * as React from \"react\";\nlet Logo =\"https://logrocket-assets.io/static/home-hero-c97849b227a3d3015730e3371a76a7f0.svg\";\n\nexport default class FirstComponent extends React.Component <{}> {\n render() {\n return (\n
    \n

    A Simple React Component Example with Typescript

    \n
    \n \n
    \n

    This component shows the Logrocket logo.

    \n

    For more info on Logrocket, please visit https://logrocket.com

    \n
    \n );\n }\n}" - } - ], - "id": "8XU5NKRw", - "createdAt": 1659513834187, - "updatedAt": 1659513891006 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Twig", - "content": [ - { - "label": "Fragment 1", - "language": "twig", - "value": "\n\n \n My Webpage\n \n \n \n\n {% if 1 not in [1, 2, 3] %}\n\n {# is equivalent to #}\n {% if not (1 in [1, 2, 3]) %}\n\n {% autoescape true %}\n {{ var }}\n {{ var|raw }} {# var won't be escaped #}\n {{ var|escape }} {# var won't be doubled-escaped #}\n {% endautoescape %}\n\n {{ include('twig.html', sandboxed = true) }}\n\n {{\"string #{with} \\\" escapes\" 'another#one' }}\n

    My Webpage

    \n {{ a_variable }}\n \n" - } - ], - "id": "-1yJwNhA", - "createdAt": 1659513895880, - "updatedAt": 1659513909414 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "TypeScript", - "content": [ - { - "label": "Fragment 1", - "language": "typescript", - "value": "// Mapped types are a way to create new types based\n// on another type. Effectively a transformational type.\n\n// Common cases for using a mapped type is dealing with\n// partial subsets of an existing type. For example\n// an API may return an Artist:\n\ninterface Artist {\n id: number;\n name: string;\n bio: string;\n}\n\n// However, if you were to send an update to the API which\n// only changes a subset of the Artist then you would\n// typically have to create an additional type:\n\ninterface ArtistForEdit {\n id: number;\n name?: string;\n bio?: string;\n}\n\n// It's very likely that this would get out of sync with\n// the Artist above. Mapped types let you create a change\n// in an existing type.\n\ntype MyPartialType = {\n // For every existing property inside the type of Type\n // convert it to be a ?: version\n [Property in keyof Type]?: Type[Property];\n};\n\n// Now we can use the mapped type instead to create\n// our edit interface:\ntype MappedArtistForEdit = MyPartialType;\n\n// This is close to perfect, but it does allow id to be null\n// which should never happen. So, let's make one quick\n// improvement by using an intersection type (see:\n// example:union-and-intersection-types )\n\ntype MyPartialTypeForEdit = {\n [Property in keyof Type]?: Type[Property];\n} & { id: number };\n\n// This takes the partial result of the mapped type, and\n// merges it with an object which has id: number set.\n// Effectively forcing id to be in the type.\n\ntype CorrectMappedArtistForEdit = MyPartialTypeForEdit;\n\n// This is a pretty simple example of how mapped types\n// work, but covers most of the basics. If you'd like to\n// dive in with more depth, check out the handbook:\n//\n// https://www.typescriptlang.org/docs/handbook/advanced-types.html#mapped-types\n" - } - ], - "id": "JIgrOSNq", - "createdAt": 1659513909828, - "updatedAt": 1659514092152 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Vala", - "content": [ - { - "label": "Fragment 1", - "language": "vala", - "value": "using Gtk;\n \nint main (string[] args) {\n Gtk.init (ref args);\n var foo = new MyFoo>();\n\n var window = new Window();\n window.title = \"Hello, World!\";\n window.border_width = 10;\n window.window_position = WindowPosition.CENTER;\n window.set_default_size(350, 70);\n window.destroy.connect(Gtk.main_quit);\n \n var label = new Label(\"Hello, World!\");\n \n window.add(label);\n window.show_all();\n \n Gtk.main();\n return 0;\n}" - } - ], - "id": "oS2hBbE3", - "createdAt": 1659514096104, - "updatedAt": 1659514106267 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Velocity", - "content": [ - { - "label": "Fragment 1", - "language": "velocity", - "value": "#*\n This is a sample comment block that\n spans multiple lines.\n*#\n\n#macro ( outputItem $item )\n
  • ${item}
  • \n#end\n\n## Define the items to iterate\n#set ( $items = [1, 2, 3, 4] )\n\n
      \n ## Iterate over the items and output the evens.\n #foreach ( $item in $items )\n #if ( $_MathTool.mod($item, 2) == 0 )\n #outputItem ($item)\n #end\n #end\n
    \n\n\n\n" - } - ], - "id": "oxLb6eps", - "createdAt": 1659514106610, - "updatedAt": 1659514138518 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Verilog", - "content": [ - { - "label": "Fragment 1", - "language": "verilog", - "value": "always @(negedge reset or posedge clk) begin\n if (reset == 0) begin\n d_out <= 16'h0000;\n d_out_mem[resetcount] <= d_out;\n laststoredvalue <= d_out;\n end else begin\n d_out <= d_out + 1'b1; \n end\nend\n\nalways @(bufreadaddr)\n bufreadval = d_out_mem[bufreadaddr];" - } - ], - "id": "H1d41Wrk", - "createdAt": 1659514148400, - "updatedAt": 1659514158641 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "VHDL", - "content": [ - { - "label": "Fragment 1", - "language": "vhdl", - "value": "library IEEE;\nuse IEEE.std_logic_1164.all;\nuse IEEE.numeric_std.all;\n\nentity COUNT16 is\n\n port (\n cOut :out std_logic_vector(15 downto 0); -- counter output\n clkEn :in std_logic; -- count enable\n clk :in std_logic; -- clock input\n rst :in std_logic -- reset input\n );\n \nend entity;\n\narchitecture count_rtl of COUNT16 is\n signal count : unsigned (15 downto 0);\n \nbegin\n process (clk, rst) begin\n \n if(rst = '1') then\n count <= (others=>'0');\n elsif(rising_edge(clk)) then\n if(clkEn = '1') then\n count <= count + 1;\n end if;\n end if;\n \n end process;\n cOut <= std_logic_vector(count);\n\nend architecture;\n\n" - } - ], - "id": "BBnSrFMV", - "createdAt": 1659514158718, - "updatedAt": 1659514173605 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Visualforce", - "content": [ - { - "label": "Fragment 1", - "language": "visualforce", - "value": "\n\n\n\n\n\n\n\n \n\n{!IF(AND(Price < 1, Quantity < 1), \"Small\", null)}" - } - ], - "id": "s0_h2w0G", - "createdAt": 1659514175371, - "updatedAt": 1659514193759 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Wollok", - "content": [ - { - "label": "Fragment 1", - "language": "wollok", - "value": "class Actividad {\n\tmethod calcularMejora()\n}\n\nclass EstudiarMateria inherits Actividad {\n\tvar materia\n\tvar puntos = 0\n\t\n\tnew(m, p) {\n\t\tmateria = m\n\t\tpuntos = p\n\t}\n\t\n\toverride method calcularMejora() = puntos\n}\n\nclass EjercitarEnSimulador inherits Actividad {\n\tvar horas = 0\n\tnew(h) { horas = h }\n\toverride method calcularMejora() = 10 * horas\n}\n\nobject pepita {\n\tvar energia = 100\n\tmethod volar(m) {\n\t\tenergia -= m\n\t}\n}" - } - ], - "id": "cF_BcjVm", - "createdAt": 1659514214992, - "updatedAt": 1659514230333 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "XML", - "content": [ - { - "label": "Fragment 1", - "language": "xml", - "value": "\n\n \n true\n \n 26\n 25\n 21978\n \n \n \n 24865670\n Continent\n Africa\n \n \n 24865675\n Continent\n Europe\n \n \n 24865673\n Continent\n South America\n \n \n 28289421\n Continent\n Antarctic\n \n \n 24865671\n Continent\n Asia\n \n \n 24865672\n Continent\n North America\n \n \n 55949070\n Continent\n Australia\n \n \n" - } - ], - "id": "gDrki2Ji", - "createdAt": 1659514230437, - "updatedAt": 1659514244240 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "XSL", - "content": [ - { - "label": "Fragment 1", - "language": "xsl", - "value": "\n\n\n \n\n \n Article - \n Authors: \n \n\n \n - \n \n\n" - } - ], - "id": "1NY4osXj", - "createdAt": 1659514244604, - "updatedAt": 1659514309251 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "XQuery", - "content": [ - { - "label": "Fragment 1", - "language": "xquery", - "value": "xquery version \"1.0\";\n\nlet $message := \"Hello World!\"\nreturn \n {$message}\n\n" - } - ], - "id": "lcw5xZe9", - "createdAt": 1659514318132, - "updatedAt": 1659514336003 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "YAML", - "content": [ - { - "label": "Fragment 1", - "language": "yaml", - "value": "# This sample document was taken from wikipedia:\n# http://en.wikipedia.org/wiki/YAML#Sample_document\n---\nreceipt: Oz-Ware Purchase Invoice\ndate: 2007-08-06\ncustomer:\n given: Dorothy\n family: Gale\n\nitems:\n - part_no: 'A4786'\n descrip: Water Bucket (Filled)\n price: 1.47\n quantity: 4\n\n - part_no: 'E1628'\n descrip: High Heeled \"Ruby\" Slippers\n size: 8\n price: 100.27\n quantity: 1\n version: 1.2.3.4\n\nbill-to: &id001\n street: |\n 123 Tornado Alley\n Suite 16\n city: East Centerville\n state: KS\n\nship-to: *id001\n\nspecialDelivery: >\n Follow the Yellow Brick\n Road to the Emerald City.\n Pay no attention to the\n man behind the curtain.\n" - } - ], - "id": "0xvqjuAJ", - "createdAt": 1659514336449, - "updatedAt": 1659514359371 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Zeek", - "content": [ - { - "label": "Fragment 1", - "language": "zeek", - "value": "# An example of the Zeek scripting language.\n\n##! A Zeekygen-style summmary comment.\n\n# TODO: just an example of a todo-indicator\n\n@load base/frameworks/notice\n\n@if ( F )\n@endif\n\nmodule Example;\n\nexport {\n\n type SimpleEnum: enum { ONE, TWO, THREE };\n\n redef enum SimpleEnum += {\n\n ## A Zeekygen-style comment.\n FOUR,\n FIVE, ##< A Zeekygen-style comment.\n };\n\n type SimpleRecord: record {\n field1: count;\n field2: bool;\n } &redef;\n\n redef record SimpleRecord += {\n\n field3: string &optional;\n\n field4: string &default=\"blah\";\n };\n\n const init_option: bool = T;\n\n option runtime_option: bool = F;\n\n global test_opaque: opaque of md5;\n\n global test_vector: vector of count;\n\n global myfunction: function(msg: string, c: count &default=0): count;\n\n global myhook: hook(tag: string);\n\n global myevent: event(tag: string);\n}\n\nfunction myfunction(msg: string, c: count): count\n {\n print \"in myfunction\", msg, c;\n return 0;\n }\n\nevent myevent(msg: string) &priority=1\n {\n print \"in myevent\";\n }\n\nhook myhook(msg: string)\n {\n print \"in myevent\";\n }\n\nevent zeek_init()\n {\n local b = T;\n local s = \"\\xff\\xaf\\\"and more after the escaped quote\";\n local p = /foo|bar\\xbe\\/and more after the escaped slash/;\n local c = 10;\n\n local sr = SimpleRecord($field1 = 0, $field2 = T, $field3 = \"hi\");\n\n print sr?$field3, sr$field1;\n\n local myset: set[string] = set(\"one\", \"two\", \"three\");\n\n add myset[\"four\"];\n delete myset[\"one\"];\n\n for ( ms in myset )\n {\n print ms is string, s as string;\n\n print s[1:3];\n\n local tern: count = s == \"two\" ? 2 : 0;\n\n if ( s !in myset )\n print fmt(\"error %4.2f: %s\", 3.14159, \"wtf?\");\n }\n\n switch ( c ) {\n case 1:\n break;\n case 2:\n fallthrough;\n default:\n break;\n }\n\n if ( ! b )\n print \"here\";\n else\n print \"there\";\n\n while ( c != 0 )\n {\n if ( c >= 5 )\n c += 0;\n else if ( c == 8 )\n c -= 0;\n\n c = c / 1;\n c = c / 1;\n c = c - 1;\n }\n\n print |myset|;\n print ~5;\n print 1 & 0xff;\n print 2 ^ 5;\n\n myfunction(\"hello function\");\n hook myhook(\"hell hook\");\n event myevent(\"hello event\");\n schedule 1sec { myevent(\"hello scheduled event\") };\n\n print 0, 7;\n print 0xff, 0xdeadbeef;\n\n print 3.14159;\n print 1234.0;\n print 1234e0;\n print .003E-23;\n print .003E+23;\n\n print 123/udp;\n print 8000/tcp;\n print 13/icmp;\n print 42/unknown;\n\n print google.com;\n print 192.168.50.1;\n print 255.255.255.255;\n print 0.0.0.0;\n\n print 10.0.0.0/16;\n\n print [2001:0db8:85a3:0000:0000:8a2e:0370:7334];\n # test for case insensitivity\n print [2001:0DB8:85A3:0000:0000:8A2E:0370:7334];\n # any case mixture is allowed\n print [2001:0dB8:85a3:0000:0000:8A2E:0370:7334];\n # leading zeroes of a 16-bit group may be omitted\n print [2001:db8:85a3:0:0:8a2e:370:7334];\n # a single occurrence of consecutive groups of zeroes may be replaced by ::\n print [2001:db8:85a3::8a2e:370:7334];\n # all zeroes should work\n print [0:0:0:0:0:0:0:0];\n # all zeroes condensed should work\n print [::];\n # hybrid ipv6-ipv4 address should work\n print [2001:db8:0:0:0:FFFF:192.168.0.5];\n # hybrid ipv6-ipv4 address with zero ommission should work\n print [2001:db8::FFFF:192.168.0.5];\n\n print [2001:0db8:85a3:0000:0000:8a2e:0370:7334]/64;\n\n print 1day, 1days, 1.0day, 1.0days;\n print 1hr, 1hrs, 1.0hr, 1.0hrs;\n print 1min, 1mins, 1.0min, 1.0mins;\n print 1sec, 1secs, 1.0sec, 1.0secs;\n print 1msec, 1msecs, 1.0msec, 1.0msecs;\n print 1usec, 1usecs, 1.0usec, 1.0usecs;\n }\n" - } - ], - "id": "F6QCorpv", - "createdAt": 1659514362723, - "updatedAt": 1659514383840 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Vue", - "content": [ - { - "label": "Fragment 1", - "language": "vue", - "value": "\n\n\n\n\n" - } - ], - "id": "n2cZYWla", - "createdAt": 1659674577829, - "updatedAt": 1659685133678 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "SAS", - "content": [ - { - "label": "Fragment 1", - "language": "sas", - "value": "*** Some comments;\nproc sort data=preTest;\n by student_ID;\nrun;\nproc sort data=postTest;\n by student_ID;\nrun;\ndata testGroup;\n merge preTest(in=a rename=(score=pre)) \n postTest(in=b rename=(score=post));\n by student_ID;\n if a and b;\n difference=post-pre;\nrun;\nTitle \"Student's T test of difference\"; \nproc means data=testGroup n mean stddev stderr t prt;\n by student_ID;\n var difference;\nrun;" - } - ], - "id": "ZbWrvEHT", - "createdAt": 1659686186866, - "updatedAt": 1659686553849 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "RegExp", - "content": [ - { - "label": "Fragment 1", - "language": "regexp", - "value": "^((?=\\S*?[A-Z])(?=\\S*?[a-z])(?=\\S*?[0-9]).{6,})\\S$" - } - ], - "id": "j0F_-__e", - "createdAt": 1659687264814, - "updatedAt": 1659688177442 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Smalltalk", - "content": [ - { - "label": "Fragment 1", - "language": "smalltalk", - "value": "exampleWithNumber: x\n | y |\n true & false not & (nil isNil) ifFalse: [self halt].\n y := self size + super size.\n #($a #a 'a' 1 1.0)\n do: [ :each |\n Transcript show: (each class name);\n show: ' '].\n ^x < y \"Some comment\"" - } - ], - "id": "cj0IfumH", - "createdAt": 1659688801793, - "updatedAt": 1659688919992 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Kusto KQL", - "content": [ - { - "label": "Fragment 1", - "language": "kusto", - "value": "let Events = MyLogTable | where ... ;\nEvents\n| where Name == \"Start\"\n| project Name, City, SessionId, StartTime=timestamp\n| join (Events\n | where Name == \"Stop\"\n | project StopTime=timestamp, SessionId)\n on SessionId\n| project City, SessionId, StartTime, StopTime, Duration = StopTime - StartTime" - } - ], - "id": "vH7mmfKH", - "createdAt": 1673326490808, - "updatedAt": 1673326641538 - }, - { - "isDeleted": false, - "isFavorites": false, - "folderId": "J7rNZi7X", - "tagsIds": [], - "description": null, - "name": "Bicep", - "content": [ - { - "label": "Fragment 1", - "language": "bicep", - "value": "param rgLocation string = resourceGroup().location\nparam storages array = [\n {\n name: 'contoso'\n skuName: 'Standard_LRS'\n }\n {\n name: 'fabrikam'\n skuName: 'Premium_LRS'\n }\n]\n\nresource createStorages 'Microsoft.Storage/storageAccounts@2021-06-01' = [for storage in storages: {\n name: '${storage.name}obj${uniqueString(resourceGroup().id)}'\n location: rgLocation\n sku: {\n name: storage.skuName\n }\n kind: 'StorageV2'\n}]" - } - ], - "id": "W9p-A0M9", - "createdAt": 1673328306847, - "updatedAt": 1673328471208 - } - ], - "tags": [] -} diff --git a/electron-builder.json b/electron-builder.json new file mode 100644 index 00000000..cfd9633a --- /dev/null +++ b/electron-builder.json @@ -0,0 +1,40 @@ +{ + "appId": "io.masscode.app", + "productName": "massCode", + "directories": { + "output": "dist" + }, + "files": [ + "build/renderer/**/*", + "build/main/**/*", + "!build/**/*.map" + ], + "mac": { + "target": "dmg", + "icon": "build/icons/icon.icns", + "entitlements": "build/entitlements.mac.plist", + "category": "public.app-category.productivity", + "hardenedRuntime": false, + "identity": null + }, + "win": { + "target": ["nsis", "portable"], + "icon": "build/icons/icon.ico" + }, + "linux": { + "target": ["AppImage", "snap"], + "icon": "build/icons/icon.png" + }, + "nsis": { + "oneClick": false, + "perMachine": false, + "allowToChangeInstallationDirectory": true, + "shortcutName": "massCode" + }, + "protocols": [ + { + "name": "massCode", + "schemes": ["masscode"] + } + ] +} diff --git a/electron-builder.sponsored.json b/electron-builder.sponsored.json new file mode 100644 index 00000000..0fa39e78 --- /dev/null +++ b/electron-builder.sponsored.json @@ -0,0 +1,41 @@ +{ + "appId": "io.masscode.app", + "productName": "massCode", + "directories": { + "output": "dist" + }, + "files": [ + "build/renderer/**/*", + "build/main/**/*", + "!build/**/*.map" + ], + "artifactName": "${productName}-${version}-${arch}-sponsored.${ext}", + "mac": { + "target": "dmg", + "icon": "build/icons/icon.icns", + "entitlements": "build/entitlements.mac.plist", + "category": "public.app-category.productivity", + "hardenedRuntime": false, + "identity": null + }, + "win": { + "target": ["nsis", "portable"], + "icon": "build/icons/icon.ico" + }, + "linux": { + "target": ["AppImage", "snap"], + "icon": "build/icons/icon.png" + }, + "nsis": { + "oneClick": false, + "perMachine": false, + "allowToChangeInstallationDirectory": true, + "shortcutName": "massCode" + }, + "protocols": [ + { + "name": "massCode", + "schemes": ["masscode"] + } + ] +} diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 00000000..d1b1dfa6 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,13 @@ +const antfu = require('@antfu/eslint-config').default + +module.exports = antfu({ + rules: { + 'vue/max-attributes-per-line': [ + 'error', + { + singleline: 1, + }, + ], + }, + ignores: ['src/renderer/services/api/generated/**/*'], +}) diff --git a/nodemon.json b/nodemon.json new file mode 100644 index 00000000..a6bd82cf --- /dev/null +++ b/nodemon.json @@ -0,0 +1,9 @@ +{ + "watch": ["src/main"], + "ext": "ts,json", + "ignore": [ + "src/main/i18n/locales/**/*.json" + ], + "exec": "tsc -p tsconfig.main.json", + "delay": 1000 +} diff --git a/package.json b/package.json index faa13cfe..85935062 100644 --- a/package.json +++ b/package.json @@ -1,146 +1,135 @@ { "name": "masscode", - "productName": "massCode", - "version": "3.12.1", + "version": "4.0.0-beta.2", "description": "A free and open source code snippets manager for developers", - "license": "AGPL-3.0", - "main": "build/src/main/index.js", - "scripts": { - "dev": "run-p dev:watch dev:vue-devtools", - "dev:watch": "tsc-watch -p tsconfig.electron.json --onFirstSuccess \"npm run dev:server\"", - "dev:server": "node build/scripts/dev-server.js", - "dev:vue-devtools": "vue-devtools", - "build": "npm run ts-check:vue && npm run copy:plist && npm run build:ts && node build/scripts/build.js ", - "build:test": "TEST_BUILD=true TEST_MAC_ARCH=arm64 npm run build", - "build:ts": "tsc -p tsconfig.electron.json", - "ts-check:vue": "vue-tsc --noEmit --skipLibCheck", - "lint": "eslint --ext .js,.ts,.vue . src", - "lint:fix": "eslint --ext .js,.ts,.vue . --fix src", - "release": "bumpp -c 'build: release v' -t", - "generate:language-readme": "node build/scripts/generate-language-readme.js ", - "copy:plist": "copyfiles *.plist build", - "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0", - "prepare": "husky install", - "preinstall": "npx only-allow pnpm" - }, - "repository": "https://github.com/massCodeIO/massCode", "author": { "name": "Anton Reshetov", "url": "https://github.com/antonreshetov" }, - "lint-staged": { - "*.{js,ts,vue}": [ - "prettier --write", - "eslint --fix" - ], - "*.json": [ - "prettier --write" - ] + "license": "AGPL-3.0", + "repository": "https://github.com/massCodeIO/massCode", + "main": "build/main/index.js", + "engines": { + "pnpm": ">=9.0.0" + }, + "scripts": { + "dev": "npm run build:main && concurrently -k \"vite\" \"npm:dev:main\" \"npm:dev:start\"", + "dev:main": "nodemon", + "dev:start": "cross-env NODE_ENV=development electronmon .", + "build": "vite build && npm run build:main && electron-builder", + "build:mac": "vite build && npm run build:main && electron-builder --mac --x64 --arm64", + "build:win": "vite build && npm run build:main && electron-builder --win --x64", + "build:linux": "vite build && npm run build:main && electron-builder --linux --x64", + "build:all": "vite build && npm run build:main && npm run build:mac && npm run build:win && npm run build:linux", + "build:main": "npm run copy:locales && tsc -p tsconfig.main.json", + "api:generate": "node scripts/api-generate.js", + "copy:locales": "node scripts/copy-locales.js", + "lint": "eslint .", + "lint:fix": "eslint --fix .", + "release": "bumpp -c 'build: release v' -t", + "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0", + "rebuild": "electron-rebuild", + "prepare": "simple-git-hooks && npm run rebuild" }, "dependencies": { - "@iconscout/unicons": "^4.0.1", - "@masscode/json-server": "^0.18.0", - "@prettier/plugin-php": "^0.18.4", - "@prettier/plugin-pug": "^2.0.0", - "@prettier/plugin-xml": "^2.1.0", - "@sipec/vue3-tags-input": "^3.0.4", - "@types/universal-analytics": "^0.4.5", - "@vueuse/core": "^8.3.1", - "axios": "^0.26.1", - "codemirror": "^5.65.7", + "@elysiajs/cors": "^1.2.0", + "@elysiajs/node": "^1.2.5", + "@elysiajs/swagger": "^1.2.2", + "@vueuse/core": "^12.7.0", + "better-sqlite3": "^11.8.1", + "change-case": "^5.4.4", + "chroma-js": "^3.1.2", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "codemirror": "^5.65.18", "codemirror-textmate": "^1.1.0", - "crypto-js": "^4.1.1", - "d3": "^7.8.5", - "date-fns": "^2.28.0", + "color-name-list": "^11.22.0", + "crypto-js": "^4.2.0", + "date-fns": "^4.1.0", "dom-to-image": "^2.6.0", - "electron-store": "^8.0.1", - "floating-vue": "^2.0.0-beta.17", - "fs-extra": "^10.0.1", - "fuse.js": "^7.0.0", - "highlight.js": "^11.5.1", - "i18next": "^21.8.14", - "i18next-fs-backend": "^1.1.4", - "interactjs": "^1.10.11", - "lodash": "^4.17.21", - "lowdb": "^3.0.0", - "marked": "^4.0.17", - "markmap-common": "^0.15.3", - "markmap-lib": "^0.15.4", - "markmap-view": "^0.15.4", - "mermaid": "^9.1.3", - "mitt": "^3.0.0", - "nanoid": "^3.3.1", + "electron-store": "^8.2.0", + "elysia": "^1.2.15", + "fs-extra": "^11.3.0", + "i18next": "^24.2.2", + "i18next-fs-backend": "^2.6.0", + "interactjs": "^1.10.27", + "js-yaml": "^4.1.0", + "ky": "^1.7.5", + "lucide-vue-next": "^0.476.0", + "marked": "^15.0.8", + "markmap-lib": "^0.18.11", + "markmap-view": "^0.18.10", + "mermaid": "^11.6.0", + "nanoid": "^3.3.8", + "nearest-color": "^0.4.4", "onigasm": "^2.2.5", - "pinia": "^2.0.13", - "prettier": "^2.6.2", - "prettier-plugin-java": "^1.6.1", - "prettier-plugin-sh": "0.8.2", - "prettier-plugin-toml": "^0.3.1", - "query-string": "^8.1.0", - "sanitize-html": "^2.7.0", + "prettier": "^3.5.3", + "radix-vue": "^1.9.17", + "sanitize-html": "^2.15.0", "slash": "^3.0.0", "slugify": "^1.6.6", - "uuid": "^9.0.1", - "vercel-toast": "^1.5.5", - "vue": "^3.2.33", - "vue-router": "^4.0.14", - "vue3-perfect-scrollbar": "^1.6.0" + "tailwind-merge": "^3.0.2", + "toml": "^3.0.0", + "uuid": "^11.1.0", + "vue-sonner": "^1.3.0", + "vue3-perfect-scrollbar": "^2.0.0" }, "devDependencies": { - "@commitlint/cli": "^15.0.0", - "@commitlint/config-conventional": "^15.0.0", - "@tsconfig/node14": "^1.0.1", - "@types/codemirror": "^5.60.5", - "@types/crypto-js": "^4.1.2", - "@types/dom-to-image": "^2.6.4", - "@types/estree": "^0.0.51", - "@types/i18next-fs-backend": "^1.1.2", - "@types/lowdb": "^1.0.11", - "@types/marked": "^4.0.3", - "@types/mermaid": "^8.2.9", - "@types/node": "^17.0.4", - "@types/prettier": "^2.6.0", - "@types/sanitize-html": "^2.6.2", - "@types/uuid": "^9.0.4", - "@types/webpack": "^5.28.0", - "@typescript-eslint/eslint-plugin": "^5.8.0", - "@typescript-eslint/parser": "^5.8.0", - "@vitejs/plugin-vue": "^2.3.1", - "@vue/cli": "^4.5.17", - "@vue/devtools": "^6.1.4", - "@vue/eslint-config-standard": "^6.1.0", - "bumpp": "^7.1.1", - "chalk": "^4.1.2", - "chokidar": "^3.5.2", - "copyfiles": "^2.4.1", - "dotenv": "^16.0.1", - "electron": "^16.2.3", - "electron-builder": "^23.1.0", - "electron-notarize": "^1.2.1", - "eslint": "^8.5.0", - "eslint-config-prettier": "^8.3.0", - "eslint-plugin-import": "^2.25.3", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-prettier": "^4.0.0", - "eslint-plugin-promise": "^6.0.0", - "eslint-plugin-vue": "^8.2.0", - "handlebars": "^4.7.7", - "husky": "^7.0.0", - "lint-staged": "^12.1.4", - "npm-run-all": "^4.1.5", - "sass": "^1.45.1", - "tsc-watch": "^4.6.0", - "typescript": "^4.5.4", - "unplugin-auto-import": "^0.6.6", - "unplugin-icons": "^0.13.4", - "unplugin-vue-components": "^0.18.1", - "vite": "^2.9.6", - "vue-tsc": "^0.30.6" + "@antfu/eslint-config": "^3.16.0", + "@commitlint/cli": "^19.6.1", + "@commitlint/config-conventional": "^19.6.0", + "@electron/rebuild": "^3.7.1", + "@tailwindcss/postcss": "^4.0.9", + "@tailwindcss/vite": "^4.0.9", + "@types/better-sqlite3": "^7.6.12", + "@types/chroma-js": "^3.1.1", + "@types/codemirror": "^5.60.15", + "@types/crypto-js": "^4.2.2", + "@types/dom-to-image": "^2.6.7", + "@types/fs-extra": "^11.0.4", + "@types/js-yaml": "^4.0.9", + "@types/node": "^22.10.8", + "@types/sanitize-html": "^2.15.0", + "@vitejs/plugin-vue": "^5.2.1", + "autoprefixer": "^10.4.20", + "bumpp": "^9.10.2", + "concurrently": "^9.1.2", + "cross-env": "^7.0.3", + "electron": "^34.0.1", + "electron-builder": "^25.1.8", + "electronmon": "^2.0.3", + "eslint": "^9.18.0", + "lint-staged": "^15.4.2", + "nodemon": "^3.1.9", + "prettier-plugin-tailwindcss": "^0.6.11", + "sass": "^1.85.1", + "simple-git-hooks": "^2.11.1", + "tailwindcss": "^4.0.9", + "typescript": "^5.7.3", + "unplugin-auto-import": "^19.1.0", + "unplugin-vue-components": "^28.4.0", + "vite": "^6.1.1", + "vue": "^3.5.13", + "vue-router": "^4.5.0" }, - "engines": { - "pnpm": ">=9.0.0" + "simple-git-hooks": { + "pre-commit": "npx lint-staged", + "commit-msg": "npx commitlint --edit $1" + }, + "lint-staged": { + "*.{js,ts,vue}": [ + "prettier --write", + "eslint --fix" + ] + }, + "electronmon": { + "patterns": [ + "!scripts/**/*", + "!src/renderer/**/*", + "!src/main/**/*" + ] }, "volta": { - "node": "16.15.0" + "node": "20.16.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b98f7276..ecde7d94 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,14470 +8,9419 @@ importers: .: dependencies: - '@iconscout/unicons': - specifier: ^4.0.1 - version: 4.0.1 - '@masscode/json-server': - specifier: ^0.18.0 - version: 0.18.0 - '@prettier/plugin-php': - specifier: ^0.18.4 - version: 0.18.4(prettier@2.6.2) - '@prettier/plugin-pug': - specifier: ^2.0.0 - version: 2.0.0(prettier@2.6.2) - '@prettier/plugin-xml': - specifier: ^2.1.0 - version: 2.1.0 - '@sipec/vue3-tags-input': - specifier: ^3.0.4 - version: 3.0.4(vue@3.2.33) - '@types/universal-analytics': - specifier: ^0.4.5 - version: 0.4.5 + '@elysiajs/cors': + specifier: ^1.2.0 + version: 1.2.0(elysia@1.2.15(@sinclair/typebox@0.34.27)(openapi-types@12.1.3)(typescript@5.7.3)) + '@elysiajs/node': + specifier: ^1.2.5 + version: 1.2.5(elysia@1.2.15(@sinclair/typebox@0.34.27)(openapi-types@12.1.3)(typescript@5.7.3))(formidable@3.5.2)(ws@8.18.1) + '@elysiajs/swagger': + specifier: ^1.2.2 + version: 1.2.2(elysia@1.2.15(@sinclair/typebox@0.34.27)(openapi-types@12.1.3)(typescript@5.7.3)) '@vueuse/core': - specifier: ^8.3.1 - version: 8.3.1(vue@3.2.33) - axios: - specifier: ^0.26.1 - version: 0.26.1 + specifier: ^12.7.0 + version: 12.7.0(typescript@5.7.3) + better-sqlite3: + specifier: ^11.8.1 + version: 11.8.1 + change-case: + specifier: ^5.4.4 + version: 5.4.4 + chroma-js: + specifier: ^3.1.2 + version: 3.1.2 + class-variance-authority: + specifier: ^0.7.1 + version: 0.7.1 + clsx: + specifier: ^2.1.1 + version: 2.1.1 codemirror: - specifier: ^5.65.7 - version: 5.65.7 + specifier: ^5.65.18 + version: 5.65.18 codemirror-textmate: specifier: ^1.1.0 - version: 1.1.0(codemirror@5.65.7)(onigasm@2.2.5) + version: 1.1.0(codemirror@5.65.18)(onigasm@2.2.5) + color-name-list: + specifier: ^11.22.0 + version: 11.22.0 crypto-js: - specifier: ^4.1.1 - version: 4.1.1 - d3: - specifier: ^7.8.5 - version: 7.8.5 + specifier: ^4.2.0 + version: 4.2.0 date-fns: - specifier: ^2.28.0 - version: 2.28.0 + specifier: ^4.1.0 + version: 4.1.0 dom-to-image: specifier: ^2.6.0 version: 2.6.0 electron-store: - specifier: ^8.0.1 - version: 8.0.1 - floating-vue: - specifier: ^2.0.0-beta.17 - version: 2.0.0-beta.17(vue@3.2.33) + specifier: ^8.2.0 + version: 8.2.0 + elysia: + specifier: ^1.2.15 + version: 1.2.15(@sinclair/typebox@0.34.27)(openapi-types@12.1.3)(typescript@5.7.3) fs-extra: - specifier: ^10.0.1 - version: 10.0.1 - fuse.js: - specifier: ^7.0.0 - version: 7.0.0 - highlight.js: - specifier: ^11.5.1 - version: 11.5.1 + specifier: ^11.3.0 + version: 11.3.0 i18next: - specifier: ^21.8.14 - version: 21.8.14 + specifier: ^24.2.2 + version: 24.2.2(typescript@5.7.3) i18next-fs-backend: - specifier: ^1.1.4 - version: 1.1.4 + specifier: ^2.6.0 + version: 2.6.0 interactjs: - specifier: ^1.10.11 - version: 1.10.11 - lodash: - specifier: ^4.17.21 - version: 4.17.21 - lowdb: - specifier: ^3.0.0 - version: 3.0.0 + specifier: ^1.10.27 + version: 1.10.27 + js-yaml: + specifier: ^4.1.0 + version: 4.1.0 + ky: + specifier: ^1.7.5 + version: 1.7.5 + lucide-vue-next: + specifier: ^0.476.0 + version: 0.476.0(vue@3.5.13(typescript@5.7.3)) marked: - specifier: ^4.0.17 - version: 4.0.17 - markmap-common: - specifier: ^0.15.3 - version: 0.15.3 + specifier: ^15.0.8 + version: 15.0.8 markmap-lib: - specifier: ^0.15.4 - version: 0.15.4(markmap-common@0.15.3) + specifier: ^0.18.11 + version: 0.18.11(markmap-common@0.18.9) markmap-view: - specifier: ^0.15.4 - version: 0.15.4(markmap-common@0.15.3) + specifier: ^0.18.10 + version: 0.18.10(markmap-common@0.18.9) mermaid: - specifier: ^9.1.3 - version: 9.1.3 - mitt: - specifier: ^3.0.0 - version: 3.0.0 + specifier: ^11.6.0 + version: 11.6.0 nanoid: - specifier: ^3.3.1 - version: 3.3.2 + specifier: ^3.3.8 + version: 3.3.8 + nearest-color: + specifier: ^0.4.4 + version: 0.4.4 onigasm: specifier: ^2.2.5 version: 2.2.5 - pinia: - specifier: ^2.0.13 - version: 2.0.13(typescript@4.5.4)(vue@3.2.33) prettier: - specifier: ^2.6.2 - version: 2.6.2 - prettier-plugin-java: - specifier: ^1.6.1 - version: 1.6.1 - prettier-plugin-sh: - specifier: 0.8.2 - version: 0.8.2(prettier@2.6.2) - prettier-plugin-toml: - specifier: ^0.3.1 - version: 0.3.1 - query-string: - specifier: ^8.1.0 - version: 8.1.0 + specifier: ^3.5.3 + version: 3.5.3 + radix-vue: + specifier: ^1.9.17 + version: 1.9.17(vue@3.5.13(typescript@5.7.3)) sanitize-html: - specifier: ^2.7.0 - version: 2.7.0 + specifier: ^2.15.0 + version: 2.15.0 slash: specifier: ^3.0.0 version: 3.0.0 slugify: specifier: ^1.6.6 version: 1.6.6 + tailwind-merge: + specifier: ^3.0.2 + version: 3.0.2 + toml: + specifier: ^3.0.0 + version: 3.0.0 uuid: - specifier: ^9.0.1 - version: 9.0.1 - vercel-toast: - specifier: ^1.5.5 - version: 1.5.5 - vue: - specifier: ^3.2.33 - version: 3.2.33 - vue-router: - specifier: ^4.0.14 - version: 4.0.14(vue@3.2.33) + specifier: ^11.1.0 + version: 11.1.0 + vue-sonner: + specifier: ^1.3.0 + version: 1.3.0 vue3-perfect-scrollbar: - specifier: ^1.6.0 - version: 1.6.0 + specifier: ^2.0.0 + version: 2.0.0(vue@3.5.13(typescript@5.7.3)) devDependencies: + '@antfu/eslint-config': + specifier: ^3.16.0 + version: 3.16.0(@typescript-eslint/utils@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(@vue/compiler-sfc@3.5.13)(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) '@commitlint/cli': - specifier: ^15.0.0 - version: 15.0.0 + specifier: ^19.6.1 + version: 19.7.1(@types/node@22.13.1)(typescript@5.7.3) '@commitlint/config-conventional': - specifier: ^15.0.0 - version: 15.0.0 - '@tsconfig/node14': - specifier: ^1.0.1 - version: 1.0.1 + specifier: ^19.6.0 + version: 19.7.1 + '@electron/rebuild': + specifier: ^3.7.1 + version: 3.7.1 + '@tailwindcss/postcss': + specifier: ^4.0.9 + version: 4.0.9 + '@tailwindcss/vite': + specifier: ^4.0.9 + version: 4.0.9(vite@6.1.1(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)(sass@1.85.1)(yaml@2.7.0)) + '@types/better-sqlite3': + specifier: ^7.6.12 + version: 7.6.12 + '@types/chroma-js': + specifier: ^3.1.1 + version: 3.1.1 '@types/codemirror': - specifier: ^5.60.5 - version: 5.60.5 + specifier: ^5.60.15 + version: 5.60.15 '@types/crypto-js': - specifier: ^4.1.2 - version: 4.1.2 + specifier: ^4.2.2 + version: 4.2.2 '@types/dom-to-image': - specifier: ^2.6.4 - version: 2.6.4 - '@types/estree': - specifier: ^0.0.51 - version: 0.0.51 - '@types/i18next-fs-backend': - specifier: ^1.1.2 - version: 1.1.2 - '@types/lowdb': - specifier: ^1.0.11 - version: 1.0.11 - '@types/marked': - specifier: ^4.0.3 - version: 4.0.3 - '@types/mermaid': - specifier: ^8.2.9 - version: 8.2.9 + specifier: ^2.6.7 + version: 2.6.7 + '@types/fs-extra': + specifier: ^11.0.4 + version: 11.0.4 + '@types/js-yaml': + specifier: ^4.0.9 + version: 4.0.9 '@types/node': - specifier: ^17.0.4 - version: 17.0.22 - '@types/prettier': - specifier: ^2.6.0 - version: 2.6.0 + specifier: ^22.10.8 + version: 22.13.1 '@types/sanitize-html': - specifier: ^2.6.2 - version: 2.6.2 - '@types/uuid': - specifier: ^9.0.4 - version: 9.0.4 - '@types/webpack': - specifier: ^5.28.0 - version: 5.28.0 - '@typescript-eslint/eslint-plugin': - specifier: ^5.8.0 - version: 5.8.0(@typescript-eslint/parser@5.8.0)(eslint@8.5.0)(typescript@4.5.4) - '@typescript-eslint/parser': - specifier: ^5.8.0 - version: 5.8.0(eslint@8.5.0)(typescript@4.5.4) + specifier: ^2.15.0 + version: 2.15.0 '@vitejs/plugin-vue': - specifier: ^2.3.1 - version: 2.3.1(vite@2.9.6)(vue@3.2.33) - '@vue/cli': - specifier: ^4.5.17 - version: 4.5.17 - '@vue/devtools': - specifier: ^6.1.4 - version: 6.1.4 - '@vue/eslint-config-standard': - specifier: ^6.1.0 - version: 6.1.0(eslint-plugin-import@2.25.3)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@6.0.0)(eslint-plugin-vue@8.2.0)(eslint@8.5.0)(webpack@5.70.0) + specifier: ^5.2.1 + version: 5.2.1(vite@6.1.1(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)(sass@1.85.1)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) + autoprefixer: + specifier: ^10.4.20 + version: 10.4.20(postcss@8.5.3) bumpp: - specifier: ^7.1.1 - version: 7.1.1 - chalk: - specifier: ^4.1.2 - version: 4.1.2 - chokidar: - specifier: ^3.5.2 - version: 3.5.3 - copyfiles: - specifier: ^2.4.1 - version: 2.4.1 - dotenv: - specifier: ^16.0.1 - version: 16.0.1 + specifier: ^9.10.2 + version: 9.11.1 + concurrently: + specifier: ^9.1.2 + version: 9.1.2 + cross-env: + specifier: ^7.0.3 + version: 7.0.3 electron: - specifier: ^16.2.3 - version: 16.2.3 + specifier: ^34.0.1 + version: 34.1.1 electron-builder: - specifier: ^23.1.0 - version: 23.1.0 - electron-notarize: - specifier: ^1.2.1 - version: 1.2.1 + specifier: ^25.1.8 + version: 25.1.8(electron-builder-squirrel-windows@25.1.8) + electronmon: + specifier: ^2.0.3 + version: 2.0.3 eslint: - specifier: ^8.5.0 - version: 8.5.0 - eslint-config-prettier: - specifier: ^8.3.0 - version: 8.3.0(eslint@8.5.0) - eslint-plugin-import: - specifier: ^2.25.3 - version: 2.25.3(@typescript-eslint/parser@5.8.0)(eslint@8.5.0) - eslint-plugin-node: - specifier: ^11.1.0 - version: 11.1.0(eslint@8.5.0) - eslint-plugin-prettier: - specifier: ^4.0.0 - version: 4.0.0(eslint-config-prettier@8.3.0)(eslint@8.5.0)(prettier@2.6.2) - eslint-plugin-promise: - specifier: ^6.0.0 - version: 6.0.0(eslint@8.5.0) - eslint-plugin-vue: - specifier: ^8.2.0 - version: 8.2.0(eslint@8.5.0) - handlebars: - specifier: ^4.7.7 - version: 4.7.7 - husky: - specifier: ^7.0.0 - version: 7.0.4 + specifier: ^9.18.0 + version: 9.19.0(jiti@2.4.2) lint-staged: - specifier: ^12.1.4 - version: 12.1.4 - npm-run-all: - specifier: ^4.1.5 - version: 4.1.5 + specifier: ^15.4.2 + version: 15.4.3 + nodemon: + specifier: ^3.1.9 + version: 3.1.9 + prettier-plugin-tailwindcss: + specifier: ^0.6.11 + version: 0.6.11(prettier@3.5.3) sass: - specifier: ^1.45.1 - version: 1.45.1 - tsc-watch: - specifier: ^4.6.0 - version: 4.6.0(typescript@4.5.4) + specifier: ^1.85.1 + version: 1.85.1 + simple-git-hooks: + specifier: ^2.11.1 + version: 2.11.1 + tailwindcss: + specifier: ^4.0.9 + version: 4.0.9 typescript: - specifier: ^4.5.4 - version: 4.5.4 + specifier: ^5.7.3 + version: 5.7.3 unplugin-auto-import: - specifier: ^0.6.6 - version: 0.6.6(@vueuse/core@8.3.1)(vite@2.9.6)(webpack@5.70.0) - unplugin-icons: - specifier: ^0.13.4 - version: 0.13.4(vite@2.9.6)(webpack@5.70.0) + specifier: ^19.1.0 + version: 19.1.0(@vueuse/core@12.7.0(typescript@5.7.3)) unplugin-vue-components: - specifier: ^0.18.1 - version: 0.18.1(vite@2.9.6)(vue@3.2.33)(webpack@5.70.0) + specifier: ^28.4.0 + version: 28.4.0(@babel/parser@7.26.7)(vue@3.5.13(typescript@5.7.3)) vite: - specifier: ^2.9.6 - version: 2.9.6(sass@1.45.1) - vue-tsc: - specifier: ^0.30.6 - version: 0.30.6(typescript@4.5.4) + specifier: ^6.1.1 + version: 6.1.1(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)(sass@1.85.1)(yaml@2.7.0) + vue: + specifier: ^3.5.13 + version: 3.5.13(typescript@5.7.3) + vue-router: + specifier: ^4.5.0 + version: 4.5.0(vue@3.5.13(typescript@5.7.3)) packages: - 7zip-bin@5.1.1: - resolution: {integrity: sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ==} - - '@achrinza/node-ipc@9.2.2': - resolution: {integrity: sha512-b90U39dx0cU6emsOvy5hxU4ApNXnE3+Tuo8XQZfiKTGelDwpMwBVgBP7QX6dGTcJgu/miyJuNJ/2naFBliNWEw==} - engines: {node: 8 || 10 || 12 || 14 || 16 || 17} - - '@akryum/winattr@3.0.0': - resolution: {integrity: sha512-t4WmWoGV9gyzypwG3y3JlcK2t8fKLtvzBA7xEoFTj9SMPvOuLsf13uh4ikK0RRaaa9RPPWLgFUdOyIRaQvCpwQ==} - engines: {node: '>= 8'} - - '@antfu/install-pkg@0.1.0': - resolution: {integrity: sha512-VaIJd3d1o7irZfK1U0nvBsHMyjkuyMP3HKYVV53z8DKyulkHKmjhhtccXO51WSPeeSHIeoJEoNOKavYpS7jkZw==} - - '@antfu/utils@0.3.0': - resolution: {integrity: sha512-UU8TLr/EoXdg7OjMp0h9oDoIAVr+Z/oW9cpOxQQyrsz6Qzd2ms/1CdWx8fl2OQdFpxGmq5Vc4TwfLHId6nAZjA==} + 7zip-bin@5.2.0: + resolution: {integrity: sha512-ukTPVhqG4jNzMro2qA9HSCSSVJN3aN7tlb+hfqYCt3ER0yWroeA2VR38MNrOHLQ/cVj+DaIMad0kFCtWWowh/A==} - '@antfu/utils@0.5.0': - resolution: {integrity: sha512-MrAQ/MrPSxbh1bBrmwJjORfJymw4IqSHFBXqvxaga3ZdDM+/zokYF8DjyJpSjY2QmpmgQrajDUBJOWrYeARfzA==} + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} - '@apollo/protobufjs@1.2.2': - resolution: {integrity: sha512-vF+zxhPiLtkwxONs6YanSt1EpwpGilThpneExUN5K3tCymuxNnVq2yojTvnpRjv2QfsEIt/n7ozPIIzBLwGIDQ==} + '@antfu/eslint-config@3.16.0': + resolution: {integrity: sha512-g6RAXUMeow9vexoOMYwCpByY2xSDpAD78q+rvQLvVpY6MFcxFD/zmdrZGYa/yt7LizK86m17kIYKOGLJ3L8P0w==} hasBin: true - - '@apollographql/apollo-tools@0.5.3': - resolution: {integrity: sha512-VcsXHfTFoCodDAgJZxN04GdFK1kqOhZQnQY/9Fa147P+I8xfvOSz5d+lKAPB+hwSgBNyd7ncAKGIs4+utbL+yA==} - engines: {node: '>=8', npm: '>=6'} peerDependencies: - graphql: ^14.2.1 || ^15.0.0 || ^16.0.0 + '@eslint-react/eslint-plugin': ^1.19.0 + '@prettier/plugin-xml': ^3.4.1 + '@unocss/eslint-plugin': '>=0.50.0' + astro-eslint-parser: ^1.0.2 + eslint: ^9.10.0 + eslint-plugin-astro: ^1.2.0 + eslint-plugin-format: '>=0.1.0' + eslint-plugin-react-hooks: ^5.0.0 + eslint-plugin-react-refresh: ^0.4.4 + eslint-plugin-solid: ^0.14.3 + eslint-plugin-svelte: '>=2.35.1' + prettier-plugin-astro: ^0.14.0 + prettier-plugin-slidev: ^1.0.5 + svelte-eslint-parser: '>=0.37.0' + peerDependenciesMeta: + '@eslint-react/eslint-plugin': + optional: true + '@prettier/plugin-xml': + optional: true + '@unocss/eslint-plugin': + optional: true + astro-eslint-parser: + optional: true + eslint-plugin-astro: + optional: true + eslint-plugin-format: + optional: true + eslint-plugin-react-hooks: + optional: true + eslint-plugin-react-refresh: + optional: true + eslint-plugin-solid: + optional: true + eslint-plugin-svelte: + optional: true + prettier-plugin-astro: + optional: true + prettier-plugin-slidev: + optional: true + svelte-eslint-parser: + optional: true - '@apollographql/graphql-playground-html@1.6.27': - resolution: {integrity: sha512-tea2LweZvn6y6xFV11K0KC8ETjmm52mQrW+ezgB2O/aTQf8JGyFmMcRPFgUaQZeHbWdm8iisDC6EjOKsXu0nfw==} + '@antfu/install-pkg@1.0.0': + resolution: {integrity: sha512-xvX6P/lo1B3ej0OsaErAjqgFYzYVcJpamjLAFLYh9vRJngBrMoUG7aVnrGTeqM7yxbyTD5p3F2+0/QUEh8Vzhw==} - '@apollographql/graphql-upload-8-fork@8.1.3': - resolution: {integrity: sha512-ssOPUT7euLqDXcdVv3Qs4LoL4BPtfermW1IOouaqEmj36TpHYDmYDIbKoSQxikd9vtMumFnP87OybH7sC9fJ6g==} - engines: {node: '>=8.5'} - peerDependencies: - graphql: 0.13.1 - 15 + '@antfu/utils@0.7.10': + resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} - '@babel/code-frame@7.16.0': - resolution: {integrity: sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==} - engines: {node: '>=6.9.0'} + '@antfu/utils@8.1.1': + resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} - '@babel/compat-data@7.16.4': - resolution: {integrity: sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==} + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} - '@babel/core@7.16.5': - resolution: {integrity: sha512-wUcenlLzuWMZ9Zt8S0KmFwGlH6QKRh3vsm/dhDA3CHkiTA45YuG1XkHRcNRl73EFPXDp/d5kVOU0/y7x2w6OaQ==} + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} engines: {node: '>=6.9.0'} - '@babel/generator@7.16.5': - resolution: {integrity: sha512-kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA==} + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} engines: {node: '>=6.9.0'} - '@babel/helper-annotate-as-pure@7.16.0': - resolution: {integrity: sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg==} - engines: {node: '>=6.9.0'} + '@babel/parser@7.26.7': + resolution: {integrity: sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==} + engines: {node: '>=6.0.0'} + hasBin: true - '@babel/helper-builder-binary-assignment-operator-visitor@7.16.5': - resolution: {integrity: sha512-3JEA9G5dmmnIWdzaT9d0NmFRgYnWUThLsDaL7982H0XqqWr56lRrsmwheXFMjR+TMl7QMBb6mzy9kvgr1lRLUA==} + '@babel/runtime@7.26.10': + resolution: {integrity: sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.16.3': - resolution: {integrity: sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==} + '@babel/types@7.26.7': + resolution: {integrity: sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/helper-create-class-features-plugin@7.16.5': - resolution: {integrity: sha512-NEohnYA7mkB8L5JhU7BLwcBdU3j83IziR9aseMueWGeAjblbul3zzb8UvJ3a1zuBiqCMObzCJHFqKIQE6hTVmg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@braintree/sanitize-url@7.1.1': + resolution: {integrity: sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==} - '@babel/helper-create-regexp-features-plugin@7.16.0': - resolution: {integrity: sha512-3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@chevrotain/cst-dts-gen@11.0.3': + resolution: {integrity: sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==} - '@babel/helper-define-polyfill-provider@0.3.0': - resolution: {integrity: sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg==} - peerDependencies: - '@babel/core': ^7.4.0-0 + '@chevrotain/gast@11.0.3': + resolution: {integrity: sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==} - '@babel/helper-environment-visitor@7.16.5': - resolution: {integrity: sha512-ODQyc5AnxmZWm/R2W7fzhamOk1ey8gSguo5SGvF0zcB3uUzRpTRmM/jmLSm9bDMyPlvbyJ+PwPEK0BWIoZ9wjg==} - engines: {node: '>=6.9.0'} + '@chevrotain/regexp-to-ast@11.0.3': + resolution: {integrity: sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==} - '@babel/helper-explode-assignable-expression@7.16.0': - resolution: {integrity: sha512-Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ==} - engines: {node: '>=6.9.0'} + '@chevrotain/types@11.0.3': + resolution: {integrity: sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==} - '@babel/helper-function-name@7.16.0': - resolution: {integrity: sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==} - engines: {node: '>=6.9.0'} + '@chevrotain/utils@11.0.3': + resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==} - '@babel/helper-get-function-arity@7.16.0': - resolution: {integrity: sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==} - engines: {node: '>=6.9.0'} + '@clack/core@0.4.1': + resolution: {integrity: sha512-Pxhij4UXg8KSr7rPek6Zowm+5M22rbd2g1nfojHJkxp5YkFqiZ2+YLEM/XGVIzvGOcM0nqjIFxrpDwWRZYWYjA==} - '@babel/helper-hoist-variables@7.16.0': - resolution: {integrity: sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==} - engines: {node: '>=6.9.0'} + '@clack/prompts@0.9.1': + resolution: {integrity: sha512-JIpyaboYZeWYlyP0H+OoPPxd6nqueG/CmN6ixBiNFsIDHREevjIf0n0Ohh5gr5C8pEDknzgvz+pIJ8dMhzWIeg==} - '@babel/helper-member-expression-to-functions@7.16.5': - resolution: {integrity: sha512-7fecSXq7ZrLE+TWshbGT+HyCLkxloWNhTbU2QM1NTI/tDqyf0oZiMcEfYtDuUDCo528EOlt39G1rftea4bRZIw==} - engines: {node: '>=6.9.0'} + '@commitlint/cli@19.7.1': + resolution: {integrity: sha512-iObGjR1tE/PfDtDTEfd+tnRkB3/HJzpQqRTyofS2MPPkDn1mp3DBC8SoPDayokfAy+xKhF8+bwRCJO25Nea0YQ==} + engines: {node: '>=v18'} + hasBin: true - '@babel/helper-module-imports@7.16.0': - resolution: {integrity: sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==} - engines: {node: '>=6.9.0'} + '@commitlint/config-conventional@19.7.1': + resolution: {integrity: sha512-fsEIF8zgiI/FIWSnykdQNj/0JE4av08MudLTyYHm4FlLWemKoQvPNUYU2M/3tktWcCEyq7aOkDDgtjrmgWFbvg==} + engines: {node: '>=v18'} - '@babel/helper-module-transforms@7.16.5': - resolution: {integrity: sha512-CkvMxgV4ZyyioElFwcuWnDCcNIeyqTkCm9BxXZi73RR1ozqlpboqsbGUNvRTflgZtFbbJ1v5Emvm+lkjMYY/LQ==} - engines: {node: '>=6.9.0'} + '@commitlint/config-validator@19.5.0': + resolution: {integrity: sha512-CHtj92H5rdhKt17RmgALhfQt95VayrUo2tSqY9g2w+laAXyk7K/Ef6uPm9tn5qSIwSmrLjKaXK9eiNuxmQrDBw==} + engines: {node: '>=v18'} - '@babel/helper-optimise-call-expression@7.16.0': - resolution: {integrity: sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==} - engines: {node: '>=6.9.0'} + '@commitlint/ensure@19.5.0': + resolution: {integrity: sha512-Kv0pYZeMrdg48bHFEU5KKcccRfKmISSm9MvgIgkpI6m+ohFTB55qZlBW6eYqh/XDfRuIO0x4zSmvBjmOwWTwkg==} + engines: {node: '>=v18'} - '@babel/helper-plugin-utils@7.16.5': - resolution: {integrity: sha512-59KHWHXxVA9K4HNF4sbHCf+eJeFe0Te/ZFGqBT4OjXhrwvA04sGfaEGsVTdsjoszq0YTP49RC9UKe5g8uN2RwQ==} - engines: {node: '>=6.9.0'} + '@commitlint/execute-rule@19.5.0': + resolution: {integrity: sha512-aqyGgytXhl2ejlk+/rfgtwpPexYyri4t8/n4ku6rRJoRhGZpLFMqrZ+YaubeGysCP6oz4mMA34YSTaSOKEeNrg==} + engines: {node: '>=v18'} - '@babel/helper-remap-async-to-generator@7.16.5': - resolution: {integrity: sha512-X+aAJldyxrOmN9v3FKp+Hu1NO69VWgYgDGq6YDykwRPzxs5f2N+X988CBXS7EQahDU+Vpet5QYMqLk+nsp+Qxw==} - engines: {node: '>=6.9.0'} + '@commitlint/format@19.5.0': + resolution: {integrity: sha512-yNy088miE52stCI3dhG/vvxFo9e4jFkU1Mj3xECfzp/bIS/JUay4491huAlVcffOoMK1cd296q0W92NlER6r3A==} + engines: {node: '>=v18'} - '@babel/helper-replace-supers@7.16.5': - resolution: {integrity: sha512-ao3seGVa/FZCMCCNDuBcqnBFSbdr8N2EW35mzojx3TwfIbdPmNK+JV6+2d5bR0Z71W5ocLnQp9en/cTF7pBJiQ==} - engines: {node: '>=6.9.0'} + '@commitlint/is-ignored@19.7.1': + resolution: {integrity: sha512-3IaOc6HVg2hAoGleRK3r9vL9zZ3XY0rf1RsUf6jdQLuaD46ZHnXBiOPTyQ004C4IvYjSWqJwlh0/u2P73aIE3g==} + engines: {node: '>=v18'} - '@babel/helper-simple-access@7.16.0': - resolution: {integrity: sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==} - engines: {node: '>=6.9.0'} + '@commitlint/lint@19.7.1': + resolution: {integrity: sha512-LhcPfVjcOcOZA7LEuBBeO00o3MeZa+tWrX9Xyl1r9PMd5FWsEoZI9IgnGqTKZ0lZt5pO3ZlstgnRyY1CJJc9Xg==} + engines: {node: '>=v18'} - '@babel/helper-skip-transparent-expression-wrappers@7.16.0': - resolution: {integrity: sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==} - engines: {node: '>=6.9.0'} + '@commitlint/load@19.6.1': + resolution: {integrity: sha512-kE4mRKWWNju2QpsCWt428XBvUH55OET2N4QKQ0bF85qS/XbsRGG1MiTByDNlEVpEPceMkDr46LNH95DtRwcsfA==} + engines: {node: '>=v18'} - '@babel/helper-split-export-declaration@7.16.0': - resolution: {integrity: sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==} - engines: {node: '>=6.9.0'} + '@commitlint/message@19.5.0': + resolution: {integrity: sha512-R7AM4YnbxN1Joj1tMfCyBryOC5aNJBdxadTZkuqtWi3Xj0kMdutq16XQwuoGbIzL2Pk62TALV1fZDCv36+JhTQ==} + engines: {node: '>=v18'} - '@babel/helper-validator-identifier@7.15.7': - resolution: {integrity: sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==} - engines: {node: '>=6.9.0'} + '@commitlint/parse@19.5.0': + resolution: {integrity: sha512-cZ/IxfAlfWYhAQV0TwcbdR1Oc0/r0Ik1GEessDJ3Lbuma/MRO8FRQX76eurcXtmhJC//rj52ZSZuXUg0oIX0Fw==} + engines: {node: '>=v18'} - '@babel/helper-validator-identifier@7.16.7': - resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} - engines: {node: '>=6.9.0'} + '@commitlint/read@19.5.0': + resolution: {integrity: sha512-TjS3HLPsLsxFPQj6jou8/CZFAmOP2y+6V4PGYt3ihbQKTY1Jnv0QG28WRKl/d1ha6zLODPZqsxLEov52dhR9BQ==} + engines: {node: '>=v18'} - '@babel/helper-validator-option@7.14.5': - resolution: {integrity: sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==} - engines: {node: '>=6.9.0'} + '@commitlint/resolve-extends@19.5.0': + resolution: {integrity: sha512-CU/GscZhCUsJwcKTJS9Ndh3AKGZTNFIOoQB2n8CmFnizE0VnEuJoum+COW+C1lNABEeqk6ssfc1Kkalm4bDklA==} + engines: {node: '>=v18'} - '@babel/helper-wrap-function@7.16.5': - resolution: {integrity: sha512-2J2pmLBqUqVdJw78U0KPNdeE2qeuIyKoG4mKV7wAq3mc4jJG282UgjZw4ZYDnqiWQuS3Y3IYdF/AQ6CpyBV3VA==} - engines: {node: '>=6.9.0'} + '@commitlint/rules@19.6.0': + resolution: {integrity: sha512-1f2reW7lbrI0X0ozZMesS/WZxgPa4/wi56vFuJENBmed6mWq5KsheN/nxqnl/C23ioxpPO/PL6tXpiiFy5Bhjw==} + engines: {node: '>=v18'} - '@babel/helpers@7.16.5': - resolution: {integrity: sha512-TLgi6Lh71vvMZGEkFuIxzaPsyeYCHQ5jJOOX1f0xXn0uciFuE8cEk0wyBquMcCxBXZ5BJhE2aUB7pnWTD150Tw==} - engines: {node: '>=6.9.0'} + '@commitlint/to-lines@19.5.0': + resolution: {integrity: sha512-R772oj3NHPkodOSRZ9bBVNq224DOxQtNef5Pl8l2M8ZnkkzQfeSTr4uxawV2Sd3ui05dUVzvLNnzenDBO1KBeQ==} + engines: {node: '>=v18'} - '@babel/highlight@7.16.0': - resolution: {integrity: sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==} - engines: {node: '>=6.9.0'} + '@commitlint/top-level@19.5.0': + resolution: {integrity: sha512-IP1YLmGAk0yWrImPRRc578I3dDUI5A2UBJx9FbSOjxe9sTlzFiwVJ+zeMLgAtHMtGZsC8LUnzmW1qRemkFU4ng==} + engines: {node: '>=v18'} - '@babel/parser@7.17.9': - resolution: {integrity: sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==} - engines: {node: '>=6.0.0'} + '@commitlint/types@19.5.0': + resolution: {integrity: sha512-DSHae2obMSMkAtTBSOulg5X7/z+rGLxcXQIkg3OmWvY6wifojge5uVMydfhUvs7yQj+V7jNmRZ2Xzl8GJyqRgg==} + engines: {node: '>=v18'} + + '@develar/schema-utils@2.6.5': + resolution: {integrity: sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==} + engines: {node: '>= 8.9.0'} + + '@electron/asar@3.2.18': + resolution: {integrity: sha512-2XyvMe3N3Nrs8cV39IKELRHTYUWFKrmqqSY1U+GMlc0jvqjIVnoxhNd2H4JolWQncbJi1DCvb5TNxZuI2fEjWg==} + engines: {node: '>=10.12.0'} hasBin: true - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.16.2': - resolution: {integrity: sha512-h37CvpLSf8gb2lIJ2CgC3t+EjFbi0t8qS7LCS1xcJIlEXE4czlofwaW7W1HA8zpgOCzI9C1nmoqNR1zWkk0pQg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@electron/get@2.0.3': + resolution: {integrity: sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==} + engines: {node: '>=12'} - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.16.0': - resolution: {integrity: sha512-4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 + '@electron/node-gyp@https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2': + resolution: {tarball: https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2} + version: 10.2.0-electron.1 + engines: {node: '>=12.13.0'} + hasBin: true - '@babel/plugin-proposal-async-generator-functions@7.16.5': - resolution: {integrity: sha512-C/FX+3HNLV6sz7AqbTQqEo1L9/kfrKjxcVtgyBCmvIgOjvuBVUWooDoi7trsLxOzCEo5FccjRvKHkfDsJFZlfA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@electron/notarize@2.5.0': + resolution: {integrity: sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==} + engines: {node: '>= 10.0.0'} - '@babel/plugin-proposal-class-properties@7.16.5': - resolution: {integrity: sha512-pJD3HjgRv83s5dv1sTnDbZOaTjghKEz8KUn1Kbh2eAIRhGuyQ1XSeI4xVXU3UlIEVA3DAyIdxqT1eRn7Wcn55A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@electron/osx-sign@1.3.1': + resolution: {integrity: sha512-BAfviURMHpmb1Yb50YbCxnOY0wfwaLXH5KJ4+80zS0gUkzDX3ec23naTlEqKsN+PwYn+a1cCzM7BJ4Wcd3sGzw==} + engines: {node: '>=12.0.0'} + hasBin: true - '@babel/plugin-proposal-class-static-block@7.16.5': - resolution: {integrity: sha512-EEFzuLZcm/rNJ8Q5krK+FRKdVkd6FjfzT9tuSZql9sQn64K0hHA2KLJ0DqVot9/iV6+SsuadC5yI39zWnm+nmQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 + '@electron/rebuild@3.6.1': + resolution: {integrity: sha512-f6596ZHpEq/YskUd8emYvOUne89ij8mQgjYFA5ru25QwbrRO+t1SImofdDv7kKOuWCmVOuU5tvfkbgGxIl3E/w==} + engines: {node: '>=12.13.0'} + hasBin: true - '@babel/plugin-proposal-dynamic-import@7.16.5': - resolution: {integrity: sha512-P05/SJZTTvHz79LNYTF8ff5xXge0kk5sIIWAypcWgX4BTRUgyHc8wRxJ/Hk+mU0KXldgOOslKaeqnhthcDJCJQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@electron/rebuild@3.7.1': + resolution: {integrity: sha512-sKGD+xav4Gh25+LcLY0rjIwcCFTw+f/HU1pB48UVbwxXXRGaXEqIH0AaYKN46dgd/7+6kuiDXzoyAEvx1zCsdw==} + engines: {node: '>=12.13.0'} + hasBin: true - '@babel/plugin-proposal-export-namespace-from@7.16.5': - resolution: {integrity: sha512-i+sltzEShH1vsVydvNaTRsgvq2vZsfyrd7K7vPLUU/KgS0D5yZMe6uipM0+izminnkKrEfdUnz7CxMRb6oHZWw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@electron/universal@2.0.1': + resolution: {integrity: sha512-fKpv9kg4SPmt+hY7SVBnIYULE9QJl8L3sCfcBsnqbJwwBwAeTLokJ9TRt9y7bK0JAzIW2y78TVVjvnQEms/yyA==} + engines: {node: '>=16.4'} - '@babel/plugin-proposal-json-strings@7.16.5': - resolution: {integrity: sha512-QQJueTFa0y9E4qHANqIvMsuxM/qcLQmKttBACtPCQzGUEizsXDACGonlPiSwynHfOa3vNw0FPMVvQzbuXwh4SQ==} - engines: {node: '>=6.9.0'} + '@elysiajs/cors@1.2.0': + resolution: {integrity: sha512-qsJwDAg6WfdQRMfj6uSMcDPSpXvm/zQFeAX1uuJXhIgazH8itSfcDxcH9pMuXVRX1yQNi2pPwNQLJmAcw5mzvw==} peerDependencies: - '@babel/core': ^7.0.0-0 + elysia: '>= 1.2.0' - '@babel/plugin-proposal-logical-assignment-operators@7.16.5': - resolution: {integrity: sha512-xqibl7ISO2vjuQM+MzR3rkd0zfNWltk7n9QhaD8ghMmMceVguYrNDt7MikRyj4J4v3QehpnrU8RYLnC7z/gZLA==} - engines: {node: '>=6.9.0'} + '@elysiajs/node@1.2.5': + resolution: {integrity: sha512-g5iE2csoixsx4KT4Q57BVjQqjcjJPigWF1ruGHguxrwmI/nfTlWNnpKAR6XU+MERhr3Cf7dd6GI826BBNgo0xw==} peerDependencies: - '@babel/core': ^7.0.0-0 + bufferutil: '>= 4.0.1' + elysia: '>= 1.2.7' + formidable: '>= 3.5.2' + ws: '>= 8.18.0' + peerDependenciesMeta: + bufferutil: + optional: true - '@babel/plugin-proposal-nullish-coalescing-operator@7.16.5': - resolution: {integrity: sha512-YwMsTp/oOviSBhrjwi0vzCUycseCYwoXnLiXIL3YNjHSMBHicGTz7GjVU/IGgz4DtOEXBdCNG72pvCX22ehfqg==} - engines: {node: '>=6.9.0'} + '@elysiajs/swagger@1.2.2': + resolution: {integrity: sha512-DG0PbX/wzQNQ6kIpFFPCvmkkWTIbNWDS7lVLv3Puy6ONklF14B4NnbDfpYjX1hdSYKeCqKBBOuenh6jKm8tbYA==} peerDependencies: - '@babel/core': ^7.0.0-0 + elysia: '>= 1.2.0' - '@babel/plugin-proposal-numeric-separator@7.16.5': - resolution: {integrity: sha512-DvB9l/TcsCRvsIV9v4jxR/jVP45cslTVC0PMVHvaJhhNuhn2Y1SOhCSFlPK777qLB5wb8rVDaNoqMTyOqtY5Iw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@es-joy/jsdoccomment@0.49.0': + resolution: {integrity: sha512-xjZTSFgECpb9Ohuk5yMX5RhUEbfeQcuOp8IF60e+wyzWEF0M5xeSgqsfLtvPEX8BIyOX9saZqzuGPmZ8oWc+5Q==} + engines: {node: '>=16'} - '@babel/plugin-proposal-object-rest-spread@7.16.5': - resolution: {integrity: sha512-UEd6KpChoyPhCoE840KRHOlGhEZFutdPDMGj+0I56yuTTOaT51GzmnEl/0uT41fB/vD2nT+Pci2KjezyE3HmUw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@es-joy/jsdoccomment@0.50.0': + resolution: {integrity: sha512-+zZymuVLH6zVwXPtCAtC+bDymxmEwEqDftdAK+f407IF1bnX49anIxvBhCA1AqUIfD6egj1jM1vUnSuijjNyYg==} + engines: {node: '>=18'} - '@babel/plugin-proposal-optional-catch-binding@7.16.5': - resolution: {integrity: sha512-ihCMxY1Iljmx4bWy/PIMJGXN4NS4oUj1MKynwO07kiKms23pNvIn1DMB92DNB2R0EA882sw0VXIelYGdtF7xEQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/aix-ppc64@0.24.2': + resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] - '@babel/plugin-proposal-optional-chaining@7.16.5': - resolution: {integrity: sha512-kzdHgnaXRonttiTfKYnSVafbWngPPr2qKw9BWYBESl91W54e+9R5pP70LtWxV56g0f05f/SQrwHYkfvbwcdQ/A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/android-arm64@0.24.2': + resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] - '@babel/plugin-proposal-private-methods@7.16.5': - resolution: {integrity: sha512-+yFMO4BGT3sgzXo+lrq7orX5mAZt57DwUK6seqII6AcJnJOIhBJ8pzKH47/ql/d426uQ7YhN8DpUFirQzqYSUA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/android-arm@0.24.2': + resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] - '@babel/plugin-proposal-private-property-in-object@7.16.5': - resolution: {integrity: sha512-+YGh5Wbw0NH3y/E5YMu6ci5qTDmAEVNoZ3I54aB6nVEOZ5BQ7QJlwKq5pYVucQilMByGn/bvX0af+uNaPRCabA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/android-x64@0.24.2': + resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] - '@babel/plugin-proposal-unicode-property-regex@7.16.5': - resolution: {integrity: sha512-s5sKtlKQyFSatt781HQwv1hoM5BQ9qRH30r+dK56OLDsHmV74mzwJNX7R1yMuE7VZKG5O6q/gmOGSAO6ikTudg==} - engines: {node: '>=4'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/darwin-arm64@0.24.2': + resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] - '@babel/plugin-syntax-async-generators@7.8.4': - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/darwin-x64@0.24.2': + resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] - '@babel/plugin-syntax-class-properties@7.12.13': - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/freebsd-arm64@0.24.2': + resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] - '@babel/plugin-syntax-class-static-block@7.14.5': - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/freebsd-x64@0.24.2': + resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] - '@babel/plugin-syntax-dynamic-import@7.8.3': - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/linux-arm64@0.24.2': + resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] - '@babel/plugin-syntax-export-namespace-from@7.8.3': - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/linux-arm@0.24.2': + resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] - '@babel/plugin-syntax-flow@7.16.5': - resolution: {integrity: sha512-Nrx+7EAJx1BieBQseZa2pavVH2Rp7hADK2xn7coYqVbWRu9C2OFizYcsKo6TrrqJkJl+qF/+Qqzrk/+XDu4GnA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/linux-ia32@0.24.2': + resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] - '@babel/plugin-syntax-json-strings@7.8.3': - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/linux-loong64@0.24.2': + resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] - '@babel/plugin-syntax-logical-assignment-operators@7.10.4': - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/linux-mips64el@0.24.2': + resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/linux-ppc64@0.24.2': + resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] - '@babel/plugin-syntax-numeric-separator@7.10.4': - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/linux-riscv64@0.24.2': + resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] - '@babel/plugin-syntax-object-rest-spread@7.8.3': - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/linux-s390x@0.24.2': + resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] - '@babel/plugin-syntax-optional-catch-binding@7.8.3': - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/linux-x64@0.24.2': + resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] - '@babel/plugin-syntax-optional-chaining@7.8.3': - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/netbsd-arm64@0.24.2': + resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] - '@babel/plugin-syntax-private-property-in-object@7.14.5': - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/netbsd-x64@0.24.2': + resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] - '@babel/plugin-syntax-top-level-await@7.14.5': - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/openbsd-arm64@0.24.2': + resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] - '@babel/plugin-syntax-typescript@7.16.5': - resolution: {integrity: sha512-/d4//lZ1Vqb4mZ5xTep3dDK888j7BGM/iKqBmndBaoYAFPlPKrGU608VVBz5JeyAb6YQDjRu1UKqj86UhwWVgw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/openbsd-x64@0.24.2': + resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] - '@babel/plugin-transform-arrow-functions@7.16.5': - resolution: {integrity: sha512-8bTHiiZyMOyfZFULjsCnYOWG059FVMes0iljEHSfARhNgFfpsqE92OrCffv3veSw9rwMkYcFe9bj0ZoXU2IGtQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/sunos-x64@0.24.2': + resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] - '@babel/plugin-transform-async-to-generator@7.16.5': - resolution: {integrity: sha512-TMXgfioJnkXU+XRoj7P2ED7rUm5jbnDWwlCuFVTpQboMfbSya5WrmubNBAMlk7KXvywpo8rd8WuYZkis1o2H8w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/win32-arm64@0.24.2': + resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] - '@babel/plugin-transform-block-scoped-functions@7.16.5': - resolution: {integrity: sha512-BxmIyKLjUGksJ99+hJyL/HIxLIGnLKtw772zYDER7UuycDZ+Xvzs98ZQw6NGgM2ss4/hlFAaGiZmMNKvValEjw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/win32-ia32@0.24.2': + resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] - '@babel/plugin-transform-block-scoping@7.16.5': - resolution: {integrity: sha512-JxjSPNZSiOtmxjX7PBRBeRJTUKTyJ607YUYeT0QJCNdsedOe+/rXITjP08eG8xUpsLfPirgzdCFN+h0w6RI+pQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/win32-x64@0.24.2': + resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] - '@babel/plugin-transform-classes@7.16.5': - resolution: {integrity: sha512-DzJ1vYf/7TaCYy57J3SJ9rV+JEuvmlnvvyvYKFbk5u46oQbBvuB9/0w+YsVsxkOv8zVWKpDmUoj4T5ILHoXevA==} - engines: {node: '>=6.9.0'} + '@eslint-community/eslint-plugin-eslint-comments@4.4.1': + resolution: {integrity: sha512-lb/Z/MzbTf7CaVYM9WCFNQZ4L1yi3ev2fsFPF99h31ljhSEyUoyEsKsNWiU+qD1glbYTDJdqgyaLKtyTkkqtuQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - '@babel/core': ^7.0.0-0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 - '@babel/plugin-transform-computed-properties@7.16.5': - resolution: {integrity: sha512-n1+O7xtU5lSLraRzX88CNcpl7vtGdPakKzww74bVwpAIRgz9JVLJJpOLb0uYqcOaXVM0TL6X0RVeIJGD2CnCkg==} - engines: {node: '>=6.9.0'} + '@eslint-community/eslint-utils@4.4.1': + resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - '@babel/core': ^7.0.0-0 + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@babel/plugin-transform-destructuring@7.16.5': - resolution: {integrity: sha512-GuRVAsjq+c9YPK6NeTkRLWyQskDC099XkBSVO+6QzbnOnH2d/4mBVXYStaPrZD3dFRfg00I6BFJ9Atsjfs8mlg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@babel/plugin-transform-dotall-regex@7.16.5': - resolution: {integrity: sha512-iQiEMt8Q4/5aRGHpGVK2Zc7a6mx7qEAO7qehgSug3SDImnuMzgmm/wtJALXaz25zUj1PmnNHtShjFgk4PDx4nw==} - engines: {node: '>=6.9.0'} + '@eslint/compat@1.2.6': + resolution: {integrity: sha512-k7HNCqApoDHM6XzT30zGoETj+D+uUcZUb+IVAJmar3u6bvHf7hhHJcWx09QHj4/a2qrKZMWU0E16tvkiAdv06Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@babel/core': ^7.0.0-0 + eslint: ^9.10.0 + peerDependenciesMeta: + eslint: + optional: true - '@babel/plugin-transform-duplicate-keys@7.16.5': - resolution: {integrity: sha512-81tijpDg2a6I1Yhj4aWY1l3O1J4Cg/Pd7LfvuaH2VVInAkXtzibz9+zSPdUM1WvuUi128ksstAP0hM5w48vQgg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@eslint/config-array@0.19.2': + resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@babel/plugin-transform-exponentiation-operator@7.16.5': - resolution: {integrity: sha512-12rba2HwemQPa7BLIKCzm1pT2/RuQHtSFHdNl41cFiC6oi4tcrp7gjB07pxQvFpcADojQywSjblQth6gJyE6CA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@eslint/core@0.10.0': + resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@babel/plugin-transform-flow-strip-types@7.16.5': - resolution: {integrity: sha512-skE02E/MptkZdBS4HwoRhjWXqeKQj0BWKEAPfPC+8R4/f6bjQqQ9Nftv/+HkxWwnVxh/E2NV9TNfzLN5H/oiBw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@eslint/eslintrc@3.2.0': + resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@babel/plugin-transform-for-of@7.16.5': - resolution: {integrity: sha512-+DpCAJFPAvViR17PIMi9x2AE34dll5wNlXO43wagAX2YcRGgEVHCNFC4azG85b4YyyFarvkc/iD5NPrz4Oneqw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@eslint/js@9.19.0': + resolution: {integrity: sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@babel/plugin-transform-function-name@7.16.5': - resolution: {integrity: sha512-Fuec/KPSpVLbGo6z1RPw4EE1X+z9gZk1uQmnYy7v4xr4TO9p41v1AoUuXEtyqAI7H+xNJYSICzRqZBhDEkd3kQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@eslint/markdown@6.2.2': + resolution: {integrity: sha512-U0/KgzI9BVUuHDQ9M2fuVgB0QZ1fSyzwm8jKmHr1dlsLHGHYzoeIA9yqLMdTbV3ivZfp6rTdt6zqre3TfNExUQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@babel/plugin-transform-literals@7.16.5': - resolution: {integrity: sha512-B1j9C/IfvshnPcklsc93AVLTrNVa69iSqztylZH6qnmiAsDDOmmjEYqOm3Ts2lGSgTSywnBNiqC949VdD0/gfw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@eslint/object-schema@2.1.6': + resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@babel/plugin-transform-member-expression-literals@7.16.5': - resolution: {integrity: sha512-d57i3vPHWgIde/9Y8W/xSFUndhvhZN5Wu2TjRrN1MVz5KzdUihKnfDVlfP1U7mS5DNj/WHHhaE4/tTi4hIyHwQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@eslint/plugin-kit@0.2.5': + resolution: {integrity: sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@babel/plugin-transform-modules-amd@7.16.5': - resolution: {integrity: sha512-oHI15S/hdJuSCfnwIz+4lm6wu/wBn7oJ8+QrkzPPwSFGXk8kgdI/AIKcbR/XnD1nQVMg/i6eNaXpszbGuwYDRQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@floating-ui/core@1.6.9': + resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==} - '@babel/plugin-transform-modules-commonjs@7.16.5': - resolution: {integrity: sha512-ABhUkxvoQyqhCWyb8xXtfwqNMJD7tx+irIRnUh6lmyFud7Jln1WzONXKlax1fg/ey178EXbs4bSGNd6PngO+SQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@floating-ui/dom@1.6.13': + resolution: {integrity: sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==} - '@babel/plugin-transform-modules-systemjs@7.16.5': - resolution: {integrity: sha512-53gmLdScNN28XpjEVIm7LbWnD/b/TpbwKbLk6KV4KqC9WyU6rq1jnNmVG6UgAdQZVVGZVoik3DqHNxk4/EvrjA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@floating-ui/utils@0.2.9': + resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==} - '@babel/plugin-transform-modules-umd@7.16.5': - resolution: {integrity: sha512-qTFnpxHMoenNHkS3VoWRdwrcJ3FhX567GvDA3hRZKF0Dj8Fmg0UzySZp3AP2mShl/bzcywb/UWAMQIjA1bhXvw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@floating-ui/vue@1.1.6': + resolution: {integrity: sha512-XFlUzGHGv12zbgHNk5FN2mUB7ROul3oG2ENdTpWdE+qMFxyNxWSRmsoyhiEnpmabNm6WnUvR1OvJfUfN4ojC1A==} - '@babel/plugin-transform-named-capturing-groups-regex@7.16.5': - resolution: {integrity: sha512-/wqGDgvFUeKELW6ex6QB7dLVRkd5ehjw34tpXu1nhKC0sFfmaLabIswnpf8JgDyV2NeDmZiwoOb0rAmxciNfjA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@gar/promisify@1.1.3': + resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} - '@babel/plugin-transform-new-target@7.16.5': - resolution: {integrity: sha512-ZaIrnXF08ZC8jnKR4/5g7YakGVL6go6V9ql6Jl3ecO8PQaQqFE74CuM384kezju7Z9nGCCA20BqZaR1tJ/WvHg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@gera2ld/jsx-dom@2.2.2': + resolution: {integrity: sha512-EOqf31IATRE6zS1W1EoWmXZhGfLAoO9FIlwTtHduSrBdud4npYBxYAkv8dZ5hudDPwJeeSjn40kbCL4wAzr8dA==} - '@babel/plugin-transform-object-super@7.16.5': - resolution: {integrity: sha512-tded+yZEXuxt9Jdtkc1RraW1zMF/GalVxaVVxh41IYwirdRgyAxxxCKZ9XB7LxZqmsjfjALxupNE1MIz9KH+Zg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} - '@babel/plugin-transform-parameters@7.16.5': - resolution: {integrity: sha512-B3O6AL5oPop1jAVg8CV+haeUte9oFuY85zu0jwnRNZZi3tVAbJriu5tag/oaO2kGaQM/7q7aGPBlTI5/sr9enA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + engines: {node: '>=18.18.0'} - '@babel/plugin-transform-property-literals@7.16.5': - resolution: {integrity: sha512-+IRcVW71VdF9pEH/2R/Apab4a19LVvdVsr/gEeotH00vSDVlKD+XgfSIw+cgGWsjDB/ziqGv/pGoQZBIiQVXHg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} - '@babel/plugin-transform-regenerator@7.16.5': - resolution: {integrity: sha512-2z+it2eVWU8TtQQRauvGUqZwLy4+7rTfo6wO4npr+fvvN1SW30ZF3O/ZRCNmTuu4F5MIP8OJhXAhRV5QMJOuYg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + engines: {node: '>=18.18'} - '@babel/plugin-transform-reserved-words@7.16.5': - resolution: {integrity: sha512-aIB16u8lNcf7drkhXJRoggOxSTUAuihTSTfAcpynowGJOZiGf+Yvi7RuTwFzVYSYPmWyARsPqUGoZWWWxLiknw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@humanwhocodes/retry@0.4.1': + resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} + engines: {node: '>=18.18'} - '@babel/plugin-transform-shorthand-properties@7.16.5': - resolution: {integrity: sha512-ZbuWVcY+MAXJuuW7qDoCwoxDUNClfZxoo7/4swVbOW1s/qYLOMHlm9YRWMsxMFuLs44eXsv4op1vAaBaBaDMVg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - '@babel/plugin-transform-spread@7.16.5': - resolution: {integrity: sha512-5d6l/cnG7Lw4tGHEoga4xSkYp1euP7LAtrah1h1PgJ3JY7yNsjybsxQAnVK4JbtReZ/8z6ASVmd3QhYYKLaKZw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@iconify/utils@2.3.0': + resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==} - '@babel/plugin-transform-sticky-regex@7.16.5': - resolution: {integrity: sha512-usYsuO1ID2LXxzuUxifgWtJemP7wL2uZtyrTVM4PKqsmJycdS4U4mGovL5xXkfUheds10Dd2PjoQLXw6zCsCbg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@interactjs/types@1.10.27': + resolution: {integrity: sha512-BUdv0cvs4H5ODuwft2Xp4eL8Vmi3LcihK42z0Ft/FbVJZoRioBsxH+LlsBdK4tAie7PqlKGy+1oyOncu1nQ6eA==} - '@babel/plugin-transform-template-literals@7.16.5': - resolution: {integrity: sha512-gnyKy9RyFhkovex4BjKWL3BVYzUDG6zC0gba7VMLbQoDuqMfJ1SDXs8k/XK41Mmt1Hyp4qNAvGFb9hKzdCqBRQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@internationalized/date@3.7.0': + resolution: {integrity: sha512-VJ5WS3fcVx0bejE/YHfbDKR/yawZgKqn/if+oEeLqNwBtPzVB06olkfcnojTmEMX+gTpH+FlQ69SHNitJ8/erQ==} - '@babel/plugin-transform-typeof-symbol@7.16.5': - resolution: {integrity: sha512-ldxCkW180qbrvyCVDzAUZqB0TAeF8W/vGJoRcaf75awm6By+PxfJKvuqVAnq8N9wz5Xa6mSpM19OfVKKVmGHSQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@internationalized/number@3.6.0': + resolution: {integrity: sha512-PtrRcJVy7nw++wn4W2OuePQQfTqDzfusSuY1QTtui4wa7r+rGVtR75pO8CyKvHvzyQYi3Q1uO5sY0AsB4e65Bw==} - '@babel/plugin-transform-typescript@7.16.1': - resolution: {integrity: sha512-NO4XoryBng06jjw/qWEU2LhcLJr1tWkhpMam/H4eas/CDKMX/b2/Ylb6EI256Y7+FVPCawwSM1rrJNOpDiz+Lg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} - '@babel/plugin-transform-unicode-escapes@7.16.5': - resolution: {integrity: sha512-shiCBHTIIChGLdyojsKQjoAyB8MBwat25lKM7MJjbe1hE0bgIppD+LX9afr41lLHOhqceqeWl4FkLp+Bgn9o1Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - '@babel/plugin-transform-unicode-regex@7.16.5': - resolution: {integrity: sha512-GTJ4IW012tiPEMMubd7sD07iU9O/LOo8Q/oU4xNhcaq0Xn8+6TcUQaHtC8YxySo1T+ErQ8RaWogIEeFhKGNPzw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@malept/cross-spawn-promise@2.0.0': + resolution: {integrity: sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==} + engines: {node: '>= 12.13.0'} - '@babel/preset-env@7.16.5': - resolution: {integrity: sha512-MiJJW5pwsktG61NDxpZ4oJ1CKxM1ncam9bzRtx9g40/WkLRkxFP6mhpkYV0/DxcciqoiHicx291+eUQrXb/SfQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@malept/flatpak-bundler@0.4.0': + resolution: {integrity: sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==} + engines: {node: '>= 10.0.0'} - '@babel/preset-flow@7.16.5': - resolution: {integrity: sha512-rmC6Nznp4V55N4Zfec87jwd14TdREqwKVJFM/6Z2wTwoeZQr56czjaPRCezqzqc8TsHF7aLP1oczjadIQ058gw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@mermaid-js/parser@0.4.0': + resolution: {integrity: sha512-wla8XOWvQAwuqy+gxiZqY+c7FokraOTHRWMsbB4AgRx9Sy7zKslNyejy7E+a77qHfey5GXw/ik3IXv/NHMJgaA==} - '@babel/preset-modules@0.1.5': - resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} - '@babel/preset-typescript@7.16.5': - resolution: {integrity: sha512-lmAWRoJ9iOSvs3DqOndQpj8XqXkzaiQs50VG/zESiI9D3eoZhGriU675xNCr0UwvsuXrhMAGvyk1w+EVWF3u8Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} - '@babel/register@7.16.5': - resolution: {integrity: sha512-NpluD+cToBiZiDsG3y9rtIcqDyivsahpaM9csfyfiq1qQWduSmihUZ+ruIqqSDGjZKZMJfgAElo9x2YWlOQuRw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} - '@babel/runtime@7.18.9': - resolution: {integrity: sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==} - engines: {node: '>=6.9.0'} + '@npmcli/fs@2.1.2': + resolution: {integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - '@babel/runtime@7.23.1': - resolution: {integrity: sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==} - engines: {node: '>=6.9.0'} + '@npmcli/move-file@2.0.1': + resolution: {integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This functionality has been moved to @npmcli/fs - '@babel/template@7.16.0': - resolution: {integrity: sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==} - engines: {node: '>=6.9.0'} + '@parcel/watcher-android-arm64@2.5.1': + resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] - '@babel/traverse@7.16.5': - resolution: {integrity: sha512-FOCODAzqUMROikDYLYxl4nmwiLlu85rNqBML/A5hKRVXG2LV8d0iMqgPzdYTcIpjZEBB7D6UDU9vxRZiriASdQ==} - engines: {node: '>=6.9.0'} + '@parcel/watcher-darwin-arm64@2.5.1': + resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] - '@babel/types@7.16.0': - resolution: {integrity: sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==} - engines: {node: '>=6.9.0'} + '@parcel/watcher-darwin-x64@2.5.1': + resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] - '@babel/types@7.17.0': - resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==} - engines: {node: '>=6.9.0'} + '@parcel/watcher-freebsd-x64@2.5.1': + resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] - '@braintree/sanitize-url@6.0.0': - resolution: {integrity: sha512-mgmE7XBYY/21erpzhexk4Cj1cyTQ9LzvnTxtzM17BJ7ERMNE6W72mQRo0I1Ud8eFJ+RVVIcBNhLFZ3GX4XFz5w==} + '@parcel/watcher-linux-arm-glibc@2.5.1': + resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] - '@commitlint/cli@15.0.0': - resolution: {integrity: sha512-Y5xmDCweytqzo4N4lOI2YRiuX35xTjcs8n5hUceBH8eyK0YbwtgWX50BJOH2XbkwEmII9blNhlBog6AdQsqicg==} - engines: {node: '>=v12'} - hasBin: true + '@parcel/watcher-linux-arm-musl@2.5.1': + resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] - '@commitlint/config-conventional@15.0.0': - resolution: {integrity: sha512-eZBRL8Lk3hMNHp1wUMYj0qrZQEsST1ai7KHR8J1IDD9aHgT7L2giciibuQ+Og7vxVhR5WtYDvh9xirXFVPaSkQ==} - engines: {node: '>=v12'} + '@parcel/watcher-linux-arm64-glibc@2.5.1': + resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] - '@commitlint/ensure@15.0.0': - resolution: {integrity: sha512-7DV4iNIald3vycwaWBNGk5FbonaNzOlU8nBe5m5AgU2dIeNKuXwLm+zzJzG27j0Ho56rgz//3F6RIvmsoxY9ZA==} - engines: {node: '>=v12'} + '@parcel/watcher-linux-arm64-musl@2.5.1': + resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] - '@commitlint/execute-rule@15.0.0': - resolution: {integrity: sha512-pyE4ApxjbWhb1TXz5vRiGwI2ssdMMgZbaaheZq1/7WC0xRnqnIhE1yUC1D2q20qPtvkZPstTYvMiRVtF+DvjUg==} - engines: {node: '>=v12'} + '@parcel/watcher-linux-x64-glibc@2.5.1': + resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] - '@commitlint/format@15.0.0': - resolution: {integrity: sha512-bPhAfqwRhPk92WiuY0ktEJNpRRHSCd+Eg1MdhGyL9Bl3U25E5zvuInA+dNctnzZiOBSH/37ZaD0eOKCpQE6acg==} - engines: {node: '>=v12'} + '@parcel/watcher-linux-x64-musl@2.5.1': + resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] - '@commitlint/is-ignored@15.0.0': - resolution: {integrity: sha512-edtnkf2QZ/7e/YCJDgn1WDw9wfF1WfOitW5YEoSOb4SxjJEb/oE87kxNPZ2j8mnDMuunspcMfGHeg6fRlwaEWg==} - engines: {node: '>=v12'} + '@parcel/watcher-win32-arm64@2.5.1': + resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] - '@commitlint/lint@15.0.0': - resolution: {integrity: sha512-hUi2+Im/2dJ5FBvWnodypTkg+5haCgsDzB0fyMApWLUA1IucYUAqRCQCW5em1Mhk9Crw1pd5YzFNikhIclkqCw==} - engines: {node: '>=v12'} + '@parcel/watcher-win32-ia32@2.5.1': + resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] - '@commitlint/load@15.0.0': - resolution: {integrity: sha512-Ak1YPeOhvxmY3ioe0o6m1yLGvUAYb4BdfGgShU8jiTCmU3Mnmms0Xh/kfQz8AybhezCC3AmVTyBLaBZxOHR8kg==} - engines: {node: '>=v12'} + '@parcel/watcher-win32-x64@2.5.1': + resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] - '@commitlint/message@15.0.0': - resolution: {integrity: sha512-L8euabzboKavPuDJsdIYAY2wx97LbiGEYsckMo6NmV8pOun50c8hQx6ouXFSAx4pp+mX9yUGmMiVqfrk2LKDJQ==} - engines: {node: '>=v12'} + '@parcel/watcher@2.5.1': + resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} + engines: {node: '>= 10.0.0'} - '@commitlint/parse@15.0.0': - resolution: {integrity: sha512-7fweM67tZfBNS7zw1KTuuT5K2u9nGytUJqFqT/1Ln3Na9cBCsoAqR47mfsNOTlRCgGwakm4xiQ7BpS2gN0OGuw==} - engines: {node: '>=v12'} + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} - '@commitlint/read@15.0.0': - resolution: {integrity: sha512-5yI1o2HKZFVe7RTjL7IhuhHMKar/MDNY34vEHqqz9gMI7BK/rdP8uVb4Di1efl2V0UPnwID0nPKWESjQ8Ti0gw==} - engines: {node: '>=v12'} + '@pkgr/core@0.1.1': + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@commitlint/resolve-extends@15.0.0': - resolution: {integrity: sha512-7apfRJjgJsKja7lHsPfEFixKjA/fk/UeD3owkOw1174yYu4u8xBDLSeU3IinGPdMuF9m245eX8wo7vLUy+EBSg==} - engines: {node: '>=v12'} + '@rollup/rollup-android-arm-eabi@4.34.8': + resolution: {integrity: sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw==} + cpu: [arm] + os: [android] - '@commitlint/rules@15.0.0': - resolution: {integrity: sha512-SqXfp6QUlwBS+0IZm4FEA/NmmAwcFQIkG3B05BtemOVWXQdZ8j1vV6hDwvA9oMPCmUSrrGpHOtZK7HaHhng2yA==} - engines: {node: '>=v12'} + '@rollup/rollup-android-arm64@4.34.8': + resolution: {integrity: sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==} + cpu: [arm64] + os: [android] - '@commitlint/to-lines@15.0.0': - resolution: {integrity: sha512-mY3MNA9ujPqVpiJjTYG9MDsYCobue5PJFO0MfcIzS1mCVvngH8ZFTPAh1fT5t+t1h876boS88+9WgqjRvbYItw==} - engines: {node: '>=v12'} + '@rollup/rollup-darwin-arm64@4.34.8': + resolution: {integrity: sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==} + cpu: [arm64] + os: [darwin] - '@commitlint/top-level@15.0.0': - resolution: {integrity: sha512-7Gz3t7xcuuUw1d1Nou6YLaztzp2Em+qZ6YdCzrqYc+aquca3Vt0O696nuiBDU/oE+tls4Hx2CNpAbWhTgEwB5A==} - engines: {node: '>=v12'} + '@rollup/rollup-darwin-x64@4.34.8': + resolution: {integrity: sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==} + cpu: [x64] + os: [darwin] - '@commitlint/types@15.0.0': - resolution: {integrity: sha512-OMSLX+QJnyNoTwws54ULv9sOvuw9GdVezln76oyUd4YbMMJyaav62aSXDuCdWyL2sm9hTkSzyEi52PNaIj/vqw==} - engines: {node: '>=v12'} + '@rollup/rollup-freebsd-arm64@4.34.8': + resolution: {integrity: sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==} + cpu: [arm64] + os: [freebsd] - '@develar/schema-utils@2.6.5': - resolution: {integrity: sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==} - engines: {node: '>= 8.9.0'} + '@rollup/rollup-freebsd-x64@4.34.8': + resolution: {integrity: sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==} + cpu: [x64] + os: [freebsd] - '@electron/get@1.14.1': - resolution: {integrity: sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==} - engines: {node: '>=8.6'} + '@rollup/rollup-linux-arm-gnueabihf@4.34.8': + resolution: {integrity: sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==} + cpu: [arm] + os: [linux] - '@electron/universal@1.2.1': - resolution: {integrity: sha512-7323HyMh7KBAl/nPDppdLsC87G6RwRU02dy5FPeGB1eS7rUePh55+WNWiDPLhFQqqVPHzh77M69uhmoT8XnwMQ==} - engines: {node: '>=8.6'} + '@rollup/rollup-linux-arm-musleabihf@4.34.8': + resolution: {integrity: sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==} + cpu: [arm] + os: [linux] - '@emmetio/abbreviation@2.2.3': - resolution: {integrity: sha512-87pltuCPt99aL+y9xS6GPZ+Wmmyhll2WXH73gG/xpGcQ84DRnptBsI2r0BeIQ0EB/SQTOe2ANPqFqj3Rj5FOGA==} + '@rollup/rollup-linux-arm64-gnu@4.34.8': + resolution: {integrity: sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==} + cpu: [arm64] + os: [linux] - '@emmetio/css-abbreviation@2.1.4': - resolution: {integrity: sha512-qk9L60Y+uRtM5CPbB0y+QNl/1XKE09mSO+AhhSauIfr2YOx/ta3NJw2d8RtCFxgzHeRqFRr8jgyzThbu+MZ4Uw==} + '@rollup/rollup-linux-arm64-musl@4.34.8': + resolution: {integrity: sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==} + cpu: [arm64] + os: [linux] - '@emmetio/scanner@1.0.0': - resolution: {integrity: sha512-8HqW8EVqjnCmWXVpqAOZf+EGESdkR27odcMMMGefgKXtar00SoYNSryGv//TELI4T3QFsECo78p+0lmalk/CFA==} + '@rollup/rollup-linux-loongarch64-gnu@4.34.8': + resolution: {integrity: sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==} + cpu: [loong64] + os: [linux] - '@endemolshinegroup/cosmiconfig-typescript-loader@3.0.2': - resolution: {integrity: sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA==} - engines: {node: '>=10.0.0'} - peerDependencies: - cosmiconfig: '>=6' + '@rollup/rollup-linux-powerpc64le-gnu@4.34.8': + resolution: {integrity: sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==} + cpu: [ppc64] + os: [linux] - '@eslint/eslintrc@1.0.5': - resolution: {integrity: sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@rollup/rollup-linux-riscv64-gnu@4.34.8': + resolution: {integrity: sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==} + cpu: [riscv64] + os: [linux] - '@floating-ui/core@0.3.1': - resolution: {integrity: sha512-ensKY7Ub59u16qsVIFEo2hwTCqZ/r9oZZFh51ivcLGHfUwTn8l1Xzng8RJUe91H/UP8PeqeBronAGx0qmzwk2g==} + '@rollup/rollup-linux-s390x-gnu@4.34.8': + resolution: {integrity: sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==} + cpu: [s390x] + os: [linux] - '@floating-ui/dom@0.1.10': - resolution: {integrity: sha512-4kAVoogvQm2N0XE0G6APQJuCNuErjOfPW8Ux7DFxh8+AfugWflwVJ5LDlHOwrwut7z/30NUvdtHzQ3zSip4EzQ==} + '@rollup/rollup-linux-x64-gnu@4.34.8': + resolution: {integrity: sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==} + cpu: [x64] + os: [linux] - '@gera2ld/jsx-dom@2.2.2': - resolution: {integrity: sha512-EOqf31IATRE6zS1W1EoWmXZhGfLAoO9FIlwTtHduSrBdud4npYBxYAkv8dZ5hudDPwJeeSjn40kbCL4wAzr8dA==} + '@rollup/rollup-linux-x64-musl@4.34.8': + resolution: {integrity: sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==} + cpu: [x64] + os: [linux] - '@hapi/address@2.1.4': - resolution: {integrity: sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==} - deprecated: Moved to 'npm install @sideway/address' + '@rollup/rollup-win32-arm64-msvc@4.34.8': + resolution: {integrity: sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==} + cpu: [arm64] + os: [win32] - '@hapi/bourne@1.3.2': - resolution: {integrity: sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==} - deprecated: This version has been deprecated and is no longer supported or maintained + '@rollup/rollup-win32-ia32-msvc@4.34.8': + resolution: {integrity: sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==} + cpu: [ia32] + os: [win32] - '@hapi/hoek@8.5.1': - resolution: {integrity: sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==} - deprecated: This version has been deprecated and is no longer supported or maintained + '@rollup/rollup-win32-x64-msvc@4.34.8': + resolution: {integrity: sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==} + cpu: [x64] + os: [win32] - '@hapi/joi@15.1.1': - resolution: {integrity: sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==} - deprecated: Switch to 'npm install joi' + '@scalar/openapi-types@0.1.1': + resolution: {integrity: sha512-NMy3QNk6ytcCoPUGJH0t4NNr36OWXgZhA3ormr3TvhX1NDgoF95wFyodGVH8xiHeUyn2/FxtETm8UBLbB5xEmg==} + engines: {node: '>=18'} - '@hapi/topo@3.1.6': - resolution: {integrity: sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==} - deprecated: This version has been deprecated and is no longer supported or maintained + '@scalar/openapi-types@0.1.8': + resolution: {integrity: sha512-iufA5/6hPCmRIVD2eh7qGpoKvoA08Gw/qUb2JECifBtAwA93fo7+1k9uHK440f2LMJsbxIzA+nv7RS0BmfiO/g==} + engines: {node: '>=18'} - '@humanwhocodes/config-array@0.9.2': - resolution: {integrity: sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==} - engines: {node: '>=10.10.0'} + '@scalar/themes@0.9.68': + resolution: {integrity: sha512-466ac2fdQJOBBSLkGUf88vuZVF+qNMeVpjb0aAHrKkxhpjucTPKdTYO8r2dsX1R5k9A13gWPnm594VW5G/bGHw==} + engines: {node: '>=18'} - '@humanwhocodes/object-schema@1.2.1': - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + '@scalar/types@0.0.12': + resolution: {integrity: sha512-XYZ36lSEx87i4gDqopQlGCOkdIITHHEvgkuJFrXFATQs9zHARop0PN0g4RZYWj+ZpCUclOcaOjbCt8JGe22mnQ==} + engines: {node: '>=18'} - '@iconify/types@1.0.13': - resolution: {integrity: sha512-jrJJVPnRM1HsMDnuHRTzMfgiSG6Z1U/2IYI7s8spFu9c7n1q3jcXa+3/YQz4tJVNgAhzm1dbnMxfIAyLDpCaWg==} + '@scalar/types@0.0.34': + resolution: {integrity: sha512-q01ctijmHArM5KOny2zU+sHfhpsgOAENrDENecK2TsQNn5FYLmFZouMKeW2M6F7KFLPZnFxUiL/rT88b6Rp/Kg==} + engines: {node: '>=18'} - '@iconify/utils@1.0.26': - resolution: {integrity: sha512-Mz6l1fOGgdqLjoXNirmX6Zpc+DPcU4Xyns7oBWcHoTVRnZ2QuFbWMaGa9/FeYSoZwk5s14Vsl0wilmaToS9g9w==} + '@sinclair/typebox@0.34.27': + resolution: {integrity: sha512-C7mxE1VC3WC2McOufZXEU48IfRVI+BcKxk4NOyNn3+JMUNdJHEWGS5CqjuDX+ij2NCCz8/nse1mT7yn8Fv2GHg==} - '@iconscout/unicons@4.0.1': - resolution: {integrity: sha512-uMyaHfzfrc4Wd+n0EGsrSGqW/YB/7gZYro4fKhK+YjrG5GWn2bag+5Fj2yqnhjj0Wdc3nHQM6i6rjM7B5zNY3Q==} + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} - '@interactjs/types@1.10.11': - resolution: {integrity: sha512-YRsVFWjL8Gkkvlx3qnjeaxW4fnibSJ9791g8BA7Pv5ANByI64WmtR1vU7A2rXcrOn8XvyCEfY0ss1s8NhZP+MA==} + '@stylistic/eslint-plugin@2.13.0': + resolution: {integrity: sha512-RnO1SaiCFHn666wNz2QfZEFxvmiNRqhzaMXHXxXXKt+MEP7aajlPxUSMIQpKAaJfverpovEYqjBOXDq6dDcaOQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: '>=8.40.0' - '@josephg/resolvable@1.0.1': - resolution: {integrity: sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg==} + '@swc/helpers@0.5.15': + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} - '@jsdevtools/ez-spawn@3.0.4': - resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==} + '@szmarczak/http-timer@4.0.6': + resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} engines: {node: '>=10'} - '@malept/cross-spawn-promise@1.1.1': - resolution: {integrity: sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==} + '@tailwindcss/node@4.0.9': + resolution: {integrity: sha512-tOJvdI7XfJbARYhxX+0RArAhmuDcczTC46DGCEziqxzzbIaPnfYaIyRT31n4u8lROrsO7Q6u/K9bmQHL2uL1bQ==} + + '@tailwindcss/oxide-android-arm64@4.0.9': + resolution: {integrity: sha512-YBgy6+2flE/8dbtrdotVInhMVIxnHJPbAwa7U1gX4l2ThUIaPUp18LjB9wEH8wAGMBZUb//SzLtdXXNBHPUl6Q==} engines: {node: '>= 10'} + cpu: [arm64] + os: [android] - '@malept/flatpak-bundler@0.4.0': - resolution: {integrity: sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==} - engines: {node: '>= 10.0.0'} + '@tailwindcss/oxide-darwin-arm64@4.0.9': + resolution: {integrity: sha512-pWdl4J2dIHXALgy2jVkwKBmtEb73kqIfMpYmcgESr7oPQ+lbcQ4+tlPeVXaSAmang+vglAfFpXQCOvs/aGSqlw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] - '@masscode/json-server@0.18.0': - resolution: {integrity: sha512-5M2/42AevLRmlNvbTzD5EMzwegzgqJIju/LzmMVH1X0yoQzyHmi0aPdRoxSjEGByKXwN0JTPkUpj/D6ltn1TCg==} - engines: {node: '>=12'} - hasBin: true + '@tailwindcss/oxide-darwin-x64@4.0.9': + resolution: {integrity: sha512-4Dq3lKp0/C7vrRSkNPtBGVebEyWt9QPPlQctxJ0H3MDyiQYvzVYf8jKow7h5QkWNe8hbatEqljMj/Y0M+ERYJg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] - '@mrmlnc/readdir-enhanced@2.2.1': - resolution: {integrity: sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==} - engines: {node: '>=4'} + '@tailwindcss/oxide-freebsd-x64@4.0.9': + resolution: {integrity: sha512-k7U1RwRODta8x0uealtVt3RoWAWqA+D5FAOsvVGpYoI6ObgmnzqWW6pnVwz70tL8UZ/QXjeMyiICXyjzB6OGtQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] - '@node-ipc/js-queue@2.0.3': - resolution: {integrity: sha512-fL1wpr8hhD5gT2dA1qifeVaoDFlQR5es8tFuKqjHX+kdOtdNHnxkVZbtIrR2rxnMFvehkjaZRNV2H/gPXlb0hw==} - engines: {node: '>=1.0.0'} + '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.9': + resolution: {integrity: sha512-NDDjVweHz2zo4j+oS8y3KwKL5wGCZoXGA9ruJM982uVJLdsF8/1AeKvUwKRlMBpxHt1EdWJSAh8a0Mfhl28GlQ==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + '@tailwindcss/oxide-linux-arm64-gnu@4.0.9': + resolution: {integrity: sha512-jk90UZ0jzJl3Dy1BhuFfRZ2KP9wVKMXPjmCtY4U6fF2LvrjP5gWFJj5VHzfzHonJexjrGe1lMzgtjriuZkxagg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] - '@nodelib/fs.stat@1.1.3': - resolution: {integrity: sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==} - engines: {node: '>= 6'} + '@tailwindcss/oxide-linux-arm64-musl@4.0.9': + resolution: {integrity: sha512-3eMjyTC6HBxh9nRgOHzrc96PYh1/jWOwHZ3Kk0JN0Kl25BJ80Lj9HEvvwVDNTgPg154LdICwuFLuhfgH9DULmg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} + '@tailwindcss/oxide-linux-x64-gnu@4.0.9': + resolution: {integrity: sha512-v0D8WqI/c3WpWH1kq/HP0J899ATLdGZmENa2/emmNjubT0sWtEke9W9+wXeEoACuGAhF9i3PO5MeyditpDCiWQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + '@tailwindcss/oxide-linux-x64-musl@4.0.9': + resolution: {integrity: sha512-Kvp0TCkfeXyeehqLJr7otsc4hd/BUPfcIGrQiwsTVCfaMfjQZCG7DjI+9/QqPZha8YapLA9UoIcUILRYO7NE1Q==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] - '@prettier/plugin-php@0.18.4': - resolution: {integrity: sha512-phnY20asLUpCSDXjCUN7FKGaZZTf1C+PSpTzGMOJ/UfIyD24sYJXCT8qqbcpp7rWI6ZsCsJiZcVnNmLFThx78Q==} - peerDependencies: - prettier: ^1.15.0 || ^2.0.0 + '@tailwindcss/oxide-win32-arm64-msvc@4.0.9': + resolution: {integrity: sha512-m3+60T/7YvWekajNq/eexjhV8z10rswcz4BC9bioJ7YaN+7K8W2AmLmG0B79H14m6UHE571qB0XsPus4n0QVgQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] - '@prettier/plugin-pug@2.0.0': - resolution: {integrity: sha512-NCZ2/aBpl2IKxoiOfT55NJjQXsRmFkhTHT4o54VmxwIzgiAu5BbRdNsROdbgm0YG7ocTnfG3aKcjI+6S866wfQ==} - engines: {node: '>=14.6.0', npm: '>=6.0.0'} - peerDependencies: - prettier: ^2.3.0 + '@tailwindcss/oxide-win32-x64-msvc@4.0.9': + resolution: {integrity: sha512-dpc05mSlqkwVNOUjGu/ZXd5U1XNch1kHFJ4/cHkZFvaW1RzbHmRt24gvM8/HC6IirMxNarzVw4IXVtvrOoZtxA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] - '@prettier/plugin-xml@2.1.0': - resolution: {integrity: sha512-gmmvjwOh6GcJ4yTr4L0IVWwUrML/P1xHotwAMlY8hTIHYcmaRzeJKou8omvAaYsjMXWXxfBP7ge0meadDStn+g==} + '@tailwindcss/oxide@4.0.9': + resolution: {integrity: sha512-eLizHmXFqHswJONwfqi/WZjtmWZpIalpvMlNhTM99/bkHtUs6IqgI1XQ0/W5eO2HiRQcIlXUogI2ycvKhVLNcA==} + engines: {node: '>= 10'} - '@protobufjs/aspromise@1.1.2': - resolution: {integrity: sha1-m4sMxmPWaafY9vXQiToU00jzD78=} + '@tailwindcss/postcss@4.0.9': + resolution: {integrity: sha512-BT/E+pdMqulavEAVM5NCpxmGEwHiLDPpkmg/c/X25ZBW+izTe+aZ+v1gf/HXTrihRoCxrUp5U4YyHsBTzspQKQ==} - '@protobufjs/base64@1.1.2': - resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} + '@tailwindcss/vite@4.0.9': + resolution: {integrity: sha512-BIKJO+hwdIsN7V6I7SziMZIVHWWMsV/uCQKYEbeiGRDRld+TkqyRRl9+dQ0MCXbhcVr+D9T/qX2E84kT7V281g==} + peerDependencies: + vite: ^5.2.0 || ^6 - '@protobufjs/codegen@2.0.4': - resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + '@tanstack/virtual-core@3.13.2': + resolution: {integrity: sha512-Qzz4EgzMbO5gKrmqUondCjiHcuu4B1ftHb0pjCut661lXZdGoHeze9f/M8iwsK1t5LGR6aNuNGU7mxkowaW6RQ==} - '@protobufjs/eventemitter@1.1.0': - resolution: {integrity: sha1-NVy8mLr61ZePntCV85diHx0Ga3A=} + '@tanstack/vue-virtual@3.13.2': + resolution: {integrity: sha512-z4swzjdhzCh95n9dw9lTvw+t3iwSkYRlVkYkra3C9mul/m5fTzHR7KmtkwH4qXMTXGJUbngtC/bz2cHQIHkO8g==} + peerDependencies: + vue: ^2.7.0 || ^3.0.0 - '@protobufjs/fetch@1.1.0': - resolution: {integrity: sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=} + '@tootallnate/once@2.0.0': + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} - '@protobufjs/float@1.0.2': - resolution: {integrity: sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=} + '@types/better-sqlite3@7.6.12': + resolution: {integrity: sha512-fnQmj8lELIj7BSrZQAdBMHEHX8OZLYIHXqAKT1O7tDfLxaINzf00PMjw22r3N/xXh0w/sGHlO6SVaCQ2mj78lg==} - '@protobufjs/inquire@1.1.0': - resolution: {integrity: sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=} + '@types/cacheable-request@6.0.3': + resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} - '@protobufjs/path@1.1.2': - resolution: {integrity: sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=} + '@types/chroma-js@3.1.1': + resolution: {integrity: sha512-SFCr4edNkZ1bGaLzGz7rgR1bRzVX4MmMxwsIa3/Bh6ose8v+hRpneoizHv0KChdjxaXyjRtaMq7sCuZSzPomQA==} - '@protobufjs/pool@1.1.0': - resolution: {integrity: sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=} + '@types/codemirror@5.60.15': + resolution: {integrity: sha512-dTOvwEQ+ouKJ/rE9LT1Ue2hmP6H1mZv5+CCnNWu2qtiOe2LQa9lCprEY20HxiDmV/Bxh+dXjywmy5aKvoGjULA==} - '@protobufjs/utf8@1.1.0': - resolution: {integrity: sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=} + '@types/conventional-commits-parser@5.0.1': + resolution: {integrity: sha512-7uz5EHdzz2TqoMfV7ee61Egf5y6NkcO4FB/1iCCQnbeiI1F3xzv3vK5dBCXUCLQgGYS+mUeigK1iKQzvED+QnQ==} - '@rollup/pluginutils@4.2.0': - resolution: {integrity: sha512-2WUyJNRkyH5p487pGnn4tWAsxhEFKN/pT8CMgHshd5H+IXkOnKvKZwsz5ZWz+YCXkleZRAU5kwbfgF8CPfDRqA==} - engines: {node: '>= 8.0.0'} + '@types/crypto-js@4.2.2': + resolution: {integrity: sha512-sDOLlVbHhXpAUAL0YHDUUwDZf3iN4Bwi4W6a0W0b+QcAezUbRtH4FVb+9J4h+XFPW7l/gQ9F8qC7P+Ec4k8QVQ==} - '@sindresorhus/is@0.14.0': - resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} - engines: {node: '>=6'} + '@types/d3-array@3.2.1': + resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==} - '@sindresorhus/is@0.7.0': - resolution: {integrity: sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==} - engines: {node: '>=4'} + '@types/d3-axis@3.0.6': + resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} - '@sipec/vue3-tags-input@3.0.4': - resolution: {integrity: sha512-zE4OiFkWvlvvGT3FZQ9hRrvJW935VPW0fe4K03SxM5Q/UQZMqph763UHXTuyK1orWNQMTbDx9tKPLIMZTiDXLA==} - peerDependencies: - vue: 3.x + '@types/d3-brush@3.0.6': + resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} - '@socket.io/base64-arraybuffer@1.0.2': - resolution: {integrity: sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==} - engines: {node: '>= 0.6.0'} + '@types/d3-chord@3.0.6': + resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} - '@socket.io/component-emitter@3.0.0': - resolution: {integrity: sha512-2pTGuibAXJswAPJjaKisthqS/NOK5ypG4LYT6tEAV0S/mxW0zOIvYvGK0V8w8+SHxAm6vRMSjqSalFXeBAqs+Q==} + '@types/d3-color@3.1.3': + resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} - '@szmarczak/http-timer@1.1.2': - resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} - engines: {node: '>=6'} + '@types/d3-contour@3.0.6': + resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} - '@toml-tools/lexer@0.3.1': - resolution: {integrity: sha512-CCKHQb5OWpgFu47MQ2rcql4AnE9GaehNk/c1oJOyOBovED6XmdzQPXsvPSu+NJ9lToqJNoX+nLXQsB8WyQGdzQ==} + '@types/d3-delaunay@6.0.4': + resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} - '@toml-tools/parser@0.3.1': - resolution: {integrity: sha512-vadwVx5TkgByt19dbp/rfIUKPkDdn5werANYvziiGK9wHlqPA0BWnvOloQw/dPDxF31+Ag0+zarXJpPDdRsPPg==} + '@types/d3-dispatch@3.0.6': + resolution: {integrity: sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==} - '@tootallnate/once@2.0.0': - resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} - engines: {node: '>= 10'} + '@types/d3-drag@3.0.7': + resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} - '@tsconfig/node14@1.0.1': - resolution: {integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==} + '@types/d3-dsv@3.0.7': + resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} - '@types/accepts@1.3.5': - resolution: {integrity: sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==} + '@types/d3-ease@3.0.2': + resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} - '@types/body-parser@1.19.0': - resolution: {integrity: sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==} + '@types/d3-fetch@3.0.7': + resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} - '@types/codemirror@5.60.5': - resolution: {integrity: sha512-TiECZmm8St5YxjFUp64LK0c8WU5bxMDt9YaAek1UqUb9swrSCoJhh92fWu1p3mTEqlHjhB5sY7OFBhWroJXZVg==} + '@types/d3-force@3.0.10': + resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==} - '@types/component-emitter@1.2.11': - resolution: {integrity: sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==} + '@types/d3-format@3.0.4': + resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} - '@types/connect@3.4.35': - resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} + '@types/d3-geo@3.1.0': + resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} - '@types/content-disposition@0.5.4': - resolution: {integrity: sha512-0mPF08jn9zYI0n0Q/Pnz7C4kThdSt+6LD4amsrYDDpgBfrVWa3TcCOxKX1zkGgYniGagRv8heN2cbh+CAn+uuQ==} + '@types/d3-hierarchy@3.1.7': + resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} - '@types/cookie@0.4.1': - resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} + '@types/d3-interpolate@3.0.4': + resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} - '@types/cookies@0.7.7': - resolution: {integrity: sha512-h7BcvPUogWbKCzBR2lY4oqaZbO3jXZksexYJVFvkrFeLgbZjQkU4x8pRq6eg2MHXQhY0McQdqmmsxRWlVAHooA==} + '@types/d3-path@3.1.1': + resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} - '@types/cors@2.8.10': - resolution: {integrity: sha512-C7srjHiVG3Ey1nR6d511dtDkCEjxuN9W1HWAEjGq8kpcwmNM6JJkpC0xvabM7BXTG2wDq8Eu33iH9aQKa7IvLQ==} + '@types/d3-polygon@3.0.2': + resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} - '@types/cors@2.8.12': - resolution: {integrity: sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==} + '@types/d3-quadtree@3.0.6': + resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} - '@types/crypto-js@4.1.2': - resolution: {integrity: sha512-t33RNmTu5ufG/sorROIafiCVJMx3jz95bXUMoPAZcUD14fxMXnuTzqzXZoxpR0tNx2xpw11Dlmem9vGCsrSOfA==} + '@types/d3-random@3.0.3': + resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} - '@types/d3-array@3.0.8': - resolution: {integrity: sha512-2xAVyAUgaXHX9fubjcCbGAUOqYfRJN1em1EKR2HfzWBpObZhwfnZKvofTN4TplMqJdFQao61I+NVSai/vnBvDQ==} + '@types/d3-scale-chromatic@3.1.0': + resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==} - '@types/d3-axis@3.0.4': - resolution: {integrity: sha512-ySnjI/7qm+J602VjcejXcqs1hEuu5UBbGaJGp+Cn/yKVc1iS3JueLVpToGdQsS2sqta7tqA/kG4ore/+LH90UA==} + '@types/d3-scale@4.0.9': + resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} - '@types/d3-brush@3.0.4': - resolution: {integrity: sha512-Kg5uIsdJNMCs5lTqeZFsTKqj9lBvpiFRDkYN3j2CDlPhonNDg9/gXVpv1E/MKh3tEqArryIj9o6RBGE/MQe+6Q==} + '@types/d3-selection@3.0.11': + resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==} - '@types/d3-chord@3.0.4': - resolution: {integrity: sha512-p4PvN1N+7GL3Y/NI9Ug1TKwowUV6h664kmxL79ctp1HRYCk1mhP0+SXhjRsoWXCdnJfbLLLmpV99rt8dMrHrzg==} + '@types/d3-shape@3.1.7': + resolution: {integrity: sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==} - '@types/d3-color@3.1.1': - resolution: {integrity: sha512-CSAVrHAtM9wfuLJ2tpvvwCU/F22sm7rMHNN+yh9D6O6hyAms3+O0cgMpC1pm6UEUMOntuZC8bMt74PteiDUdCg==} + '@types/d3-time-format@4.0.3': + resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} - '@types/d3-contour@3.0.4': - resolution: {integrity: sha512-B0aeX8Xg3MNUglULxqDvlgY1SVXuN2xtEleYSAY0iMhl/SMVT7snzgAveejjwM3KaWuNXIoXEJ7dmXE8oPq/jA==} + '@types/d3-time@3.0.4': + resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} - '@types/d3-delaunay@6.0.2': - resolution: {integrity: sha512-WplUJ/OHU7eITneDqNnzK+2pgR+WDzUHG6XAUVo+oWHPQq74VcgUdw8a4ODweaZzF56OVYK+x9GxCyuq6hSu1A==} + '@types/d3-timer@3.0.2': + resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} - '@types/d3-dispatch@3.0.4': - resolution: {integrity: sha512-NApHpGHRNxUy7e2Lfzl/cwOucmn4Xdx6FdmXzAoomo8T81LyGmlBjjko/vP0TVzawlvEFLDq8OCRLulW6DDzKw==} + '@types/d3-transition@3.0.9': + resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==} - '@types/d3-drag@3.0.4': - resolution: {integrity: sha512-/t53K1erTuUbP7WIX9SE0hlmytpTYRbIthlhbGkBHzCV5vPO++7yrk8OlisWPyIJO5TGowTmqCtGH2tokY5T/g==} + '@types/d3-zoom@3.0.8': + resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} - '@types/d3-dsv@3.0.4': - resolution: {integrity: sha512-YxfUVJ55HxR8oq88136w09mBMPNhgH7PZjteq72onWXWOohGif/cLQnQv8V4A5lEGjXF04LhwSTpmzpY9wyVyA==} + '@types/d3@7.4.3': + resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} - '@types/d3-ease@3.0.0': - resolution: {integrity: sha512-aMo4eaAOijJjA6uU+GIeW018dvy9+oH5Y2VPPzjjfxevvGQ/oRDs+tfYC9b50Q4BygRR8yE2QCLsrT0WtAVseA==} + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - '@types/d3-fetch@3.0.4': - resolution: {integrity: sha512-RleYajubALkGjrvatxWhlygfvB1KNF0Uzz9guRUeeA+M/2B7l8rxObYdktaX9zU1st04lMCHjZWe4vbl+msH2Q==} + '@types/doctrine@0.0.9': + resolution: {integrity: sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==} - '@types/d3-force@3.0.6': - resolution: {integrity: sha512-G9wbOvCxkNlLrppoHLZ6oFpbm3z7ibfkXwLD8g5/4Aa7iTEV0Z7TQ0OL8UxAtvdOhCa2VZcSuqn1NQqyCEqmiw==} + '@types/dom-to-image@2.6.7': + resolution: {integrity: sha512-me5VbCv+fcXozblWwG13krNBvuEOm6kA5xoa4RrjDJCNFOZSWR3/QLtOXimBHk1Fisq69Gx3JtOoXtg1N1tijg==} - '@types/d3-format@3.0.2': - resolution: {integrity: sha512-9oQWvKk2qVBo49FQq8yD/et8Lx0W5Ac2FdGSOUecqOFKqh0wkpyHqf9Qc7A06ftTR+Lz13Pi3jHIQis0aCueOA==} + '@types/eslint@9.6.1': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} - '@types/d3-geo@3.0.5': - resolution: {integrity: sha512-ysEEU93Wv9p2UZBxTK3kUP7veHgyhTA0qYtI7bxK5EMXb3JxGv0D4IH54PxprAF26n+uHci24McVmzwIdLgvgQ==} + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} - '@types/d3-hierarchy@3.1.4': - resolution: {integrity: sha512-wrvjpRFdmEu6yAqgjGy8MSud9ggxJj+I9XLuztLeSf/E0j0j6RQYtxH2J8U0Cfbgiw9ZDHyhpmaVuWhxscYaAQ==} + '@types/fs-extra@11.0.4': + resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} - '@types/d3-interpolate@3.0.2': - resolution: {integrity: sha512-zAbCj9lTqW9J9PlF4FwnvEjXZUy75NQqPm7DMHZXuxCFTpuTrdK2NMYGQekf4hlasL78fCYOLu4EE3/tXElwow==} + '@types/fs-extra@9.0.13': + resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} - '@types/d3-path@3.0.0': - resolution: {integrity: sha512-0g/A+mZXgFkQxN3HniRDbXMN79K3CdTpLsevj+PXiTcb2hVyvkZUBg37StmgCQkaD84cUJ4uaDAWq7UJOQy2Tg==} + '@types/geojson@7946.0.16': + resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} - '@types/d3-polygon@3.0.0': - resolution: {integrity: sha512-D49z4DyzTKXM0sGKVqiTDTYr+DHg/uxsiWDAkNrwXYuiZVd9o9wXZIo+YsHkifOiyBkmSWlEngHCQme54/hnHw==} + '@types/http-cache-semantics@4.0.4': + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} - '@types/d3-quadtree@3.0.3': - resolution: {integrity: sha512-GDWaR+rGEk4ToLQSGugYnoh9AYYblsg/8kmdpa1KAJMwcdZ0v8rwgnldURxI5UrzxPlCPzF7by/Tjmv+Jn21Dg==} + '@types/js-yaml@4.0.9': + resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} - '@types/d3-random@3.0.1': - resolution: {integrity: sha512-IIE6YTekGczpLYo/HehAy3JGF1ty7+usI97LqraNa8IiDur+L44d0VOjAvFQWJVdZOJHukUJw+ZdZBlgeUsHOQ==} + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/d3-scale-chromatic@3.0.0': - resolution: {integrity: sha512-dsoJGEIShosKVRBZB0Vo3C8nqSDqVGujJU6tPznsBJxNJNwMF8utmS83nvCBKQYPpjCzaaHcrf66iTRpZosLPw==} + '@types/jsonfile@6.1.4': + resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} - '@types/d3-scale@4.0.5': - resolution: {integrity: sha512-w/C++3W394MHzcLKO2kdsIn5KKNTOqeQVzyPSGPLzQbkPw/jpeaGtSRlakcKevGgGsjJxGsbqS0fPrVFDbHrDA==} + '@types/keyv@3.1.4': + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - '@types/d3-selection@3.0.7': - resolution: {integrity: sha512-qoj2O7KjfqCobmtFOth8FMvjwMVPUAAmn6xiUbLl1ld7vQCPgffvyV5BBcEFfqWdilAUm+3zciU/3P3vZrUMlg==} + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} - '@types/d3-shape@3.1.3': - resolution: {integrity: sha512-cHMdIq+rhF5IVwAV7t61pcEXfEHsEsrbBUPkFGBwTXuxtTAkBBrnrNA8++6OWm3jwVsXoZYQM8NEekg6CPJ3zw==} + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/d3-time-format@4.0.1': - resolution: {integrity: sha512-Br6EFeu9B1Zrem7KaYbr800xCmEDyq8uE60kEU8rWhC/XpFYX6ocGMZuRJDQfFCq6SyakQxNHFqIfJbFLf4x6Q==} + '@types/node@20.17.17': + resolution: {integrity: sha512-/WndGO4kIfMicEQLTi/mDANUu/iVUhT7KboZPdEqqHQ4aTS+3qT3U5gIqWDFV+XouorjfgGqvKILJeHhuQgFYg==} - '@types/d3-time@3.0.1': - resolution: {integrity: sha512-5j/AnefKAhCw4HpITmLDTPlf4vhi8o/dES+zbegfPb7LaGfNyqkLxBR6E+4yvTAgnJLmhe80EXFMzUs38fw4oA==} + '@types/node@22.13.1': + resolution: {integrity: sha512-jK8uzQlrvXqEU91UxiK5J7pKHyzgnI1Qnl0QDHIgVGuolJhRb9EEl28Cj9b3rGR8B2lhFCtvIm5os8lFnO/1Ew==} - '@types/d3-timer@3.0.0': - resolution: {integrity: sha512-HNB/9GHqu7Fo8AQiugyJbv6ZxYz58wef0esl4Mv828w1ZKpAshw/uFWVDUcIB9KKFeFKoxS3cHY07FFgtTRZ1g==} + '@types/normalize-package-data@2.4.4': + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - '@types/d3-transition@3.0.5': - resolution: {integrity: sha512-dcfjP6prFxj3ziFOJrnt4W2P0oXNj/sGxsJXH8286sHtVZ4qWGbjuZj+RRCYx4YZ4C0izpeE8OqXVCtoWEtzYg==} + '@types/plist@3.0.5': + resolution: {integrity: sha512-E6OCaRmAe4WDmWNsL/9RMqdkkzDCY1etutkflWk4c+AcjDU07Pcz1fQwTX0TQz+Pxqn9i4L1TU3UFpjnrcDgxA==} - '@types/d3-zoom@3.0.5': - resolution: {integrity: sha512-mIefdTLtxuWUWTbBupCUXPAXVPmi8/Uwrq41gQpRh0rD25GMU1ku+oTELqNY2NuuiI0F3wXC5e1liBQi7YS7XQ==} + '@types/responselike@1.0.3': + resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} - '@types/d3@7.4.1': - resolution: {integrity: sha512-lBpYmbHTCtFKO1DB1R7E9dXp9/g1F3JXSGOF7iKPZ+wRmYg/Q6tCRHODGOc5Qk25fJRe2PI60EDRf2HLPUncMA==} + '@types/sanitize-html@2.15.0': + resolution: {integrity: sha512-71Z6PbYsVKfp4i6Jvr37s5ql6if1Q/iJQT80NbaSi7uGaG8CqBMXP0pk/EsURAOuGdk5IJCd/vnzKrR7S3Txsw==} - '@types/debug@4.1.7': - resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} + '@types/tern@0.23.9': + resolution: {integrity: sha512-ypzHFE/wBzh+BlH6rrBgS5I/Z7RD21pGhZ2rltb/+ZrVM1awdZwjx7hE5XfuYgHWk9uvV5HLZN3SloevCAp3Bw==} - '@types/dom-to-image@2.6.4': - resolution: {integrity: sha512-UddUdGF1qulrSDulkz3K2Ypq527MR6ixlgAzqLbxSiQ0icx0XDlIV+h4+edmjq/1dqn0KgN0xGSe1kI9t+vGuw==} + '@types/trusted-types@2.0.7': + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} - '@types/ejs@2.7.0': - resolution: {integrity: sha512-kM2g9Fdk/du24fKuuQhA/LBleFR4Z4JP2MVKpLxQQSzofF1uJ06D+c05zfLDAkkDO55aEeNwJih0gHrE/Ci20A==} + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@types/eslint-scope@3.7.3': - resolution: {integrity: sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==} + '@types/verror@1.10.10': + resolution: {integrity: sha512-l4MM0Jppn18hb9xmM6wwD1uTdShpf9Pn80aXTStnK1C94gtPvJcV2FrDmbOQUAQfJ1cKZHktkQUDwEqaAKXMMg==} - '@types/eslint@8.4.1': - resolution: {integrity: sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==} + '@types/web-bluetooth@0.0.20': + resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} - '@types/estree@0.0.51': - resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} + '@types/yauzl@2.10.3': + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@types/express-serve-static-core@4.17.28': - resolution: {integrity: sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==} + '@typescript-eslint/eslint-plugin@8.23.0': + resolution: {integrity: sha512-vBz65tJgRrA1Q5gWlRfvoH+w943dq9K1p1yDBY2pc+a1nbBLZp7fB9+Hk8DaALUbzjqlMfgaqlVPT1REJdkt/w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' - '@types/express@4.17.13': - resolution: {integrity: sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==} + '@typescript-eslint/parser@8.23.0': + resolution: {integrity: sha512-h2lUByouOXFAlMec2mILeELUbME5SZRN/7R9Cw2RD2lRQQY08MWMM+PmVVKKJNK1aIwqTo9t/0CvOxwPbRIE2Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' - '@types/fs-capacitor@2.0.0': - resolution: {integrity: sha512-FKVPOCFbhCvZxpVAMhdBdTfVfXUpsh15wFHgqOKxh9N9vzWZVuWCSijZ5T4U34XYNnuj2oduh6xcs1i+LPI+BQ==} + '@typescript-eslint/scope-manager@8.23.0': + resolution: {integrity: sha512-OGqo7+dXHqI7Hfm+WqkZjKjsiRtFUQHPdGMXzk5mYXhJUedO7e/Y7i8AK3MyLMgZR93TX4bIzYrfyVjLC+0VSw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@types/fs-extra@9.0.13': - resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} + '@typescript-eslint/type-utils@8.23.0': + resolution: {integrity: sha512-iIuLdYpQWZKbiH+RkCGc6iu+VwscP5rCtQ1lyQ7TYuKLrcZoeJVpcLiG8DliXVkUxirW/PWlmS+d6yD51L9jvA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' - '@types/geojson@7946.0.11': - resolution: {integrity: sha512-L7A0AINMXQpVwxHJ4jxD6/XjZ4NDufaRlUJHjNIFKYUFBH1SvOW+neaqb0VTRSLW5suSrSu19ObFEFnfNcr+qg==} + '@typescript-eslint/types@8.23.0': + resolution: {integrity: sha512-1sK4ILJbCmZOTt9k4vkoulT6/y5CHJ1qUYxqpF1K/DBAd8+ZUL4LlSCxOssuH5m4rUaaN0uS0HlVPvd45zjduQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@types/glob@7.2.0': - resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + '@typescript-eslint/typescript-estree@8.23.0': + resolution: {integrity: sha512-LcqzfipsB8RTvH8FX24W4UUFk1bl+0yTOf9ZA08XngFwMg4Kj8A+9hwz8Cr/ZS4KwHrmo9PJiLZkOt49vPnuvQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.8.0' - '@types/http-assert@1.5.3': - resolution: {integrity: sha512-FyAOrDuQmBi8/or3ns4rwPno7/9tJTijVW6aQQjK02+kOQ8zmoNg2XJtAuQhvQcy1ASJq38wirX5//9J1EqoUA==} + '@typescript-eslint/utils@8.23.0': + resolution: {integrity: sha512-uB/+PSo6Exu02b5ZEiVtmY6RVYO7YU5xqgzTIVZwTHvvK3HsL8tZZHFaTLFtRG3CsV4A5mhOv+NZx5BlhXPyIA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' - '@types/http-errors@1.8.2': - resolution: {integrity: sha512-EqX+YQxINb+MeXaIqYDASb6U6FCHbWjkj4a1CKDBks3d/QiB2+PqBLyO72vLDgAO1wUI4O+9gweRcQK11bTL/w==} + '@typescript-eslint/visitor-keys@8.23.0': + resolution: {integrity: sha512-oWWhcWDLwDfu++BGTZcmXWqpwtkwb5o7fxUIGksMQQDSdPW9prsSnfIOZMlsj4vBOSrcnjIUZMiIjODgGosFhQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@types/i18next-fs-backend@1.1.2': - resolution: {integrity: sha512-ZzTRXA5B0x0oGhzKNp08IsYjZpli4LjRZpg3q4j0XFxN5lKG2MVLnR4yHX8PPExBk4sj9Yfk1z9O6CjPrAlmIQ==} + '@unhead/schema@1.11.19': + resolution: {integrity: sha512-7VhYHWK7xHgljdv+C01MepCSYZO2v6OhgsfKWPxRQBDDGfUKCUaChox0XMq3tFvXP6u4zSp6yzcDw2yxCfVMwg==} - '@types/inquirer@6.5.0': - resolution: {integrity: sha512-rjaYQ9b9y/VFGOpqBEXRavc3jh0a+e6evAbI31tMda8VlPaSy0AZJfXsvmIe3wklc7W6C3zCSfleuMXR7NOyXw==} + '@vitejs/plugin-vue@5.2.1': + resolution: {integrity: sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 || ^6.0.0 + vue: ^3.2.25 - '@types/jscodeshift@0.7.2': - resolution: {integrity: sha512-k4ih8ayQ65e26vhCxeMTKtZ808DzC0RFQ4unBvPEy9bcFhS4aPm3oXgWWZNmZ4u+H2WzHQDCNrRC5iNX+afiZw==} + '@vitest/eslint-plugin@1.1.25': + resolution: {integrity: sha512-u8DpDnMbPcqBmJOB4PeEtn6q7vKmLVTLFMpzoxSAo0hjYdl4iYSHRleqwPQo0ywc7UV0S6RKIahYRQ3BnZdMVw==} + peerDependencies: + '@typescript-eslint/utils': '>= 8.0' + eslint: '>= 8.57.0' + typescript: '>= 5.0.0' + vitest: '*' + peerDependenciesMeta: + typescript: + optional: true + vitest: + optional: true - '@types/json-schema@7.0.10': - resolution: {integrity: sha512-BLO9bBq59vW3fxCpD4o0N4U+DXsvwvIcl+jofw0frQo/GrBFC+/jRZj1E7kgp6dvTyNmA4y6JCV5Id/r3mNP5A==} + '@vscode/markdown-it-katex@1.1.1': + resolution: {integrity: sha512-3KTlbsRBPJQLE2YmLL7K6nunTlU+W9T5+FjfNdWuIUKgxSS6HWLQHaO3L4MkJi7z7MpIPpY+g4N+cWNBPE/MSA==} - '@types/json5@0.0.29': - resolution: {integrity: sha1-7ihweulOEdK4J7y+UnC86n8+ce4=} + '@vue/compiler-core@3.5.13': + resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} - '@types/keygrip@1.0.2': - resolution: {integrity: sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==} + '@vue/compiler-dom@3.5.13': + resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} - '@types/keyv@3.1.4': - resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + '@vue/compiler-sfc@3.5.13': + resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==} - '@types/koa-compose@3.2.5': - resolution: {integrity: sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==} + '@vue/compiler-ssr@3.5.13': + resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==} - '@types/koa@2.13.4': - resolution: {integrity: sha512-dfHYMfU+z/vKtQB7NUrthdAEiSvnLebvBjwHtfFmpZmB7em2N3WVQdHgnFq+xvyVgxW5jKDmjWfLD3lw4g4uTw==} + '@vue/devtools-api@6.6.4': + resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} - '@types/lodash@4.14.180': - resolution: {integrity: sha512-XOKXa1KIxtNXgASAnwj7cnttJxS4fksBRywK/9LzRV5YxrF80BXZIGeQSuoESQ/VkUj30Ae0+YcuHc15wJCB2g==} + '@vue/reactivity@3.5.13': + resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==} - '@types/long@4.0.2': - resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} + '@vue/runtime-core@3.5.13': + resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==} - '@types/lowdb@1.0.11': - resolution: {integrity: sha512-h99VMxvTuz+VsXUVCCJo4dsps4vbkXwvU71TpmxDoiBU24bJ0VBygIHgmMm+UPoQIFihmV6euRik4z8J7XDJWg==} + '@vue/runtime-dom@3.5.13': + resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==} - '@types/marked@4.0.3': - resolution: {integrity: sha512-HnMWQkLJEf/PnxZIfbm0yGJRRZYYMhb++O9M36UCTA9z53uPvVoSlAwJr3XOpDEryb7Hwl1qAx/MV6YIW1RXxg==} + '@vue/server-renderer@3.5.13': + resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==} + peerDependencies: + vue: 3.5.13 - '@types/mermaid@8.2.9': - resolution: {integrity: sha512-f1i8fNoVFVJXedk+R7GcEk4KoOWzWAU3CzFqlVw1qWKktfsataBERezCz1pOdKy8Ec02ZdPQXGM7NU2lPHABYQ==} + '@vue/shared@3.5.13': + resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} - '@types/mime@1.3.2': - resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} + '@vueuse/core@10.11.1': + resolution: {integrity: sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==} - '@types/minimatch@3.0.5': - resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} + '@vueuse/core@12.7.0': + resolution: {integrity: sha512-jtK5B7YjZXmkGNHjviyGO4s3ZtEhbzSgrbX+s5o+Lr8i2nYqNyHuPVOeTdM1/hZ5Tkxg/KktAuAVDDiHMraMVA==} - '@types/minimist@1.2.2': - resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + '@vueuse/metadata@10.11.1': + resolution: {integrity: sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==} - '@types/ms@0.7.31': - resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} + '@vueuse/metadata@12.7.0': + resolution: {integrity: sha512-4VvTH9mrjXqFN5LYa5YfqHVRI6j7R00Vy4995Rw7PQxyCL3z0Lli86iN4UemWqixxEvYfRjG+hF9wL8oLOn+3g==} - '@types/node@10.17.60': - resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} + '@vueuse/shared@10.11.1': + resolution: {integrity: sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==} - '@types/node@14.18.2': - resolution: {integrity: sha512-fqtSN5xn/bBzDxMT77C1rJg6CsH/R49E7qsGuvdPJa20HtV5zSTuLJPNfnlyVH3wauKnkHdLggTVkOW/xP9oQg==} + '@vueuse/shared@12.7.0': + resolution: {integrity: sha512-coLlUw2HHKsm7rPN6WqHJQr18WymN4wkA/3ThFaJ4v4gWGWAQQGK+MJxLuJTBs4mojQiazlVWAKNJNpUWGRkNw==} - '@types/node@17.0.22': - resolution: {integrity: sha512-8FwbVoG4fy+ykY86XCAclKZDORttqE5/s7dyWZKLXTdv3vRy5HozBEinG5IqhvPXXzIZEcTVbuHlQEI6iuwcmw==} + '@xmldom/xmldom@0.8.10': + resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} + engines: {node: '>=10.0.0'} - '@types/node@17.0.45': - resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} + JSONStream@1.3.5: + resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} + hasBin: true - '@types/normalize-package-data@2.4.1': - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - '@types/parse-json@4.0.0': - resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - '@types/plist@3.0.2': - resolution: {integrity: sha512-ULqvZNGMv0zRFvqn8/4LSPtnmN4MfhlPNtJCTpKuIIxGVGZ2rYWzFXrvEBoh9CVyqSE7D6YFRJ1hydLHI6kbWw==} + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} + engines: {node: '>=0.4.0'} + hasBin: true - '@types/prettier@2.6.0': - resolution: {integrity: sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==} + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} - '@types/q@1.5.5': - resolution: {integrity: sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==} + agent-base@7.1.3: + resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} + engines: {node: '>= 14'} - '@types/qs@6.9.7': - resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} + agentkeepalive@4.6.0: + resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} + engines: {node: '>= 8.0.0'} - '@types/range-parser@1.2.4': - resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} - '@types/responselike@1.0.0': - resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true - '@types/sanitize-html@2.6.2': - resolution: {integrity: sha512-7Lu2zMQnmHHQGKXVvCOhSziQMpa+R2hMHFefzbYoYMHeaXR0uXqNeOc3JeQQQ8/6Xa2Br/P1IQTLzV09xxAiUQ==} + ajv-keywords@3.5.2: + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 - '@types/serve-static@1.13.10': - resolution: {integrity: sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==} + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - '@types/tern@0.23.4': - resolution: {integrity: sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==} + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - '@types/throttle-debounce@2.1.0': - resolution: {integrity: sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==} + ansi-escapes@7.0.0: + resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} + engines: {node: '>=18'} - '@types/through@0.0.30': - resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==} + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} - '@types/universal-analytics@0.4.5': - resolution: {integrity: sha512-Opb+Un786PS3te24VtJR/QPmX00P/pXaJQtLQYJklQefP4xP0Ic3mPc2z6SDz97OrITzR+RHTBEwjtNRjZ/nLQ==} + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} - '@types/uuid@9.0.4': - resolution: {integrity: sha512-zAuJWQflfx6dYJM62vna+Sn5aeSWhh3OB+wfUEACNcqUSc0AGc5JKl+ycL1vrH7frGTXhJchYjE1Hak8L819dA==} + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} - '@types/verror@1.10.5': - resolution: {integrity: sha512-9UjMCHK5GPgQRoNbqdLIAvAy0EInuiqbW0PBMtVP6B5B2HQJlvoJHM+KodPZMEjOa5VkSc+5LH7xy+cUzQdmHw==} + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} - '@types/webpack@5.28.0': - resolution: {integrity: sha512-8cP0CzcxUiFuA9xGJkfeVpqmWTk9nx6CWwamRGCj95ph1SmlRRk9KlCZ6avhCbZd4L68LvYT6l1kpdEnQXrF8w==} + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} - '@types/ws@7.4.7': - resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} + app-builder-bin@5.0.0-alpha.10: + resolution: {integrity: sha512-Ev4jj3D7Bo+O0GPD2NMvJl+PGiBAfS7pUGawntBNpCbxtpncfUixqFj9z9Jme7V7s3LBGqsWZZP54fxBX3JKJw==} - '@types/yargs-parser@21.0.0': - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} + app-builder-lib@25.1.8: + resolution: {integrity: sha512-pCqe7dfsQFBABC1jeKZXQWhGcCPF3rPCXDdfqVKjIeWBcXzyC1iOWZdfFhGl+S9MyE/k//DFmC6FzuGAUudNDg==} + engines: {node: '>=14.0.0'} + peerDependencies: + dmg-builder: 25.1.8 + electron-builder-squirrel-windows: 25.1.8 - '@types/yargs@17.0.10': - resolution: {integrity: sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==} + aproba@2.0.0: + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} - '@typescript-eslint/eslint-plugin@5.8.0': - resolution: {integrity: sha512-spu1UW7QuBn0nJ6+psnfCc3iVoQAifjKORgBngKOmC8U/1tbe2YJMzYQqDGYB4JCss7L8+RM2kKLb1B1Aw9BNA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + archiver-utils@2.1.0: + resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} + engines: {node: '>= 6'} - '@typescript-eslint/experimental-utils@5.8.0': - resolution: {integrity: sha512-KN5FvNH71bhZ8fKtL+lhW7bjm7cxs1nt+hrDZWIqb6ViCffQcWyLunGrgvISgkRojIDcXIsH+xlFfI4RCDA0xA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + archiver-utils@3.0.4: + resolution: {integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==} + engines: {node: '>= 10'} - '@typescript-eslint/parser@5.8.0': - resolution: {integrity: sha512-Gleacp/ZhRtJRYs5/T8KQR3pAQjQI89Dn/k+OzyCKOsLiZH2/Vh60cFBTnFsHNI6WAD+lNUo/xGZ4NeA5u0Ipw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + archiver@5.3.2: + resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==} + engines: {node: '>= 10'} - '@typescript-eslint/scope-manager@5.8.0': - resolution: {integrity: sha512-x82CYJsLOjPCDuFFEbS6e7K1QEWj7u5Wk1alw8A+gnJiYwNnDJk0ib6PCegbaPMjrfBvFKa7SxE3EOnnIQz2Gg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + are-docs-informative@0.0.2: + resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} + engines: {node: '>=14'} - '@typescript-eslint/types@5.8.0': - resolution: {integrity: sha512-LdCYOqeqZWqCMOmwFnum6YfW9F3nKuxJiR84CdIRN5nfHJ7gyvGpXWqL/AaW0k3Po0+wm93ARAsOdzlZDPCcXg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + are-we-there-yet@3.0.1: + resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. - '@typescript-eslint/typescript-estree@5.8.0': - resolution: {integrity: sha512-srfeZ3URdEcUsSLbkOFqS7WoxOqn8JNil2NSLO9O+I2/Uyc85+UlfpEvQHIpj5dVts7KKOZnftoJD/Fdv0L7nQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - '@typescript-eslint/visitor-keys@5.8.0': - resolution: {integrity: sha512-+HDIGOEMnqbxdAHegxvnOqESUH6RWFRR2b8qxP1W9CZnnYh4Usz6MBL+2KMAgPk/P0o9c1HqnYtwzVH6GTIqug==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + aria-hidden@1.2.4: + resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==} + engines: {node: '>=10'} - '@vitejs/plugin-vue@2.3.1': - resolution: {integrity: sha512-YNzBt8+jt6bSwpt7LP890U1UcTOIZZxfpE5WOJ638PNxSEKOqAi0+FSKS0nVeukfdZ0Ai/H7AFd6k3hayfGZqQ==} - engines: {node: '>=12.0.0'} - peerDependencies: - vite: ^2.5.10 - vue: ^3.2.25 + array-ify@1.0.0: + resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} - '@volar/code-gen@0.30.6': - resolution: {integrity: sha512-odkXN91QCS/KRKPk4eUQp7jkN0PuYLwDuJZwGiDDJrZWUCCSdEvSj7e+Cjk7Q7doX0G9WAF88BL7ozcjzrtiKw==} + asap@2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} - '@volar/html2pug@0.30.6': - resolution: {integrity: sha512-mPRQCRa/Nse0bC1wxJ+K7q/Ou0Wg+220qL3nPI3mqwSn0KECOAPsZxaVHRFauY4MeBxO2sOzkOvFfQLk8whJ1g==} - deprecated: 'WARNING: This project has been renamed to @johnsoncodehk/html2pug. Install using @johnsoncodehk/html2pug instead.' + assert-plus@1.0.0: + resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} + engines: {node: '>=0.8'} - '@volar/shared@0.30.6': - resolution: {integrity: sha512-YJa7kl2HRkSZaETBPCVEm/ZVXPBpt1aAlCxNuj55GaCHhcabOVj2oCBZioJLiwAvSR0e6k6KjbJBcKTuKrP9bw==} + astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} - '@volar/source-map@0.30.6': - resolution: {integrity: sha512-B0KLi0StdM3KsMLA+iK5pdE+mokukio7r0EkOMUAYZN/xn/kGWkKIdleJjLtgmtH2tw4kBz/5hP+KKEOlD3Etg==} + async-exit-hook@2.0.1: + resolution: {integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==} + engines: {node: '>=0.12.0'} - '@volar/transforms@0.30.6': - resolution: {integrity: sha512-jbVBXOBOeKc6Rb7dzyiq5b+FfYsXFWGFLLDZok5U+JoFujxoPfn5HwX9A3t+RW/NRwQkZxrdiPmW8b69B5nMKQ==} + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} - '@volar/vue-code-gen@0.30.6': - resolution: {integrity: sha512-UGpbOuC5ZxT2GXvkq2IWUuca9IDJVaaywWparKW0SwPFOZaMM2ivHLOfQpiuPqDUKTZLGK3fQuBWuXSTl+GIbA==} + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - '@vscode/emmet-helper@2.8.4': - resolution: {integrity: sha512-lUki5QLS47bz/U8IlG9VQ+1lfxMtxMZENmU5nu4Z71eOD5j9FK0SmYGL5NiVJg9WBWeAU0VxRADMY2Qpq7BfVg==} + at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} - '@vue/cli-shared-utils@4.5.17': - resolution: {integrity: sha512-VoFNdxvTW4vZu3ne+j1Mf7mU99J2SAoRVn9XPrsouTUUJablglM8DASk7Ixhsh6ymyL/W9EADQFR6Pgj8Ujjuw==} + atomically@1.7.0: + resolution: {integrity: sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==} + engines: {node: '>=10.12.0'} - '@vue/cli-ui-addon-webpack@4.5.17': - resolution: {integrity: sha512-AZMnDzToM2uxW/73mfjJweea3atC5sxOC3Nel5UEFnQK0hWN0/8NW6nPAiKDc+kJpZWFb7Y6ReP2hwYizUJK2w==} + autoprefixer@10.4.20: + resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 - '@vue/cli-ui-addon-widgets@4.5.17': - resolution: {integrity: sha512-K49weNsBggUL54Etdqml0hR3PpNzQSXUxC0G52qGNuZwPPxpZfZSQIH8GQ4jBTS8ySXmQYDT99DyxKSedE7McQ==} + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - '@vue/cli-ui@4.5.17': - resolution: {integrity: sha512-x5o+RUNkPLO6wDNY5/Sec9ZuZExzARU8KkP2SwM2SWLirkjKgLVvyL4/snAIWwRLxsxXVuyZ8YJdqnWidixzCg==} - engines: {node: '>=8'} + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - '@vue/cli@4.5.17': - resolution: {integrity: sha512-73nK2o/o7Wk9myPySdjxpMzABLynGmnQbJ5wz3CJ9SFrss8Y2LwLAnzlO77mr3uA2nFPdTJbkbUcZlvBWCVSrA==} - engines: {node: '>=8.9'} - hasBin: true + better-sqlite3@11.8.1: + resolution: {integrity: sha512-9BxNaBkblMjhJW8sMRZxnxVTRgbRmssZW0Oxc1MPBTfiR+WW21e2Mk4qu8CzrcZb1LwPCnFsfDEzq+SNcBU8eg==} - '@vue/compiler-core@3.2.31': - resolution: {integrity: sha512-aKno00qoA4o+V/kR6i/pE+aP+esng5siNAVQ422TkBNM6qA4veXiZbSe8OTXHXquEi/f6Akc+nLfB4JGfe4/WQ==} + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} - '@vue/compiler-core@3.2.33': - resolution: {integrity: sha512-AAmr52ji3Zhk7IKIuigX2osWWsb2nQE5xsdFYjdnmtQ4gymmqXbjLvkSE174+fF3A3kstYrTgGkqgOEbsdLDpw==} + bindings@1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} - '@vue/compiler-dom@3.2.33': - resolution: {integrity: sha512-GhiG1C8X98Xz9QUX/RlA6/kgPBWJkjq0Rq6//5XTAGSYrTMBgcLpP9+CnlUg1TFxnnCVughAG+KZl28XJqw8uQ==} + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - '@vue/compiler-sfc@3.2.33': - resolution: {integrity: sha512-H8D0WqagCr295pQjUYyO8P3IejM3vEzeCO1apzByAEaAR/WimhMYczHfZVvlCE/9yBaEu/eu9RdiWr0kF8b71Q==} + bluebird-lst@1.0.9: + resolution: {integrity: sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==} - '@vue/compiler-ssr@3.2.33': - resolution: {integrity: sha512-XQh1Xdk3VquDpXsnoCd7JnMoWec9CfAzQDQsaMcSU79OrrO2PNR0ErlIjm/mGq3GmBfkQjzZACV+7GhfRB8xMQ==} + bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - '@vue/devtools-api@6.1.3': - resolution: {integrity: sha512-79InfO2xHv+WHIrH1bHXQUiQD/wMls9qBk6WVwGCbdwP7/3zINtvqPNMtmSHXsIKjvUAHc8L0ouOj6ZQQRmcXg==} + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - '@vue/devtools-api@6.1.4': - resolution: {integrity: sha512-IiA0SvDrJEgXvVxjNkHPFfDx6SXw0b/TUkqMcDZWNg9fnCAHbTpoo59YfJ9QLFkwa3raau5vSlRVzMSLDnfdtQ==} + boolean@3.2.0: + resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - '@vue/devtools@6.1.4': - resolution: {integrity: sha512-U+FIm818qym/U7ru7ZjZaqovWmA9LlSxnssfCVPSTfAf2uXC5U9XHhi+f8QMgPTfsDHcKAsszewaK7BRX01f1Q==} - hasBin: true + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - '@vue/eslint-config-standard@6.1.0': - resolution: {integrity: sha512-9+hrEyflDzsGdlBDl9jPV5DIYUx1TOU5OSQqRDKCrNumrxRj5HRWKuk+ocXWnha6uoNRtLC24mY7d/MwqvBCNw==} - peerDependencies: - '@vue/cli-service': ^3.0.0 || ^4.0.0 || ^5.0.0-0 - eslint: ^7.12.1 - eslint-plugin-import: ^2.22.1 - eslint-plugin-node: ^11.1.0 - eslint-plugin-promise: ^4.2.1 || ^5.0.0 - eslint-plugin-vue: ^7.0.0 - peerDependenciesMeta: - '@vue/cli-service': - optional: true + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - '@vue/reactivity-transform@3.2.33': - resolution: {integrity: sha512-4UL5KOIvSQb254aqenW4q34qMXbfZcmEsV/yVidLUgvwYQQ/D21bGX3DlgPUGI3c4C+iOnNmDCkIxkILoX/Pyw==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} - '@vue/reactivity@3.2.33': - resolution: {integrity: sha512-62Sq0mp9/0bLmDuxuLD5CIaMG2susFAGARLuZ/5jkU1FCf9EDbwUuF+BO8Ub3Rbodx0ziIecM/NsmyjardBxfQ==} + browserslist@4.24.4: + resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true - '@vue/runtime-core@3.2.33': - resolution: {integrity: sha512-N2D2vfaXsBPhzCV3JsXQa2NECjxP3eXgZlFqKh4tgakp3iX6LCGv76DLlc+IfFZq+TW10Y8QUfeihXOupJ1dGw==} + buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - '@vue/runtime-dom@3.2.33': - resolution: {integrity: sha512-LSrJ6W7CZTSUygX5s8aFkraDWlO6K4geOwA3quFF2O+hC3QuAMZt/0Xb7JKE3C4JD4pFwCSO7oCrZmZ0BIJUnw==} + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - '@vue/server-renderer@3.2.33': - resolution: {integrity: sha512-4jpJHRD4ORv8PlbYi+/MfP8ec1okz6rybe36MdpkDrGIdEItHEUyaHSKvz+ptNEyQpALmmVfRteHkU9F8vxOew==} - peerDependencies: - vue: 3.2.33 + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - '@vue/shared@3.2.31': - resolution: {integrity: sha512-ymN2pj6zEjiKJZbrf98UM2pfDd6F2H7ksKw7NDt/ZZ1fh5Ei39X5tABugtT03ZRlWd9imccoK0hE8hpjpU7irQ==} + builder-util-runtime@9.2.10: + resolution: {integrity: sha512-6p/gfG1RJSQeIbz8TK5aPNkoztgY1q5TgmGFMAXcY8itsGW6Y2ld1ALsZ5UJn8rog7hKF3zHx5iQbNQ8uLcRlw==} + engines: {node: '>=12.0.0'} - '@vue/shared@3.2.33': - resolution: {integrity: sha512-UBc1Pg1T3yZ97vsA2ueER0F6GbJebLHYlEi4ou1H5YL4KWvMOOWwpYo9/QpWq93wxKG6Wo13IY74Hcn/f7c7Bg==} + builder-util@25.1.7: + resolution: {integrity: sha512-7jPjzBwEGRbwNcep0gGNpLXG9P94VA3CPAZQCzxkFXiV2GMQKlziMbY//rXPI7WKfhsvGgFXjTcXdBEwgXw9ww==} - '@vueuse/core@8.3.1': - resolution: {integrity: sha512-WiXUgVyPG9elGx3G8UV8g+zqbEJ2hYacrPICogAxDdW6hnxxcUFdF7FtvDroJ/DxWmo2pg8XNNz07ybfnZyJbw==} - peerDependencies: - '@vue/composition-api': ^1.1.0 - vue: ^2.6.0 || ^3.2.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - vue: - optional: true + builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} - '@vueuse/metadata@8.3.1': - resolution: {integrity: sha512-1aZaFL44HzXXkfN6Q7KMDOXBFKTHDClHlOJBxtN8rTBXIIScoGOrJCpxWiQ4kuVg95MzG/pHrd3P4wd8poL9XQ==} + bumpp@9.11.1: + resolution: {integrity: sha512-jBHlab9NnRwrpHsockb5E+MBo0os2yS6S7i3cnN8hB6EkTardKQotmd0CFdOc8pubLz2fxj2AD6RGtrySVG6Mw==} + engines: {node: '>=10'} + hasBin: true - '@vueuse/shared@8.3.1': - resolution: {integrity: sha512-7HKLCcxp4dtONq6QSSoavblo9riYgqzw7jhqiC0/VUYMXKzqj1G/GznOzTmY8Wi8uKKT197JqjKQ1DKt2j/0+A==} + c12@2.0.1: + resolution: {integrity: sha512-Z4JgsKXHG37C6PYUtIxCfLJZvo6FyhHJoClwwb9ftUkLpPSkuYqn6Tr+vnaN8hymm0kIbcg6Ey3kv/Q71k5w/A==} peerDependencies: - '@vue/composition-api': ^1.1.0 - vue: ^2.6.0 || ^3.2.0 + magicast: ^0.3.5 peerDependenciesMeta: - '@vue/composition-api': + magicast: optional: true - vue: - optional: true - - '@webassemblyjs/ast@1.11.1': - resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} - - '@webassemblyjs/floating-point-hex-parser@1.11.1': - resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} - '@webassemblyjs/helper-api-error@1.11.1': - resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} - - '@webassemblyjs/helper-buffer@1.11.1': - resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} - - '@webassemblyjs/helper-numbers@1.11.1': - resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} - '@webassemblyjs/helper-wasm-bytecode@1.11.1': - resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} + cacache@16.1.3: + resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - '@webassemblyjs/helper-wasm-section@1.11.1': - resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} + cacheable-lookup@5.0.4: + resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} + engines: {node: '>=10.6.0'} - '@webassemblyjs/ieee754@1.11.1': - resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} + cacheable-request@7.0.4: + resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} + engines: {node: '>=8'} - '@webassemblyjs/leb128@1.11.1': - resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} - '@webassemblyjs/utf8@1.11.1': - resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} + caniuse-lite@1.0.30001698: + resolution: {integrity: sha512-xJ3km2oiG/MbNU8G6zIq6XRZ6HtAOVXsbOrP/blGazi52kc5Yy7b6sDA5O+FbROzRrV7BSTllLHuNvmawYUJjw==} - '@webassemblyjs/wasm-edit@1.11.1': - resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - '@webassemblyjs/wasm-gen@1.11.1': - resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} + chalk@3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} - '@webassemblyjs/wasm-opt@1.11.1': - resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} - '@webassemblyjs/wasm-parser@1.11.1': - resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} + chalk@5.4.1: + resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - '@webassemblyjs/wast-printer@1.11.1': - resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} + change-case@5.4.4: + resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==} - '@wry/equality@0.1.11': - resolution: {integrity: sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==} + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} - '@xml-tools/parser@1.0.11': - resolution: {integrity: sha512-aKqQ077XnR+oQtHJlrAflaZaL7qZsulWc/i/ZEooar5JiWj1eLt0+Wg28cpa+XLney107wXqneC+oG1IZvxkTA==} + cheerio-select@2.1.0: + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} - '@xtuc/ieee754@1.2.0': - resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + cheerio@1.0.0: + resolution: {integrity: sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==} + engines: {node: '>=18.17'} - '@xtuc/long@4.2.2': - resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + chevrotain-allstar@0.3.1: + resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==} + peerDependencies: + chevrotain: ^11.0.0 - JSONStream@1.3.5: - resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} - hasBin: true + chevrotain@11.0.3: + resolution: {integrity: sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==} - accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} - acorn-import-assertions@1.8.0: - resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} - peerDependencies: - acorn: ^8 + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} - acorn-jsx@5.3.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - acorn@7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} - engines: {node: '>=0.4.0'} - hasBin: true + chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} - acorn@8.7.0: - resolution: {integrity: sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==} - engines: {node: '>=0.4.0'} - hasBin: true + chroma-js@3.1.2: + resolution: {integrity: sha512-IJnETTalXbsLx1eKEgx19d5L6SRM7cH4vINw/99p/M11HCuXGRWL+6YmCm7FWFGIo6dtWuQoQi1dc5yQ7ESIHg==} - agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} + chromium-pickle-js@0.2.0: + resolution: {integrity: sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==} - aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - ajv-formats@2.1.1: - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - - 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==} + ci-info@4.1.0: + resolution: {integrity: sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==} + engines: {node: '>=8'} - ajv@8.8.2: - resolution: {integrity: sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==} + citty@0.1.6: + resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} - alphanum-sort@1.0.2: - resolution: {integrity: sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=} + class-variance-authority@0.7.1: + resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} - ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + clean-regexp@1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} - ansi-colors@4.1.1: - resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} - ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} - ansi-regex@4.1.1: - resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} + cli-cursor@5.0.0: + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} + engines: {node: '>=18'} + + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + cli-truncate@2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} 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'} + cli-truncate@4.0.0: + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} - ansi-styles@6.1.0: - resolution: {integrity: sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==} + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} - anymatch@3.1.2: - resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} - engines: {node: '>= 8'} + clone-response@1.0.3: + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} - apollo-cache-control@0.14.0: - resolution: {integrity: sha512-qN4BCq90egQrgNnTRMUHikLZZAprf3gbm8rC5Vwmc6ZdLolQ7bFsa769Hqi6Tq/lS31KLsXBLTOsRbfPHph12w==} - engines: {node: '>=6.0'} - deprecated: The functionality provided by the `apollo-cache-control` package is built in to `apollo-server-core` starting with Apollo Server 3. See https://www.apollographql.com/docs/apollo-server/migration/#cachecontrol for details. - peerDependencies: - graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} - apollo-datasource@0.9.0: - resolution: {integrity: sha512-y8H99NExU1Sk4TvcaUxTdzfq2SZo6uSj5dyh75XSQvbpH6gdAXIW9MaBcvlNC7n0cVPsidHmOcHOWxJ/pTXGjA==} + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} - apollo-graphql@0.9.6: - resolution: {integrity: sha512-CrqJxZwfu/U5x0bYYPPluwu1G+oC3jjKFK/EVn9CDcpi4+yD9rAYko/h1iUB5A6VRQhA4Boluc7QexMYQ2tCng==} - engines: {node: '>=6'} + codemirror-textmate@1.1.0: + resolution: {integrity: sha512-c7Xov3X5eIKiPrKjfCS8RPZyFx6EYXT1EPtTEl2jAD2HuD9uLqJF6z+KoPT8H51rOB+KamEOZDVUrI8YEnsphw==} peerDependencies: - graphql: ^14.2.1 || ^15.0.0 + codemirror: ^5.41.0 + onigasm: ^2.2.1 - apollo-link@1.2.14: - resolution: {integrity: sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg==} - peerDependencies: - graphql: ^0.11.3 || ^0.12.3 || ^0.13.0 || ^14.0.0 || ^15.0.0 + codemirror@5.65.18: + resolution: {integrity: sha512-Gaz4gHnkbHMGgahNt3CA5HBk5lLQBqmD/pBgeB4kQU6OedZmqMBjlRF0LSrp2tJ4wlLNPm2FfaUd1pDy0mdlpA==} - apollo-reporting-protobuf@0.8.0: - resolution: {integrity: sha512-B3XmnkH6Y458iV6OsA7AhfwvTgeZnFq9nPVjbxmLKnvfkEl8hYADtz724uPa0WeBiD7DSFcnLtqg9yGmCkBohg==} + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} - apollo-server-caching@0.7.0: - resolution: {integrity: sha512-MsVCuf/2FxuTFVhGLK13B+TZH9tBd2qkyoXKKILIiGcZ5CDUEBO14vIV63aNkMkS1xxvK2U4wBcuuNj/VH2Mkw==} - engines: {node: '>=6'} + color-name-list@11.22.0: + resolution: {integrity: sha512-kIAXZqpAZ61aepiCaDxIsM7iQM9hZgY3i9T5OAU0lsm2PSircn6nOJFOE3WdtN8qbd7UMPNFepzebvxwu20CPg==} + engines: {node: '>=20.11.0', npm: '>=10.2.0'} - apollo-server-core@2.25.3: - resolution: {integrity: sha512-Midow3uZoJ9TjFNeCNSiWElTVZlvmB7G7tG6PPoxIR9Px90/v16Q6EzunDIO0rTJHRC3+yCwZkwtf8w2AcP0sA==} - engines: {node: '>=6'} - peerDependencies: - graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - apollo-server-env@3.1.0: - resolution: {integrity: sha512-iGdZgEOAuVop3vb0F2J3+kaBVi4caMoxefHosxmgzAbbSpvWehB8Y1QiSyyMeouYC38XNVk5wnZl+jdGSsWsIQ==} - engines: {node: '>=6'} + color-support@1.1.3: + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + hasBin: true - apollo-server-errors@2.5.0: - resolution: {integrity: sha512-lO5oTjgiC3vlVg2RKr3RiXIIQ5pGXBFxYGGUkKDhTud3jMIhs+gel8L8zsEjKaKxkjHhCQAA/bcEfYiKkGQIvA==} - engines: {node: '>=6'} - peerDependencies: - graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - apollo-server-express@2.25.3: - resolution: {integrity: sha512-tTFYn0oKH2qqLwVj7Ez2+MiKleXACODiGh5IxsB7VuYCPMAi9Yl8iUSlwTjQUvgCWfReZjnf0vFL2k5YhDlrtQ==} - engines: {node: '>=6'} - peerDependencies: - graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} - apollo-server-plugin-base@0.13.0: - resolution: {integrity: sha512-L3TMmq2YE6BU6I4Tmgygmd0W55L+6XfD9137k+cWEBFu50vRY4Re+d+fL5WuPkk5xSPKd/PIaqzidu5V/zz8Kg==} - engines: {node: '>=6'} - peerDependencies: - graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + commander@13.1.0: + resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} + engines: {node: '>=18'} - apollo-server-types@0.9.0: - resolution: {integrity: sha512-qk9tg4Imwpk732JJHBkhW0jzfG0nFsLqK2DY6UhvJf7jLnRePYsPxWfPiNkxni27pLE2tiNlCwoDFSeWqpZyBg==} - engines: {node: '>=6'} - peerDependencies: - graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + commander@5.1.0: + resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + engines: {node: '>= 6'} - apollo-tracing@0.15.0: - resolution: {integrity: sha512-UP0fztFvaZPHDhIB/J+qGuy6hWO4If069MGC98qVs0I8FICIGu4/8ykpX3X3K6RtaQ56EDAWKykCxFv4ScxMeA==} - engines: {node: '>=4.0'} - deprecated: The `apollo-tracing` package is no longer part of Apollo Server 3. See https://www.apollographql.com/docs/apollo-server/migration/#tracing for details - peerDependencies: - graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} - apollo-utilities@1.3.4: - resolution: {integrity: sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig==} - peerDependencies: - graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} - app-builder-bin@4.0.0: - resolution: {integrity: sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA==} + comment-parser@1.4.1: + resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} + engines: {node: '>= 12.0.0'} - app-builder-lib@23.1.0: - resolution: {integrity: sha512-aZpKjBBLzyxtr4Cmbyi3dl8uRO8SI2PG2MYEKYRZL6pl7IsKP2hJkCYzlD6NjLJlRIAZcFPFjFbJliO74DFf7w==} - engines: {node: '>=14.0.0'} + compare-func@2.0.0: + resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} - archive-type@4.0.0: - resolution: {integrity: sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=} - engines: {node: '>=4'} + compare-version@0.1.2: + resolution: {integrity: sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==} + engines: {node: '>=0.10.0'} - arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + compress-commons@4.1.2: + resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==} + engines: {node: '>= 10'} - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + concurrently@9.1.2: + resolution: {integrity: sha512-H9MWcoPsYddwbOGM6difjVwVZHl63nwMEwDJG/L7VGtuaJhb12h2caPG2tVPWs7emuYix252iGfqOyrz1GczTQ==} + engines: {node: '>=18'} + hasBin: true - arr-diff@4.0.0: - resolution: {integrity: sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=} - engines: {node: '>=0.10.0'} + conf@10.2.0: + resolution: {integrity: sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==} + engines: {node: '>=12'} - arr-flatten@1.1.0: - resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} - engines: {node: '>=0.10.0'} + confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} - arr-union@3.1.0: - resolution: {integrity: sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=} - engines: {node: '>=0.10.0'} + config-file-ts@0.2.8-rc1: + resolution: {integrity: sha512-GtNECbVI82bT4RiDIzBSVuTKoSHufnU7Ce7/42bkWZJZFLjmDF2WBpVsvRkhKCfKBnTBb3qZrBwPpFBU/Myvhg==} - array-back@3.1.0: - resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==} - engines: {node: '>=6'} + consola@3.4.0: + resolution: {integrity: sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==} + engines: {node: ^14.18.0 || >=16.10.0} - array-find@1.0.0: - resolution: {integrity: sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=} + console-control-strings@1.1.0: + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} - array-flatten@1.1.1: - resolution: {integrity: sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=} + conventional-changelog-angular@7.0.0: + resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} + engines: {node: '>=16'} - array-ify@1.0.0: - resolution: {integrity: sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=} + conventional-changelog-conventionalcommits@7.0.2: + resolution: {integrity: sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==} + engines: {node: '>=16'} - array-includes@3.1.4: - resolution: {integrity: sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==} - engines: {node: '>= 0.4'} + conventional-commits-parser@5.0.0: + resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==} + engines: {node: '>=16'} + hasBin: true - array-union@1.0.2: - resolution: {integrity: sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=} - engines: {node: '>=0.10.0'} + cookie@1.0.2: + resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==} + engines: {node: '>=18'} - array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} + core-js-compat@3.40.0: + resolution: {integrity: sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ==} - array-uniq@1.0.3: - resolution: {integrity: sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=} - engines: {node: '>=0.10.0'} + core-util-is@1.0.2: + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - array-unique@0.3.2: - resolution: {integrity: sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=} - engines: {node: '>=0.10.0'} + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - array.prototype.flat@1.2.5: - resolution: {integrity: sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==} - engines: {node: '>= 0.4'} + cose-base@1.0.3: + resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} - arrify@1.0.1: - resolution: {integrity: sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=} - engines: {node: '>=0.10.0'} + cose-base@2.2.0: + resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} - arrify@2.0.1: - resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} - engines: {node: '>=8'} + cosmiconfig-typescript-loader@6.1.0: + resolution: {integrity: sha512-tJ1w35ZRUiM5FeTzT7DtYWAFFv37ZLqSRkGi2oeCK1gPhvaWjkAtfXvLmvE1pRfxxp9aQo6ba/Pvg1dKj05D4g==} + engines: {node: '>=v18'} + peerDependencies: + '@types/node': '*' + cosmiconfig: '>=9' + typescript: '>=5' - asap@2.0.6: - resolution: {integrity: sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=} + cosmiconfig@9.0.0: + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true - asar@3.1.0: - resolution: {integrity: sha512-vyxPxP5arcAqN4F/ebHd/HhwnAiZtwhglvdmc7BR2f0ywbVNTOpSeyhLDbGXtE/y58hv1oC75TaNIXutnsOZsQ==} - engines: {node: '>=10.12.0'} + crc-32@1.2.2: + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} hasBin: true - asn1@0.2.6: - resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + crc32-stream@4.0.3: + resolution: {integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==} + engines: {node: '>= 10'} - assert-never@1.2.1: - resolution: {integrity: sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==} + crc@3.8.0: + resolution: {integrity: sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==} - assert-plus@1.0.0: - resolution: {integrity: sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=} - engines: {node: '>=0.8'} + cross-env@7.0.3: + resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} + engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + hasBin: true - assign-symbols@1.0.0: - resolution: {integrity: sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=} - engines: {node: '>=0.10.0'} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} - ast-types@0.12.1: - resolution: {integrity: sha512-H2izJAyT2xwew4TxShpmxe6f9R5hHgJQy1QloLiUC2yrJMtyraBWNJL7903rpeCY9keNUipORR/zIUC2XcYKng==} - engines: {node: '>=4'} + crypto-js@4.2.0: + resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} - ast-types@0.13.3: - resolution: {integrity: sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA==} - engines: {node: '>=4'} + css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} - ast-types@0.14.2: - resolution: {integrity: sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==} + 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 - astral-regex@2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - async-exit-hook@2.0.1: - resolution: {integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==} - engines: {node: '>=0.12.0'} + cytoscape-cose-bilkent@4.1.0: + resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} + peerDependencies: + cytoscape: ^3.2.0 - async-retry@1.3.3: - resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} + cytoscape-fcose@2.2.0: + resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} + peerDependencies: + cytoscape: ^3.2.0 - async@1.5.2: - resolution: {integrity: sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=} + cytoscape@3.31.2: + resolution: {integrity: sha512-/eOXg2uGdMdpGlEes5Sf6zE+jUG+05f3htFNQIxLxduOH/SsaUZiPBfAwP1btVIVzsnhiNOdi+hvDRLYfMZjGw==} + engines: {node: '>=0.10'} - async@2.6.3: - resolution: {integrity: sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==} + d3-array@2.12.1: + resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} - async@2.6.4: - resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} + d3-array@3.2.4: + resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} + engines: {node: '>=12'} - async@3.2.4: - resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + d3-axis@3.0.0: + resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} + engines: {node: '>=12'} - asynckit@0.4.0: - resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=} + d3-brush@3.0.0: + resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} + engines: {node: '>=12'} - at-least-node@1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} + d3-chord@3.0.1: + resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} + engines: {node: '>=12'} - atob@2.1.2: - resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} - engines: {node: '>= 4.5.0'} - hasBin: true + d3-color@3.1.0: + resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} + engines: {node: '>=12'} - atomically@1.7.0: - resolution: {integrity: sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==} - engines: {node: '>=10.12.0'} + d3-contour@4.0.2: + resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} + engines: {node: '>=12'} - autolinker@3.16.2: - resolution: {integrity: sha512-JiYl7j2Z19F9NdTmirENSUUIIL/9MytEWtmzhfmsKPCp9E+G35Y0UNCMoM9tFigxT59qSc8Ml2dlZXOCVTYwuA==} + d3-delaunay@6.0.4: + resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} + engines: {node: '>=12'} - aws-sign2@0.7.0: - resolution: {integrity: sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=} + d3-dispatch@3.0.1: + resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} + engines: {node: '>=12'} - aws4@1.11.0: - resolution: {integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==} + d3-drag@3.0.0: + resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} + engines: {node: '>=12'} - axios@0.21.4: - resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} + d3-dsv@3.0.1: + resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} + engines: {node: '>=12'} + hasBin: true - axios@0.26.1: - resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==} + d3-ease@3.0.1: + resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} + engines: {node: '>=12'} - babel-core@7.0.0-bridge.0: - resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} - peerDependencies: - '@babel/core': ^7.0.0-0 + d3-fetch@3.0.1: + resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} + engines: {node: '>=12'} - babel-plugin-dynamic-import-node@2.3.3: - resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} + d3-force@3.0.0: + resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} + engines: {node: '>=12'} - babel-plugin-polyfill-corejs2@0.3.0: - resolution: {integrity: sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA==} - peerDependencies: - '@babel/core': ^7.0.0-0 + d3-format@3.1.0: + resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} + engines: {node: '>=12'} - babel-plugin-polyfill-corejs3@0.4.0: - resolution: {integrity: sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw==} - peerDependencies: - '@babel/core': ^7.0.0-0 + d3-geo@3.1.1: + resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} + engines: {node: '>=12'} - babel-plugin-polyfill-regenerator@0.3.0: - resolution: {integrity: sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg==} - peerDependencies: - '@babel/core': ^7.0.0-0 + d3-hierarchy@3.1.2: + resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} + engines: {node: '>=12'} - babel-walk@3.0.0-canary-5: - resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==} - engines: {node: '>= 10.0.0'} + d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} - backo2@1.0.2: - resolution: {integrity: sha1-MasayLEpNjRj41s+u2n038+6eUc=} + d3-path@1.0.9: + resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + d3-path@3.1.0: + resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} + engines: {node: '>=12'} - base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + d3-polygon@3.0.1: + resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} + engines: {node: '>=12'} - base64id@2.0.0: - resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} - engines: {node: ^4.5.0 || >= 5.9} + d3-quadtree@3.0.1: + resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} + engines: {node: '>=12'} - base@0.11.2: - resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} - engines: {node: '>=0.10.0'} + d3-random@3.0.1: + resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} + engines: {node: '>=12'} - basic-auth@2.0.1: - resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} - engines: {node: '>= 0.8'} + d3-sankey@0.12.3: + resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} - bcrypt-pbkdf@1.0.2: - resolution: {integrity: sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=} + d3-scale-chromatic@3.1.0: + resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} + engines: {node: '>=12'} - big-integer@1.6.51: - resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} - engines: {node: '>=0.6'} + d3-scale@4.0.2: + resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} + engines: {node: '>=12'} - binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} + d3-selection@3.0.0: + resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} + engines: {node: '>=12'} - binary@0.3.0: - resolution: {integrity: sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=} + d3-shape@1.3.7: + resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} - bl@1.2.3: - resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} + d3-shape@3.2.0: + resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} + engines: {node: '>=12'} - bluebird-lst@1.0.9: - resolution: {integrity: sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==} + d3-time-format@4.1.0: + resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} + engines: {node: '>=12'} - bluebird@3.4.7: - resolution: {integrity: sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=} + d3-time@3.1.0: + resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} + engines: {node: '>=12'} - bluebird@3.7.2: - resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + d3-timer@3.0.1: + resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} + engines: {node: '>=12'} - body-parser@1.19.1: - resolution: {integrity: sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==} - engines: {node: '>= 0.8'} + d3-transition@3.0.1: + resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} + engines: {node: '>=12'} + peerDependencies: + d3-selection: 2 - 3 - body-parser@1.20.0: - resolution: {integrity: sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + d3-zoom@3.0.0: + resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} + engines: {node: '>=12'} - boolbase@1.0.0: - resolution: {integrity: sha1-aN/1++YMUes3cl6p4+0xDcwed24=} + d3@7.9.0: + resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} + engines: {node: '>=12'} - boolean@3.1.4: - resolution: {integrity: sha512-3hx0kwU3uzG6ReQ3pnaFQPSktpBw6RHN3/ivDKEuU8g1XSfafowyvDnadjv1xp8IZqhtSukxlwv9bF6FhX8m0w==} + dagre-d3-es@7.0.11: + resolution: {integrity: sha512-tvlJLyQf834SylNKax8Wkzco/1ias1OPw8DcUMDE7oUIoSEW25riQVuiu/0OWEFqT0cxHT3Pa9/D82Jr47IONw==} - boxen@4.2.0: - resolution: {integrity: sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==} - engines: {node: '>=8'} + dargs@8.1.0: + resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==} + engines: {node: '>=12'} - boxen@5.1.2: - resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} + date-fns@4.1.0: + resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==} + + dayjs@1.11.13: + resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} + + debounce-fn@4.0.0: + resolution: {integrity: sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==} engines: {node: '>=10'} - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true - braces@2.3.2: - resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} - engines: {node: '>=0.10.0'} + decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} - browserslist@4.20.2: - resolution: {integrity: sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} - buffer-alloc-unsafe@1.1.0: - resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - buffer-alloc@1.2.0: - resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} - buffer-crc32@0.2.13: - resolution: {integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=} + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - buffer-equal@1.0.0: - resolution: {integrity: sha1-WWFrSYME1Var1GaWayLu2j7KX74=} - engines: {node: '>=0.4.0'} + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} - buffer-fill@1.0.0: - resolution: {integrity: sha1-+PeLdniYiO858gXNY39o5wISKyw=} + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} - buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} - buffer-indexof-polyfill@1.0.2: - resolution: {integrity: sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==} - engines: {node: '>=0.10'} + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + delaunator@5.0.1: + resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} - buffers@0.1.1: - resolution: {integrity: sha1-skV5w77U1tOWru5tmorn9Ugqt7s=} - engines: {node: '>=0.2.0'} + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} - builder-util-runtime@9.0.2: - resolution: {integrity: sha512-xF55W/8mgfT6+sMbX0TeiJkTusA5GMOzckM4rajN4KirFcUIuLTH8oEaTYmM86YwVCZaTwa/7GyFhauXaEICwA==} - engines: {node: '>=12.0.0'} + delegates@1.0.0: + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - builder-util@23.0.9: - resolution: {integrity: sha512-ccPFwI1Sex4yLt8R3LI+H07p2jHICKwEWtxkFkb6jiU/g/VJnF1wazW7I1oMcCFcPTEl30GhqoRv9rfDD9VAiQ==} + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} - builtins@1.0.3: - resolution: {integrity: sha1-y5T662HIaWRR2zZTThQi+U8K7og=} + destr@2.0.3: + resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} - bumpp@7.1.1: - resolution: {integrity: sha512-pAGjraw9T4I4dnkiQHrKUVQb55dOM5Nj72SVtVlkjFjWjFtg0aSgipQuxDWZ0cqm8WoqtaiBPk+7jHfnZxr7lA==} - engines: {node: '>=10'} + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} hasBin: true - busboy@0.3.1: - resolution: {integrity: sha512-y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==} - engines: {node: '>=4.5.0'} + detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} - bytes@3.0.0: - resolution: {integrity: sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=} - engines: {node: '>= 0.8'} + detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} - bytes@3.1.1: - resolution: {integrity: sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==} - engines: {node: '>= 0.8'} + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} + dezalgo@1.0.4: + resolution: {integrity: sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==} - cache-base@1.0.1: - resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} - engines: {node: '>=0.10.0'} + dir-compare@4.2.0: + resolution: {integrity: sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==} - cacheable-request@2.1.4: - resolution: {integrity: sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=} + dmg-builder@25.1.8: + resolution: {integrity: sha512-NoXo6Liy2heSklTI5OIZbCgXC1RzrDQsZkeEwXhdOro3FT1VBOvbubvscdPnjVuQ4AMwwv61oaH96AbiYg9EnQ==} - cacheable-request@6.1.0: - resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} + dmg-license@1.0.11: + resolution: {integrity: sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==} engines: {node: '>=8'} + os: [darwin] + hasBin: true - call-bind@1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} - call-me-maybe@1.0.1: - resolution: {integrity: sha1-JtII6onje1y95gJQoV8DHBak1ms=} + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - caller-callsite@2.0.0: - resolution: {integrity: sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=} - engines: {node: '>=4'} + dom-to-image@2.6.0: + resolution: {integrity: sha512-Dt0QdaHmLpjURjU7Tnu3AgYSF2LuOmksSGsUcE6ItvJoCWTBEmiMXcqBdNSAm9+QbbwD7JMoVsuuKX6ZVQv1qA==} - caller-path@2.0.0: - resolution: {integrity: sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=} - engines: {node: '>=4'} + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - callsites@2.0.0: - resolution: {integrity: sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=} - engines: {node: '>=4'} + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} + dompurify@3.2.5: + resolution: {integrity: sha512-mLPd29uoRe9HpvwP2TxClGQBzGXeEC/we/q+bFlmPPmj2p2Ugl3r6ATu/UU1v77DXNcehiBg9zsr1dREyA/dJQ==} - camelcase-keys@6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} - engines: {node: '>=8'} + domutils@3.2.2: + resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} - camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} + dot-prop@5.3.0: + resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} + engines: {node: '>=8'} - camelcase@6.2.1: - resolution: {integrity: sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==} + dot-prop@6.0.1: + resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} engines: {node: '>=10'} - caniuse-api@3.0.0: - resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - - caniuse-lite@1.0.30001327: - resolution: {integrity: sha512-1/Cg4jlD9qjZzhbzkzEaAC2JHsP0WrOc8Rd/3a3LuajGzGWR/hD7TVyvq99VqmTy99eVh8Zkmdq213OgvgXx7w==} + dotenv-expand@11.0.7: + resolution: {integrity: sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==} + engines: {node: '>=12'} - caseless@0.12.0: - resolution: {integrity: sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=} + dotenv@16.4.7: + resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} + engines: {node: '>=12'} - caw@2.0.1: - resolution: {integrity: sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==} - engines: {node: '>=4'} + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - chainsaw@0.1.0: - resolution: {integrity: sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=} + ejs@3.1.10: + resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} + engines: {node: '>=0.10.0'} + hasBin: true - chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} + electron-builder-squirrel-windows@25.1.8: + resolution: {integrity: sha512-2ntkJ+9+0GFP6nAISiMabKt6eqBB0kX1QqHNWFWAXgi0VULKGisM46luRFpIBiU3u/TDmhZMM8tzvo2Abn3ayg==} - chalk@3.0.0: - resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} - engines: {node: '>=8'} + electron-builder@25.1.8: + resolution: {integrity: sha512-poRgAtUHHOnlzZnc9PK4nzG53xh74wj2Jy7jkTrqZ0MWPoHGh1M2+C//hGeYdA+4K8w4yiVCNYoLXF7ySj2Wig==} + engines: {node: '>=14.0.0'} + hasBin: true - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} + electron-publish@25.1.7: + resolution: {integrity: sha512-+jbTkR9m39eDBMP4gfbqglDd6UvBC7RLh5Y0MhFSsc6UkGHj9Vj9TWobxevHYMMqmoujL11ZLjfPpMX+Pt6YEg==} - character-parser@2.2.0: - resolution: {integrity: sha1-x84o821LzZdE5f/CxfzeHHMmH8A=} + electron-store@8.2.0: + resolution: {integrity: sha512-ukLL5Bevdil6oieAOXz3CMy+OgaItMiVBg701MNlG6W5RaC0AHN7rvlqTCmeb6O7jP0Qa1KKYTE0xV0xbhF4Hw==} - chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + electron-to-chromium@1.5.95: + resolution: {integrity: sha512-XNsZaQrgQX+BG37BRQv+E+HcOZlWhqYaDoVVNCws/WrYYdbGrkR1qCDJ2mviBF3flCs6/BTa4O7ANfFTFZk6Dg==} - cheerio-select@1.5.0: - resolution: {integrity: sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==} + electron@34.1.1: + resolution: {integrity: sha512-1aDYk9Gsv1/fFeClMrxWGoVMl7uCUgl1pe26BiTnLXmAoqEXCa3f3sCKFWV+cuDzUjQGAZcpkWhGYTgWUSQrLA==} + engines: {node: '>= 12.20.55'} + hasBin: true - cheerio@1.0.0-rc.10: - resolution: {integrity: sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==} - engines: {node: '>= 6'} + electronmon@2.0.3: + resolution: {integrity: sha512-vpsNupi9sCzOCvx8GACbSHKEImkNF2a6pU5Io2yabARbJeQ/8ZuY7t/43LilF6Qw0nZ0MbKQt4sO3x0F3drpQQ==} + engines: {node: '>=10.0.0'} + hasBin: true - chevrotain@4.1.1: - resolution: {integrity: sha512-NQky1HQyiAzxsxpq4Ppt47SYO2U3JLtmfs85QPf3kYSzGBjjp5AA8kqjH8hCjGFRpaQ781QOk1ragQIOkBgUTA==} + elysia@1.2.15: + resolution: {integrity: sha512-/oUSNb83jIWAGi6uSmbQ7Uy0RSJ9NimbVToSLnYS8jjsGId3zgdHqprsdf4rIMInOmEM8skjsFhZ4x8C5AB6+w==} + peerDependencies: + '@sinclair/typebox': '>= 0.34.0' + openapi-types: '>= 12.0.0' + typescript: '>= 5.0.0' + peerDependenciesMeta: + openapi-types: + optional: true + typescript: + optional: true - chevrotain@6.5.0: - resolution: {integrity: sha512-BwqQ/AgmKJ8jcMEjaSnfMybnKMgGTrtDKowfTP3pX4jwVy0kNjRsT/AP6h+wC3+3NC+X8X15VWBnTCQlX+wQFg==} + emoji-regex@10.4.0: + resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} - chevrotain@7.1.1: - resolution: {integrity: sha512-wy3mC1x4ye+O+QkEinVJkPf5u2vsrDIYW9G7ZuwFl6v/Yu0LwUuT2POsb+NUWApebyxfkQq6+yDfRExbnI5rcw==} + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - chownr@2.0.0: - resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} - engines: {node: '>=10'} + encoding-sniffer@0.2.0: + resolution: {integrity: sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==} - chrome-trace-event@1.0.3: - resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} - engines: {node: '>=6.0'} + encoding@0.1.13: + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} - chromium-pickle-js@0.2.0: - resolution: {integrity: sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==} + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - ci-info@2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + enhanced-resolve@5.18.1: + resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} + engines: {node: '>=10.13.0'} - ci-info@3.3.2: - resolution: {integrity: sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==} + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} - class-utils@0.3.6: - resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} - engines: {node: '>=0.10.0'} - - clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} - cli-boxes@2.2.1: - resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} - engines: {node: '>=6'} + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} - cli-cursor@2.1.0: - resolution: {integrity: sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=} - engines: {node: '>=4'} + err-code@2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} - cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - cli-spinners@2.6.1: - resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==} - engines: {node: '>=6'} + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} - cli-truncate@2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} - cli-truncate@3.1.0: - resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + es-module-lexer@1.6.0: + resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} - cli-width@3.0.0: - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} - engines: {node: '>= 10'} + es6-error@4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} - cliui@7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + esbuild@0.24.2: + resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} + engines: {node: '>=18'} + hasBin: true - clone-deep@4.0.1: - resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} - clone-response@1.0.2: - resolution: {integrity: sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=} - - clone@1.0.4: - resolution: {integrity: sha1-2jCcwmPfFZlMaIypAheco8fNfH4=} - engines: {node: '>=0.8'} + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} - clone@2.1.2: - resolution: {integrity: sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=} - engines: {node: '>=0.8'} + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} - cmd-shim@3.0.3: - resolution: {integrity: sha512-DtGg+0xiFhQIntSBRzL2fRQBnmtAVwXIDo4Qq46HPpObYquxMaZS4sb82U9nH91qJrlosC1wa9gwr0QyL/HypA==} + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} - coa@2.0.2: - resolution: {integrity: sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==} - engines: {node: '>= 4.0'} + eslint-compat-utils@0.5.1: + resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' - codemirror-textmate@1.1.0: - resolution: {integrity: sha512-c7Xov3X5eIKiPrKjfCS8RPZyFx6EYXT1EPtTEl2jAD2HuD9uLqJF6z+KoPT8H51rOB+KamEOZDVUrI8YEnsphw==} + eslint-compat-utils@0.6.4: + resolution: {integrity: sha512-/u+GQt8NMfXO8w17QendT4gvO5acfxQsAKirAt0LVxDnr2N8YLCVbregaNc/Yhp7NM128DwCaRvr8PLDfeNkQw==} + engines: {node: '>=12'} peerDependencies: - codemirror: ^5.41.0 - onigasm: ^2.2.1 + eslint: '>=6.0.0' - codemirror@5.65.7: - resolution: {integrity: sha512-zb67cXzgugIQmb6tfD4G11ILjYoMfTjwcjn+cWsa4GewlI2adhR/h3kolkoCQTm1msD/1BuqVTKuO09ELsS++A==} + eslint-config-flat-gitignore@1.0.1: + resolution: {integrity: sha512-wjBmJ8TAb67G2or/gBp/H62uCIkDCjpCmlGPSG41/7QagUjMgh+iegVB3gY8eNYhTAmecjKtclT4wGAjHz5yWA==} + peerDependencies: + eslint: ^9.5.0 - collection-visit@1.0.0: - resolution: {integrity: sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=} - engines: {node: '>=0.10.0'} + eslint-flat-config-utils@1.1.0: + resolution: {integrity: sha512-W49wz7yQJGRfg4QSV3nwdO/fYcWetiSKhLV5YykfQMcqnIATNpoS7EPdINhLB9P3fmdjNmFtOgZjiKnCndWAnw==} - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + eslint-json-compat-utils@0.2.1: + resolution: {integrity: sha512-YzEodbDyW8DX8bImKhAcCeu/L31Dd/70Bidx2Qex9OFUtgzXLqtfWL4Hr5fM/aCCB8QUZLuJur0S9k6UfgFkfg==} + engines: {node: '>=12'} + peerDependencies: + '@eslint/json': '*' + eslint: '*' + jsonc-eslint-parser: ^2.4.0 + peerDependenciesMeta: + '@eslint/json': + optional: true - color-name@1.1.3: - resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} + eslint-merge-processors@1.0.0: + resolution: {integrity: sha512-4GybyHmhXtT7/W8RAouQzNM0791sYasJCTYHIAYjuiJvbNFY0jMKkoESREhX+mjX37dxiN6v4EqhZ1nc0tJF7A==} + peerDependencies: + eslint: '*' - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + eslint-plugin-antfu@2.7.0: + resolution: {integrity: sha512-gZM3jq3ouqaoHmUNszb1Zo2Ux7RckSvkGksjLWz9ipBYGSv1EwwBETN6AdiUXn+RpVHXTbEMPAPlXJazcA6+iA==} + peerDependencies: + eslint: '*' - color-string@1.9.0: - resolution: {integrity: sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==} + eslint-plugin-command@2.1.0: + resolution: {integrity: sha512-S3gvDSCRHLdRG7NYaevLvGA0g/txOju7NEB2di7SE80NtbCwsvpi/fft045YuTZpOzqCRUfuye39raldmpXXYQ==} + peerDependencies: + eslint: '*' - color@3.2.1: - resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} + eslint-plugin-es-x@7.8.0: + resolution: {integrity: sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '>=8' - colorette@2.0.16: - resolution: {integrity: sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==} + eslint-plugin-import-x@4.6.1: + resolution: {integrity: sha512-wluSUifMIb7UfwWXqx7Yx0lE/SGCcGXECLx/9bCmbY2nneLwvAZ4vkd1IXDjPKFvdcdUgr1BaRnaRpx3k2+Pfw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 - colors@1.0.3: - resolution: {integrity: sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=} - engines: {node: '>=0.1.90'} + eslint-plugin-jsdoc@50.6.3: + resolution: {integrity: sha512-NxbJyt1M5zffPcYZ8Nb53/8nnbIScmiLAMdoe0/FAszwb7lcSiX3iYBTsuF7RV84dZZJC8r3NghomrUXsmWvxQ==} + engines: {node: '>=18'} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - colors@1.1.2: - resolution: {integrity: sha1-FopHAXVran9RoSzgyXv6KMCE7WM=} - engines: {node: '>=0.1.90'} + eslint-plugin-jsonc@2.19.1: + resolution: {integrity: sha512-MmlAOaZK1+Lg7YoCZPGRjb88ZjT+ct/KTsvcsbZdBm+w8WMzGx+XEmexk0m40P1WV9G2rFV7X3klyRGRpFXEjA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' - colors@1.4.0: - resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} - engines: {node: '>=0.1.90'} + eslint-plugin-n@17.15.1: + resolution: {integrity: sha512-KFw7x02hZZkBdbZEFQduRGH4VkIH4MW97ClsbAM4Y4E6KguBJWGfWG1P4HEIpZk2bkoWf0bojpnjNAhYQP8beA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: '>=8.23.0' - combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} + eslint-plugin-no-only-tests@3.3.0: + resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==} + engines: {node: '>=5.0.0'} - command-line-args@5.2.0: - resolution: {integrity: sha512-4zqtU1hYsSJzcJBOcNZIbW5Fbk9BkjCp1pZVhQKoRaWL5J7N4XphDLwo8aWwdQpTugxwu+jf9u2ZhkXiqp5Z6A==} - engines: {node: '>=4.0.0'} + eslint-plugin-perfectionist@4.8.0: + resolution: {integrity: sha512-ZF04IAPGItYMlj9xjgvvl/QpksZf79g0dkxbNcuxDjbcUSZ4CwucJ7h5Yzt5JuHe+i6igQbUYEp40j4ndfbvWQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + eslint: '>=8.0.0' - commander@1.0.0: - resolution: {integrity: sha1-XmqI5wcP9ZCINurRkWlUjDD5C80=} - engines: {node: '>= 0.4.x'} + eslint-plugin-regexp@2.7.0: + resolution: {integrity: sha512-U8oZI77SBtH8U3ulZ05iu0qEzIizyEDXd+BWHvyVxTOjGwcDcvy/kEpgFG4DYca2ByRLiVPFZ2GeH7j1pdvZTA==} + engines: {node: ^18 || >=20} + peerDependencies: + eslint: '>=8.44.0' - commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + eslint-plugin-toml@0.12.0: + resolution: {integrity: sha512-+/wVObA9DVhwZB1nG83D2OAQRrcQZXy+drqUnFJKymqnmbnbfg/UPmEMCKrJNcEboUGxUjYrJlgy+/Y930mURQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' - commander@2.9.0: - resolution: {integrity: sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A==} - engines: {node: '>= 0.6.x'} + eslint-plugin-unicorn@56.0.1: + resolution: {integrity: sha512-FwVV0Uwf8XPfVnKSGpMg7NtlZh0G0gBarCaFcMUOoqPxXryxdYxTRRv4kH6B9TFCVIrjRXG+emcxIk2ayZilog==} + engines: {node: '>=18.18'} + peerDependencies: + eslint: '>=8.56.0' - commander@3.0.2: - resolution: {integrity: sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==} + eslint-plugin-unused-imports@4.1.4: + resolution: {integrity: sha512-YptD6IzQjDardkl0POxnnRBhU1OEePMV0nd6siHaRBbd+lyh6NAhFEobiznKU7kTsSsDeSD62Pe7kAM1b7dAZQ==} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0 + eslint: ^9.0.0 || ^8.0.0 + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true - commander@5.1.0: - resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} - engines: {node: '>= 6'} + eslint-plugin-vue@9.32.0: + resolution: {integrity: sha512-b/Y05HYmnB/32wqVcjxjHZzNpwxj1onBOvqW89W+V+XNG1dRuaFbNd3vT9CLbr2LXjEoq+3vn8DanWf7XU22Ug==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 - commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} + eslint-plugin-yml@1.16.0: + resolution: {integrity: sha512-t4MNCetPjTn18/fUDlQ/wKkcYjnuLYKChBrZ0qUaNqRigVqChHWzTP8SrfFi5s4keX3vdlkWRSu8zHJMdKwxWQ==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' - commander@8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} + eslint-processor-vue-blocks@1.0.0: + resolution: {integrity: sha512-q+Wn9bCml65NwYtuINVCE5dUqZa/uVoY4jfc8qEDwWbcGqdRyfJJmAONNZsreA4Q9EJqjYGjk8Hk1QuwAktgkw==} + peerDependencies: + '@vue/compiler-sfc': ^3.3.0 + eslint: ^8.50.0 || ^9.0.0 - commondir@1.0.1: - resolution: {integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=} + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - compare-func@2.0.0: - resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} + eslint-scope@8.2.0: + resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - compare-version@0.1.2: - resolution: {integrity: sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==} - engines: {node: '>=0.10.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} - component-emitter@1.3.0: - resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} + eslint-visitor-keys@4.2.0: + resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - compressible@2.0.18: - resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} - engines: {node: '>= 0.6'} + eslint@9.19.0: + resolution: {integrity: sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true - compression@1.7.4: - resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} - engines: {node: '>= 0.8.0'} + espree@10.3.0: + resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - concat-map@0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - concat-stream@1.6.2: - resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} - engines: {'0': node >= 0.8} + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} - conf@10.1.1: - resolution: {integrity: sha512-z2civwq/k8TMYtcn3SVP0Peso4otIWnHtcTuHhQ0zDZDdP4NTxqEc8owfkz4zBsdMYdn/LFcE+ZhbCeqkhtq3Q==} - engines: {node: '>=12'} + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} - config-chain@1.1.13: - resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} - configstore@5.0.1: - resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} - engines: {node: '>=8'} + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - connect-pause@0.1.1: - resolution: {integrity: sha1-smmyu4Ldsaw9tQmcD7WCq6mfs3o=} + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - constantinople@4.0.1: - resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} - content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} - content-type@1.0.4: - resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} - engines: {node: '>= 0.6'} + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} - conventional-changelog-angular@5.0.13: - resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==} - engines: {node: '>=10'} + expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} - conventional-changelog-conventionalcommits@4.6.2: - resolution: {integrity: sha512-fo+VhM0VtD3wdHZtrPhgvTFjAhAMUjYeQV6B5+DB/cupG1O554pJdTwrvBInq8JLHl+GucKQpZycMPye/OpgSw==} - engines: {node: '>=10'} + exponential-backoff@3.1.2: + resolution: {integrity: sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==} - conventional-commits-parser@3.2.3: - resolution: {integrity: sha512-YyRDR7On9H07ICFpRm/igcdjIqebXbvf4Cff+Pf0BrBys1i1EOzx9iFXNlAbdrLAR8jf7bkUYkDAr8pEy0q4Pw==} - engines: {node: '>=10'} + extract-zip@2.0.1: + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} hasBin: true - convert-source-map@1.8.0: - resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} - - cookie-signature@1.0.6: - resolution: {integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=} + extsprintf@1.4.1: + resolution: {integrity: sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==} + engines: {'0': node >=0.6.0} - cookie@0.4.1: - resolution: {integrity: sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==} - engines: {node: '>= 0.6'} + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - cookie@0.4.2: - resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} - engines: {node: '>= 0.6'} + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} - cookie@0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} - engines: {node: '>= 0.6'} + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - copy-descriptor@0.1.1: - resolution: {integrity: sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=} - engines: {node: '>=0.10.0'} + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - copyfiles@2.4.1: - resolution: {integrity: sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==} - hasBin: true + fast-plist@0.1.3: + resolution: {integrity: sha512-d9cEfo/WcOezgPLAC/8t8wGb6YOD6JTCPMw2QcG2nAdFmyY+9rTUizCTaGjIZAloWENTEUMAPpkUAIJJJ0i96A==} - core-js-compat@3.20.1: - resolution: {integrity: sha512-AVhKZNpqMV3Jz8hU0YEXXE06qoxtQGsAqU0u1neUngz5IusDJRX/ZJ6t3i7mS7QxNyEONbCo14GprkBrxPlTZA==} + fast-uri@3.0.6: + resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} - core-js-pure@3.22.2: - resolution: {integrity: sha512-Lb+/XT4WC4PaCWWtZpNPaXmjiNDUe5CJuUtbkMrIM1kb1T/jJoAIp+bkVP/r5lHzMr+ZAAF8XHp7+my6Ol0ysQ==} + fastq@1.19.0: + resolution: {integrity: sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==} - core-util-is@1.0.2: - resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} - core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + fdir@6.4.3: + resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true - cors@2.8.5: - resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} - engines: {node: '>= 0.10'} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} - cosmiconfig@5.2.1: - resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==} - engines: {node: '>=4'} + file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} - cosmiconfig@7.0.1: - resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==} - engines: {node: '>=10'} + filelist@1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} - crc@3.8.0: - resolution: {integrity: sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} - create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} - cross-env@7.0.3: - resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} - engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} - hasBin: true + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} - cross-spawn@5.1.0: - resolution: {integrity: sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=} + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} - cross-spawn@6.0.5: - resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} - engines: {node: '>=4.8'} + find-up@7.0.0: + resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} + engines: {node: '>=18'} - cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} - crypto-js@4.1.1: - resolution: {integrity: sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==} + flatted@3.3.2: + resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} - crypto-random-string@2.0.0: - resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} - engines: {node: '>=8'} + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + engines: {node: '>=14'} - css-color-names@0.0.4: - resolution: {integrity: sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=} + form-data@4.0.1: + resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} + engines: {node: '>= 6'} - css-declaration-sorter@4.0.1: - resolution: {integrity: sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==} - engines: {node: '>4'} + formidable@3.5.2: + resolution: {integrity: sha512-Jqc1btCy3QzRbJaICGwKcBfGWuLADRerLzDqi2NwSt/UkXLsHJw2TVResiaoBufHVHy9aSgClOHCeJsSsFLTbg==} - css-select-base-adapter@0.1.1: - resolution: {integrity: sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==} + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} - css-select@2.1.0: - resolution: {integrity: sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==} + fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - css-select@4.2.1: - resolution: {integrity: sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==} + fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} - css-tree@1.0.0-alpha.28: - resolution: {integrity: sha512-joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w==} - engines: {node: '>=0.10.0'} + fs-extra@11.3.0: + resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} + engines: {node: '>=14.14'} - css-tree@1.0.0-alpha.29: - resolution: {integrity: sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==} - engines: {node: '>=0.10.0'} + fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} - css-tree@1.0.0-alpha.37: - resolution: {integrity: sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==} - engines: {node: '>=8.0.0'} + fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} - css-tree@1.1.3: - resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} - engines: {node: '>=8.0.0'} + fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} - css-url-regex@1.1.0: - resolution: {integrity: sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w=} + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - css-what@3.4.2: - resolution: {integrity: sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==} - engines: {node: '>= 6'} + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] - css-what@5.1.0: - resolution: {integrity: sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==} - engines: {node: '>= 6'} + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true + gauge@4.0.4: + resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. - cssfilter@0.0.10: - resolution: {integrity: sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4=} + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} - cssnano-preset-default@4.0.8: - resolution: {integrity: sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==} - engines: {node: '>=6.9.0'} + get-east-asian-width@1.3.0: + resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} + engines: {node: '>=18'} - cssnano-util-get-arguments@4.0.0: - resolution: {integrity: sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=} - engines: {node: '>=6.9.0'} + get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} - cssnano-util-get-match@4.0.0: - resolution: {integrity: sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=} - engines: {node: '>=6.9.0'} + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} - cssnano-util-raw-cache@4.0.1: - resolution: {integrity: sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==} - engines: {node: '>=6.9.0'} + get-tsconfig@4.10.0: + resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==} - cssnano-util-same-parent@4.0.1: - resolution: {integrity: sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==} - engines: {node: '>=6.9.0'} + giget@1.2.4: + resolution: {integrity: sha512-Wv+daGyispVoA31TrWAVR+aAdP7roubTPEM/8JzRnqXhLbdJH0T9eQyXVFF8fjk3WKTsctII6QcyxILYgNp2DA==} + hasBin: true - cssnano@4.1.11: - resolution: {integrity: sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==} - engines: {node: '>=6.9.0'} + git-raw-commits@4.0.0: + resolution: {integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==} + engines: {node: '>=16'} + hasBin: true - csso@3.5.1: - resolution: {integrity: sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==} - engines: {node: '>=0.10.0'} + github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} - csso@4.2.0: - resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} - engines: {node: '>=8.0.0'} + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} - csstype@2.6.20: - resolution: {integrity: sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==} + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} - csv-parser@1.12.1: - resolution: {integrity: sha512-r45M92nLnGP246ot0Yo5RvbiiMF5Bw/OTIdWJ3OQ4Vbv4hpOeoXVIPxdSmUw+fPJlQOseY+iigJyLSfPMIrddQ==} + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true - d3-array@1.2.4: - resolution: {integrity: sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==} + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported - d3-array@3.2.0: - resolution: {integrity: sha512-3yXFQo0oG3QCxbF06rMPFyGRMGJNS7NvsV1+2joOjbBE+9xvWQ8+GcMJAjRCzw06zQ3/arXeJgbPYcjUCuC+3g==} + glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} engines: {node: '>=12'} + deprecated: Glob versions prior to v9 are no longer supported - d3-axis@1.0.12: - resolution: {integrity: sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ==} + global-agent@3.0.0: + resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} + engines: {node: '>=10.0'} - d3-axis@3.0.0: - resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} - engines: {node: '>=12'} + global-directory@4.0.1: + resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} + engines: {node: '>=18'} - d3-brush@1.1.6: - resolution: {integrity: sha512-7RW+w7HfMCPyZLifTz/UnJmI5kdkXtpCbombUSs8xniAyo0vIbrDzDwUJB6eJOgl9u5DQOt2TQlYumxzD1SvYA==} + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} - d3-brush@3.0.0: - resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} - engines: {node: '>=12'} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} - d3-chord@1.0.6: - resolution: {integrity: sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==} + globals@15.14.0: + resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==} + engines: {node: '>=18'} - d3-chord@3.0.1: - resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} - engines: {node: '>=12'} + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} - d3-collection@1.0.7: - resolution: {integrity: sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==} + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} - d3-color@1.4.1: - resolution: {integrity: sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==} + got@11.8.6: + resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} + engines: {node: '>=10.19.0'} - d3-color@3.1.0: - resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} - engines: {node: '>=12'} + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - d3-contour@1.3.2: - resolution: {integrity: sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==} + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - d3-contour@4.0.0: - resolution: {integrity: sha512-7aQo0QHUTu/Ko3cP9YK9yUTxtoDEiDGwnBHyLxG5M4vqlBkO/uixMRele3nfsfj6UXOcuReVpVXzAboGraYIJw==} - engines: {node: '>=12'} + hachure-fill@0.5.2: + resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} - d3-delaunay@6.0.2: - resolution: {integrity: sha512-IMLNldruDQScrcfT+MWnazhHbDJhcRJyOEBAJfwQnHle1RPh6WDuLvxNArUju2VSMSUuKlY5BGHRJ2cYyoFLQQ==} - engines: {node: '>=12'} + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} - d3-dispatch@1.0.6: - resolution: {integrity: sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==} + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} - d3-dispatch@3.0.1: - resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} - engines: {node: '>=12'} + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - d3-drag@1.2.5: - resolution: {integrity: sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==} + has-unicode@2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - d3-drag@3.0.0: - resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} - engines: {node: '>=12'} + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} - d3-dsv@1.2.0: - resolution: {integrity: sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==} - hasBin: true - - d3-dsv@3.0.1: - resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} - engines: {node: '>=12'} - hasBin: true + hexoid@2.0.0: + resolution: {integrity: sha512-qlspKUK7IlSQv2o+5I7yhUd7TxlOG2Vr5LTa3ve2XSNVKAL/n/u/7KLvKmFNimomDIKvZFXWHv0T12mv7rT8Aw==} + engines: {node: '>=8'} - d3-ease@1.0.7: - resolution: {integrity: sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ==} + highlight.js@11.11.1: + resolution: {integrity: sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==} + engines: {node: '>=12.0.0'} - d3-ease@3.0.1: - resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} - engines: {node: '>=12'} + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} - d3-fetch@1.2.0: - resolution: {integrity: sha512-yC78NBVcd2zFAyR/HnUiBS7Lf6inSCoWcSxFfw8FYL7ydiqe80SazNwoffcqOfs95XaLo7yebsmQqDKSsXUtvA==} + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - d3-fetch@3.0.1: - resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} - engines: {node: '>=12'} + hosted-git-info@4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} - d3-flextree@2.1.2: - resolution: {integrity: sha512-gJiHrx5uTTHq44bjyIb3xpbmmdZcWLYPKeO9EPVOq8EylMFOiH2+9sWqKAiQ4DcFuOZTAxPOQyv0Rnmji/g15A==} + htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} - d3-force@1.2.1: - resolution: {integrity: sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==} + htmlparser2@9.1.0: + resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} - d3-force@3.0.0: - resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} - engines: {node: '>=12'} + http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - d3-format@1.4.5: - resolution: {integrity: sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==} + http-proxy-agent@5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} - d3-format@3.1.0: - resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} - engines: {node: '>=12'} + http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} - d3-geo@1.12.1: - resolution: {integrity: sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==} + http2-wrapper@1.0.3: + resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} + engines: {node: '>=10.19.0'} - d3-geo@3.0.1: - resolution: {integrity: sha512-Wt23xBych5tSy9IYAM1FR2rWIBFWa52B/oF/GYe5zbdHrg08FU8+BuI6X4PvTwPDdqdAdq04fuWJpELtsaEjeA==} - engines: {node: '>=12'} + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} - d3-hierarchy@1.1.9: - resolution: {integrity: sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==} + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} - d3-hierarchy@3.1.2: - resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} - engines: {node: '>=12'} + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} - d3-interpolate@1.4.0: - resolution: {integrity: sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==} + humanize-ms@1.2.1: + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} - d3-interpolate@3.0.1: - resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} - engines: {node: '>=12'} + i18next-fs-backend@2.6.0: + resolution: {integrity: sha512-3ZlhNoF9yxnM8pa8bWp5120/Ob6t4lVl1l/tbLmkml/ei3ud8IWySCHt2lrY5xWRlSU5D9IV2sm5bEbGuTqwTw==} - d3-path@1.0.9: - resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} + i18next@24.2.2: + resolution: {integrity: sha512-NE6i86lBCKRYZa5TaUDkU5S4HFgLIEJRLr3Whf2psgaxBleQ2LC1YW1Vc+SCgkAW7VEzndT6al6+CzegSUHcTQ==} + peerDependencies: + typescript: ^5 + peerDependenciesMeta: + typescript: + optional: true - d3-path@3.0.1: - resolution: {integrity: sha512-gq6gZom9AFZby0YLduxT1qmrp4xpBA1YZr19OI717WIdKE2OM5ETq5qrHLb301IgxhLwcuxvGZVLeeWc/k1I6w==} - engines: {node: '>=12'} + iconv-corefoundation@1.1.7: + resolution: {integrity: sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==} + engines: {node: ^8.11.2 || >=10} + os: [darwin] - d3-polygon@1.0.6: - resolution: {integrity: sha512-k+RF7WvI08PC8reEoXa/w2nSg5AUMTi+peBD9cmFc+0ixHfbs4QmxxkarVal1IkVkgxVuk9JSHhJURHiyHKAuQ==} + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} - d3-polygon@3.0.1: - resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} - engines: {node: '>=12'} + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - d3-quadtree@1.0.7: - resolution: {integrity: sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA==} + ignore-by-default@1.0.1: + resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==} - d3-quadtree@3.0.1: - resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} - engines: {node: '>=12'} + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} - d3-random@1.1.2: - resolution: {integrity: sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ==} + immutable@5.0.3: + resolution: {integrity: sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==} - d3-random@3.0.1: - resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} - engines: {node: '>=12'} + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} - d3-scale-chromatic@1.5.0: - resolution: {integrity: sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==} + import-from@3.0.0: + resolution: {integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==} + engines: {node: '>=8'} - d3-scale-chromatic@3.0.0: - resolution: {integrity: sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==} - engines: {node: '>=12'} + import-meta-resolve@4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} - d3-scale@2.2.2: - resolution: {integrity: sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==} + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} - d3-scale@4.0.2: - resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} - engines: {node: '>=12'} + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} - d3-selection@1.4.2: - resolution: {integrity: sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg==} + infer-owner@1.0.4: + resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} - d3-selection@3.0.0: - resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} - engines: {node: '>=12'} + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - d3-shape@1.3.7: - resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - d3-shape@3.1.0: - resolution: {integrity: sha512-tGDh1Muf8kWjEDT/LswZJ8WF85yDZLvVJpYU9Nq+8+yW1Z5enxrmXOhTArlkaElU+CTn0OTVNli+/i+HP45QEQ==} - engines: {node: '>=12'} + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - d3-time-format@2.3.0: - resolution: {integrity: sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==} + ini@4.1.1: + resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - d3-time-format@4.1.0: - resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} - engines: {node: '>=12'} + interactjs@1.10.27: + resolution: {integrity: sha512-y/8RcCftGAF24gSp76X2JS3XpHiUvDQyhF8i7ujemBz77hwiHDuJzftHx7thY8cxGogwGiPJ+o97kWB6eAXnsA==} - d3-time@1.1.0: - resolution: {integrity: sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==} + internmap@1.0.1: + resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} - d3-time@3.0.0: - resolution: {integrity: sha512-zmV3lRnlaLI08y9IMRXSDshQb5Nj77smnfpnd2LrBa/2K281Jijactokeak14QacHs/kKq0AQ121nidNYlarbQ==} + internmap@2.0.3: + resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} engines: {node: '>=12'} - d3-timer@1.0.10: - resolution: {integrity: sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==} + ip-address@9.0.5: + resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} + engines: {node: '>= 12'} - d3-timer@3.0.1: - resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} - engines: {node: '>=12'} + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - d3-transition@1.3.2: - resolution: {integrity: sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==} + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} - d3-transition@3.0.1: - resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} - engines: {node: '>=12'} - peerDependencies: - d3-selection: 2 - 3 + is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} - d3-voronoi@1.1.4: - resolution: {integrity: sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==} + is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true - d3-zoom@1.8.3: - resolution: {integrity: sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==} + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} - d3-zoom@3.0.0: - resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} - engines: {node: '>=12'} + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} - d3@5.16.0: - resolution: {integrity: sha512-4PL5hHaHwX4m7Zr1UapXW23apo6pexCgdetdJ5kTmADpG/7T9Gkxw0M0tf/pjoB63ezCCm0u5UaFYy2aMt0Mcw==} + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} - d3@7.8.5: - resolution: {integrity: sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==} + is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} engines: {node: '>=12'} - dagre-d3@0.6.4: - resolution: {integrity: sha512-e/6jXeCP7/ptlAM48clmX4xTZc5Ek6T6kagS7Oz2HrYSdqcLZFLqpAfh7ldbZRFfxCZVyh61NEPR08UQRVxJzQ==} + is-fullwidth-code-point@5.0.0: + resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} + engines: {node: '>=18'} - dagre@0.8.5: - resolution: {integrity: sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==} + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} - dargs@7.0.0: - resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} + is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} - dashdash@1.14.1: - resolution: {integrity: sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=} - engines: {node: '>=0.10'} + is-lambda@1.0.1: + resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} - date-fns@2.28.0: - resolution: {integrity: sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==} - engines: {node: '>=0.11'} + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} - debounce-fn@4.0.0: - resolution: {integrity: sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==} - engines: {node: '>=10'} + is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} - debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} - debug@3.1.0: - resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + is-text-path@2.0.0: + resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==} + engines: {node: '>=8'} - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} - decamelize-keys@1.1.0: - resolution: {integrity: sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=} - engines: {node: '>=0.10.0'} + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - decamelize@1.2.0: - resolution: {integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=} - engines: {node: '>=0.10.0'} + isbinaryfile@4.0.10: + resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} + engines: {node: '>= 8.0.0'} - decode-uri-component@0.2.0: - resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==} - engines: {node: '>=0.10'} + isbinaryfile@5.0.4: + resolution: {integrity: sha512-YKBKVkKhty7s8rxddb40oOkuP0NbaeXrQvLin6QMHL7Ypiy2RW9LwOVrVgZRyOrhQlayMd9t+D8yDy8MKFTSDQ==} + engines: {node: '>= 18.0.0'} - decode-uri-component@0.4.1: - resolution: {integrity: sha512-+8VxcR21HhTy8nOt6jf20w0c9CADrw1O8d+VZ/YzzCt4bJ3uBjw+D1q2osAB8RnpwwaeYBxy0HyKQxD5JBMuuQ==} - engines: {node: '>=14.16'} + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - decompress-response@3.3.0: - resolution: {integrity: sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=} - engines: {node: '>=4'} + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - decompress-tar@4.1.1: - resolution: {integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==} - engines: {node: '>=4'} + jake@10.9.2: + resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} + engines: {node: '>=10'} + hasBin: true - decompress-tarbz2@4.1.1: - resolution: {integrity: sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==} - engines: {node: '>=4'} + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + hasBin: true - decompress-targz@4.1.1: - resolution: {integrity: sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==} - engines: {node: '>=4'} + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - decompress-unzip@4.0.1: - resolution: {integrity: sha1-3qrM39FK6vhVePczroIQ+bSEj2k=} - engines: {node: '>=4'} + js-tokens@9.0.1: + resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} - decompress@4.2.1: - resolution: {integrity: sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==} - engines: {node: '>=4'} + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true - deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} + jsbn@1.1.0: + resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} - deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + jsdoc-type-pratt-parser@4.1.0: + resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==} + engines: {node: '>=12.0.0'} - deepmerge@4.2.2: - resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} - engines: {node: '>=0.10.0'} + jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true - defaults@1.0.3: - resolution: {integrity: sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=} + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true - defer-to-connect@1.1.3: - resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - define-properties@1.1.3: - resolution: {integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==} - engines: {node: '>= 0.4'} + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - define-properties@1.1.4: - resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} - engines: {node: '>= 0.4'} + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - define-property@0.2.5: - resolution: {integrity: sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=} - engines: {node: '>=0.10.0'} + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - define-property@1.0.0: - resolution: {integrity: sha1-dp66rz9KY6rTr56NMEybvnm/sOY=} - engines: {node: '>=0.10.0'} + json-schema-typed@7.0.3: + resolution: {integrity: sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==} - define-property@2.0.2: - resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} - engines: {node: '>=0.10.0'} + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - delaunator@5.0.0: - resolution: {integrity: sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==} + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - delayed-stream@1.0.0: - resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=} - engines: {node: '>=0.4.0'} + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true - depd@1.1.2: - resolution: {integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=} - engines: {node: '>= 0.6'} + jsonc-eslint-parser@2.4.0: + resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} + jsonc-parser@3.3.1: + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} - deprecated-decorator@0.1.6: - resolution: {integrity: sha1-AJZjF7ehL+kvPMgx91g68ym4bDc=} + jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - destroy@1.0.4: - resolution: {integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=} + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} - detect-node@2.1.0: - resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + katex@0.16.22: + resolution: {integrity: sha512-XCHRdUw4lf3SKBaJe4EvgqIuWwkPSo9XoeO8GjQW94Bp7TWv9hNhzZjZ+OH9yf1UmLygb7DIT5GSFQiyt16zYg==} + hasBin: true - dicer@0.3.0: - resolution: {integrity: sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==} - engines: {node: '>=4.5.0'} + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} + khroma@2.1.0: + resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} - dir-compare@2.4.0: - resolution: {integrity: sha512-l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA==} - hasBin: true + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} - dir-glob@2.2.2: - resolution: {integrity: sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==} - engines: {node: '>=4'} + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + ky@1.7.5: + resolution: {integrity: sha512-HzhziW6sc5m0pwi5M196+7cEBtbt0lCYi67wNsiwMUmz833wloE0gbzJPWKs1gliFKQb34huItDQX97LyOdPdA==} + engines: {node: '>=18'} - dmg-builder@23.1.0: - resolution: {integrity: sha512-CzhPk/k12nJ2KqTbePkIwHOLiaWneQu2cgXCT9Hb5FhwI1vxTPalLsg8OZ57wKCrkL8AEftqqSff8gB5yWY/xw==} + langium@3.3.1: + resolution: {integrity: sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w==} + engines: {node: '>=16.0.0'} - dmg-license@1.0.11: - resolution: {integrity: sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==} - engines: {node: '>=8'} - os: [darwin] - hasBin: true + layout-base@1.0.2: + resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} - doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} + layout-base@2.0.1: + resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} + lazy-val@1.0.5: + resolution: {integrity: sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==} - doctypes@1.1.0: - resolution: {integrity: sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=} + lazystream@1.0.1: + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} - dom-serializer@0.2.2: - resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==} + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} - dom-serializer@1.3.2: - resolution: {integrity: sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==} + lightningcss-darwin-arm64@1.29.1: + resolution: {integrity: sha512-HtR5XJ5A0lvCqYAoSv2QdZZyoHNttBpa5EP9aNuzBQeKGfbyH5+UipLWvVzpP4Uml5ej4BYs5I9Lco9u1fECqw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] - dom-to-image@2.6.0: - resolution: {integrity: sha512-Dt0QdaHmLpjURjU7Tnu3AgYSF2LuOmksSGsUcE6ItvJoCWTBEmiMXcqBdNSAm9+QbbwD7JMoVsuuKX6ZVQv1qA==} + lightningcss-darwin-x64@1.29.1: + resolution: {integrity: sha512-k33G9IzKUpHy/J/3+9MCO4e+PzaFblsgBjSGlpAaFikeBFm8B/CkO3cKU9oI4g+fjS2KlkLM/Bza9K/aw8wsNA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] - domelementtype@1.3.1: - resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} + lightningcss-freebsd-x64@1.29.1: + resolution: {integrity: sha512-0SUW22fv/8kln2LnIdOCmSuXnxgxVC276W5KLTwoehiO0hxkacBxjHOL5EtHD8BAXg2BvuhsJPmVMasvby3LiQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] - domelementtype@2.2.0: - resolution: {integrity: sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==} + lightningcss-linux-arm-gnueabihf@1.29.1: + resolution: {integrity: sha512-sD32pFvlR0kDlqsOZmYqH/68SqUMPNj+0pucGxToXZi4XZgZmqeX/NkxNKCPsswAXU3UeYgDSpGhu05eAufjDg==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] - domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - - domhandler@4.3.0: - resolution: {integrity: sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==} - engines: {node: '>= 4'} + lightningcss-linux-arm64-gnu@1.29.1: + resolution: {integrity: sha512-0+vClRIZ6mmJl/dxGuRsE197o1HDEeeRk6nzycSy2GofC2JsY4ifCRnvUWf/CUBQmlrvMzt6SMQNMSEu22csWQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] - domhandler@4.3.1: - resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} - engines: {node: '>= 4'} + lightningcss-linux-arm64-musl@1.29.1: + resolution: {integrity: sha512-UKMFrG4rL/uHNgelBsDwJcBqVpzNJbzsKkbI3Ja5fg00sgQnHw/VrzUTEc4jhZ+AN2BvQYz/tkHu4vt1kLuJyw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] - dompurify@2.3.8: - resolution: {integrity: sha512-eVhaWoVibIzqdGYjwsBWodIQIaXFSB+cKDf4cfxLMsK0xiud6SE+/WCVx/Xw/UwQsa4cS3T2eITcdtmTg2UKcw==} + lightningcss-linux-x64-gnu@1.29.1: + resolution: {integrity: sha512-u1S+xdODy/eEtjADqirA774y3jLcm8RPtYztwReEXoZKdzgsHYPl0s5V52Tst+GKzqjebkULT86XMSxejzfISw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] - domutils@1.7.0: - resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} + lightningcss-linux-x64-musl@1.29.1: + resolution: {integrity: sha512-L0Tx0DtaNUTzXv0lbGCLB/c/qEADanHbu4QdcNOXLIe1i8i22rZRpbT3gpWYsCh9aSL9zFujY/WmEXIatWvXbw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] - domutils@2.8.0: - resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + lightningcss-win32-arm64-msvc@1.29.1: + resolution: {integrity: sha512-QoOVnkIEFfbW4xPi+dpdft/zAKmgLgsRHfJalEPYuJDOWf7cLQzYg0DEh8/sn737FaeMJxHZRc1oBreiwZCjog==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] - dot-prop@5.3.0: - resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} - engines: {node: '>=8'} + lightningcss-win32-x64-msvc@1.29.1: + resolution: {integrity: sha512-NygcbThNBe4JElP+olyTI/doBNGJvLs3bFCRPdvuCcxZCcCZ71B858IHpdm7L1btZex0FvCmM17FK98Y9MRy1Q==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] - dot-prop@6.0.1: - resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} - engines: {node: '>=10'} + lightningcss@1.29.1: + resolution: {integrity: sha512-FmGoeD4S05ewj+AkhTY+D+myDvXI6eL27FjHIjoyUkO/uw7WZD1fBVs0QxeYWa7E17CUHJaYX/RUGISCtcrG4Q==} + engines: {node: '>= 12.0.0'} - dotenv-expand@5.1.0: - resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==} + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} - dotenv@16.0.1: - resolution: {integrity: sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==} - engines: {node: '>=12'} + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dotenv@9.0.2: - resolution: {integrity: sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==} - engines: {node: '>=10'} + linkify-it@5.0.0: + resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} - download-git-repo@3.0.2: - resolution: {integrity: sha512-N8hWXD4hXqmEcNoR8TBYFntaOcYvEQ7Bz90mgm3bZRTuteGQqwT32VDMnTyD0KTEvb8BWrMc1tVmzuV9u/WrAg==} + lint-staged@15.4.3: + resolution: {integrity: sha512-FoH1vOeouNh1pw+90S+cnuoFwRfUD9ijY2GKy5h7HS3OR7JVir2N2xrsa0+Twc1B7cW72L+88geG5cW4wIhn7g==} + engines: {node: '>=18.12.0'} + hasBin: true - download@7.1.0: - resolution: {integrity: sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==} - engines: {node: '>=6'} + listr2@8.2.5: + resolution: {integrity: sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==} + engines: {node: '>=18.0.0'} - duplexer2@0.1.4: - resolution: {integrity: sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=} + local-pkg@1.0.0: + resolution: {integrity: sha512-bbgPw/wmroJsil/GgL4qjDzs5YLTBMQ99weRsok1XCDccQeehbHA/I1oRvk2NPtr7KGZgT/Y5tPRnAtMqeG2Kg==} + engines: {node: '>=14'} - duplexer3@0.1.4: - resolution: {integrity: sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=} + locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} - duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} - easy-stack@1.0.1: - resolution: {integrity: sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==} - engines: {node: '>=6.0.0'} + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} - ecc-jsbn@0.1.2: - resolution: {integrity: sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=} + 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} - ee-first@1.1.1: - resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} + lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - ejs@2.7.4: - resolution: {integrity: sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==} - engines: {node: '>=0.10.0'} + lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} - ejs@3.1.8: - resolution: {integrity: sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==} - engines: {node: '>=0.10.0'} - hasBin: true + lodash.defaults@4.2.0: + resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} - electron-builder@23.1.0: - resolution: {integrity: sha512-UEblaQY8N9m8/HriOwl7jgFJ4olpWDXwdDBqwUkQiRHVNRnCfrA0u8LV03li5ZYhma6zFWzfIZbHd+uk8y//lQ==} - engines: {node: '>=14.0.0'} - hasBin: true + lodash.difference@4.5.0: + resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==} - electron-notarize@1.2.1: - resolution: {integrity: sha512-u/ECWhIrhkSQpZM4cJzVZ5TsmkaqrRo5LDC/KMbGF0sPkm53Ng59+M0zp8QVaql0obfJy9vlVT+4iOkAi2UDlA==} - engines: {node: '>= 10.0.0'} + lodash.flatten@4.4.0: + resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} - electron-osx-sign@0.6.0: - resolution: {integrity: sha512-+hiIEb2Xxk6eDKJ2FFlpofCnemCbjbT5jz+BKGpVBrRNT3kWTGs4DfNX6IzGwgi33hUcXF+kFs9JW+r6Wc1LRg==} - engines: {node: '>=4.0.0'} - hasBin: true + lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - electron-publish@23.0.9: - resolution: {integrity: sha512-afr2z6L07/elgDX+6I/G/0vzXOP6xYUd/aXx9tnTPSVZ/3AuvCegHrKiuh8sKYHmzoAcNGXe3ikISYIu961IfA==} + lodash.kebabcase@4.1.1: + resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} - electron-store@8.0.1: - resolution: {integrity: sha512-ZyLvNywiqSpbwC/pp89O/AycVWY/UJIkmtyzF2Bd0Nm/rLmcFc0NTGuLdg6+LE8mS8qsiK5JMoe4PnrecLHH5w==} + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - electron-to-chromium@1.4.87: - resolution: {integrity: sha512-EXXTtDHFUKdFVkCnhauU7Xp8wmFC1ZG6GK9a1BeI2vvNhy61IwfNPo/CRexhf7mh4ajxAHJPind62BzpzVUeuQ==} + lodash.mergewith@4.6.2: + resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} - electron@12.2.3: - resolution: {integrity: sha512-B27c7eqx1bC5kea6An8oVhk1pShNC4VGqWarHMhD47MDtmg54KepHO5AbAvmKKZK/jWN7NTC7wyCYTDElJNtQA==} - engines: {node: '>= 8.6'} - hasBin: true + lodash.snakecase@4.1.1: + resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} - electron@16.2.3: - resolution: {integrity: sha512-4Tzz1YjE99eSqyqmaPVMpKFH+vyyPENdZsnJHtPHcRP76U87DI2HFd53w9GiSAElueqRe4iw/AqmIBROpjQDNQ==} - engines: {node: '>= 8.6'} - hasBin: true + lodash.startcase@4.4.0: + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} - emmet@2.3.6: - resolution: {integrity: sha512-pLS4PBPDdxuUAmw7Me7+TcHbykTsBKN/S9XJbUOMFQrNv9MoshzyMFK/R57JBm94/6HSL4vHnDeEmxlC82NQ4A==} + lodash.union@4.6.0: + resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + lodash.upperfirst@4.3.1: + resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==} - encodeurl@1.0.2: - resolution: {integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=} - engines: {node: '>= 0.8'} + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} - engine.io-client@6.1.1: - resolution: {integrity: sha512-V05mmDo4gjimYW+FGujoGmmmxRaDsrVr7AXA3ZIfa04MWM1jOfZfUwou0oNqhNwy/votUDvGDt4JA4QF4e0b4g==} + log-update@6.1.0: + resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} + engines: {node: '>=18'} - engine.io-parser@5.0.3: - resolution: {integrity: sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==} - engines: {node: '>=10.0.0'} + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - engine.io@6.1.3: - resolution: {integrity: sha512-rqs60YwkvWTLLnfazqgZqLa/aKo+9cueVfEi/dZ8PyGyaf8TLOxj++4QMIgeG3Gn0AhrWiFXvghsoY9L9h25GA==} - engines: {node: '>=10.0.0'} + lowercase-keys@2.0.0: + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} - enhanced-resolve@0.9.1: - resolution: {integrity: sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=} - engines: {node: '>=0.6'} + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - enhanced-resolve@5.9.2: - resolution: {integrity: sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA==} - engines: {node: '>=10.13.0'} + lru-cache@4.1.5: + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} - enquirer@2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - entities@2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} - entities@3.0.1: - resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} - engines: {node: '>=0.12'} + lru-cache@7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} - env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} + lucide-vue-next@0.476.0: + resolution: {integrity: sha512-deFzs+/sAcGAEzEKFK+5dPHWg5lUl4eYrRbtdpzNYVxoBLIoGLB5yvx9VwbplJRiGWhPduYr4ZmLqAYgy8UY5A==} + peerDependencies: + vue: '>=3.0.1' - envinfo@7.8.1: - resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==} - engines: {node: '>=4'} - hasBin: true + magic-string@0.30.17: + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} - error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + make-fetch-happen@10.2.1: + resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - errorhandler@1.5.1: - resolution: {integrity: sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==} - engines: {node: '>= 0.8'} + markdown-it-ins@4.0.0: + resolution: {integrity: sha512-sWbjK2DprrkINE4oYDhHdCijGT+MIDhEupjSHLXe5UXeVr5qmVxs/nTUVtgi0Oh/qtF+QKV0tNWDhQBEPxiMew==} - es-abstract@1.19.1: - resolution: {integrity: sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==} - engines: {node: '>= 0.4'} + markdown-it-mark@4.0.0: + resolution: {integrity: sha512-YLhzaOsU9THO/cal0lUjfMjrqSMPjjyjChYM7oyj4DnyaXEzA8gnW6cVJeyCrCVeyesrY2PlEdUYJSPFYL4Nkg==} - es-module-lexer@0.9.3: - resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} + markdown-it-sub@2.0.0: + resolution: {integrity: sha512-iCBKgwCkfQBRg2vApy9vx1C1Tu6D8XYo8NvevI3OlwzBRmiMtsJ2sXupBgEA7PPxiDwNni3qIUkhZ6j5wofDUA==} - es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} + markdown-it-sup@2.0.0: + resolution: {integrity: sha512-5VgmdKlkBd8sgXuoDoxMpiU+BiEt3I49GItBzzw7Mxq9CxvnhE/k09HFli09zgfFDRixDQDfDxi0mgBCXtaTvA==} - es6-error@4.1.1: - resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + markdown-it@14.1.0: + resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} + hasBin: true - esbuild-android-64@0.14.27: - resolution: {integrity: sha512-LuEd4uPuj/16Y8j6kqy3Z2E9vNY9logfq8Tq+oTE2PZVuNs3M1kj5Qd4O95ee66yDGb3isaOCV7sOLDwtMfGaQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] + markdown-table@3.0.4: + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - esbuild-android-arm64@0.14.27: - resolution: {integrity: sha512-E8Ktwwa6vX8q7QeJmg8yepBYXaee50OdQS3BFtEHKrzbV45H4foMOeEE7uqdjGQZFBap5VAqo7pvjlyA92wznQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] + marked@15.0.8: + resolution: {integrity: sha512-rli4l2LyZqpQuRve5C0rkn6pj3hT8EWPC+zkAxFTAJLxRbENfTAhEQq9itrmf1Y81QtAX5D/MYlGlIomNgj9lA==} + engines: {node: '>= 18'} + hasBin: true - esbuild-darwin-64@0.14.27: - resolution: {integrity: sha512-czw/kXl/1ZdenPWfw9jDc5iuIYxqUxgQ/Q+hRd4/3udyGGVI31r29LCViN2bAJgGvQkqyLGVcG03PJPEXQ5i2g==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] + markmap-common@0.18.9: + resolution: {integrity: sha512-MV2HQO7IGIm3jWEJXSG8vmdpqf4WIDXcEyAEN52lrWR1qD53Zg5l81JwjXoZ2l0rY5mofKYqUFlmdM2fqTGMVg==} - esbuild-darwin-arm64@0.14.27: - resolution: {integrity: sha512-BEsv2U2U4o672oV8+xpXNxN9bgqRCtddQC6WBh4YhXKDcSZcdNh7+6nS+DM2vu7qWIWNA4JbRG24LUUYXysimQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] + markmap-html-parser@0.18.11: + resolution: {integrity: sha512-+kC5C4sCGntGUhGvTa5VIb5rtM75cSy/VCy3tzZoNAcn2qZGdgYvljN0WvjsOzrEzp+V6XKgwzO0u2TdzNAiOg==} + peerDependencies: + markmap-common: '*' - esbuild-freebsd-64@0.14.27: - resolution: {integrity: sha512-7FeiFPGBo+ga+kOkDxtPmdPZdayrSzsV9pmfHxcyLKxu+3oTcajeZlOO1y9HW+t5aFZPiv7czOHM4KNd0tNwCA==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] + markmap-lib@0.18.11: + resolution: {integrity: sha512-2mBWrWRdK61W5//FlJ0zN20vi+/oVlPtnydyO3xR+0E2bhiTLNPjFwRi0h2RrdT/hUiiHV98s9iRckwXEhDtJg==} + peerDependencies: + markmap-common: '*' - esbuild-freebsd-arm64@0.14.27: - resolution: {integrity: sha512-8CK3++foRZJluOWXpllG5zwAVlxtv36NpHfsbWS7TYlD8S+QruXltKlXToc/5ZNzBK++l6rvRKELu/puCLc7jA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] + markmap-view@0.18.10: + resolution: {integrity: sha512-2Wi/HpOHwhDjw+Lj6/CoZzWtxvAF2ymkjCpexJKC1uYQERqMhja8Rr5d5hww7oVAith80Bsr6h+ZIYQGgxnhdQ==} + peerDependencies: + markmap-common: '*' - esbuild-linux-32@0.14.27: - resolution: {integrity: sha512-qhNYIcT+EsYSBClZ5QhLzFzV5iVsP1YsITqblSaztr3+ZJUI+GoK8aXHyzKd7/CKKuK93cxEMJPpfi1dfsOfdw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] + matcher@3.0.0: + resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} + engines: {node: '>=10'} - esbuild-linux-64@0.14.27: - resolution: {integrity: sha512-ESjck9+EsHoTaKWlFKJpPZRN26uiav5gkI16RuI8WBxUdLrrAlYuYSndxxKgEn1csd968BX/8yQZATYf/9+/qg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] + mdast-util-find-and-replace@3.0.2: + resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} - esbuild-linux-arm64@0.14.27: - resolution: {integrity: sha512-no6Mi17eV2tHlJnqBHRLekpZ2/VYx+NfGxKcBE/2xOMYwctsanCaXxw4zapvNrGE9X38vefVXLz6YCF8b1EHiQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] + mdast-util-from-markdown@2.0.2: + resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} - esbuild-linux-arm@0.14.27: - resolution: {integrity: sha512-JnnmgUBdqLQO9hoNZQqNHFWlNpSX82vzB3rYuCJMhtkuaWQEmQz6Lec1UIxJdC38ifEghNTBsF9bbe8dFilnCw==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} - esbuild-linux-mips64le@0.14.27: - resolution: {integrity: sha512-NolWP2uOvIJpbwpsDbwfeExZOY1bZNlWE/kVfkzLMsSgqeVcl5YMen/cedRe9mKnpfLli+i0uSp7N+fkKNU27A==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] + mdast-util-gfm-footnote@2.0.0: + resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} - esbuild-linux-ppc64le@0.14.27: - resolution: {integrity: sha512-/7dTjDvXMdRKmsSxKXeWyonuGgblnYDn0MI1xDC7J1VQXny8k1qgNp6VmrlsawwnsymSUUiThhkJsI+rx0taNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} - esbuild-linux-riscv64@0.14.27: - resolution: {integrity: sha512-D+aFiUzOJG13RhrSmZgrcFaF4UUHpqj7XSKrIiCXIj1dkIkFqdrmqMSOtSs78dOtObWiOrFCDDzB24UyeEiNGg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} - esbuild-linux-s390x@0.14.27: - resolution: {integrity: sha512-CD/D4tj0U4UQjELkdNlZhQ8nDHU5rBn6NGp47Hiz0Y7/akAY5i0oGadhEIg0WCY/HYVXFb3CsSPPwaKcTOW3bg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} - esbuild-netbsd-64@0.14.27: - resolution: {integrity: sha512-h3mAld69SrO1VoaMpYl3a5FNdGRE/Nqc+E8VtHOag4tyBwhCQXxtvDDOAKOUQexBGca0IuR6UayQ4ntSX5ij1Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] + mdast-util-gfm@3.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} - esbuild-openbsd-64@0.14.27: - resolution: {integrity: sha512-xwSje6qIZaDHXWoPpIgvL+7fC6WeubHHv18tusLYMwL+Z6bEa4Pbfs5IWDtQdHkArtfxEkIZz77944z8MgDxGw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} - esbuild-sunos-64@0.14.27: - resolution: {integrity: sha512-/nBVpWIDjYiyMhuqIqbXXsxBc58cBVH9uztAOIfWShStxq9BNBik92oPQPJ57nzWXRNKQUEFWr4Q98utDWz7jg==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} - esbuild-windows-32@0.14.27: - resolution: {integrity: sha512-Q9/zEjhZJ4trtWhFWIZvS/7RUzzi8rvkoaS9oiizkHTTKd8UxFwn/Mm2OywsAfYymgUYm8+y2b+BKTNEFxUekw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} - esbuild-windows-64@0.14.27: - resolution: {integrity: sha512-b3y3vTSl5aEhWHK66ngtiS/c6byLf6y/ZBvODH1YkBM+MGtVL6jN38FdHUsZasCz9gFwYs/lJMVY9u7GL6wfYg==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] + mdurl@2.0.0: + resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} - esbuild-windows-arm64@0.14.27: - resolution: {integrity: sha512-I/reTxr6TFMcR5qbIkwRGvldMIaiBu2+MP0LlD7sOlNXrfqIl9uNjsuxFPGEG4IRomjfQ5q8WT+xlF/ySVkqKg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] + memoirist@0.3.0: + resolution: {integrity: sha512-wR+4chMgVPq+T6OOsk40u9Wlpw1Pjx66NMNiYxCQQ4EUJ7jDs3D9kTCeKdBOkvAiqXlHLVJlvYL01PvIJ1MPNg==} - esbuild@0.14.27: - resolution: {integrity: sha512-MZQt5SywZS3hA9fXnMhR22dv0oPGh6QtjJRIYbgL1AeqAoQZE+Qn5ppGYQAoHv/vq827flj4tIJ79Mrdiwk46Q==} - engines: {node: '>=12'} - hasBin: true + meow@12.1.1: + resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} + engines: {node: '>=16.10'} - escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - escape-goat@2.1.1: - resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==} - engines: {node: '>=8'} + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} - escape-html@1.0.3: - resolution: {integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=} + mermaid@11.6.0: + resolution: {integrity: sha512-PE8hGUy1LDlWIHWBP05SFdqUHGmRcCcK4IzpOKPE35eOw+G9zZgcnMpyunJVUEOgb//KBORPjysKndw8bFLuRg==} - escape-string-regexp@1.0.5: - resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} - engines: {node: '>=0.8.0'} + micromark-core-commonmark@2.0.2: + resolution: {integrity: sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==} - escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} - eslint-config-prettier@8.3.0: - resolution: {integrity: sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} - eslint-config-standard@16.0.3: - resolution: {integrity: sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==} - peerDependencies: - eslint: ^7.12.1 - eslint-plugin-import: ^2.22.1 - eslint-plugin-node: ^11.1.0 - eslint-plugin-promise: ^4.2.1 || ^5.0.0 + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} - eslint-import-resolver-node@0.3.6: - resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} + micromark-extension-gfm-table@2.1.1: + resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} - eslint-import-resolver-webpack@0.13.2: - resolution: {integrity: sha512-XodIPyg1OgE2h5BDErz3WJoK7lawxKTJNhgPNafRST6csC/MZC+L5P6kKqsZGRInpbgc02s/WZMrb4uGJzcuRg==} - engines: {node: '>= 6'} - peerDependencies: - eslint-plugin-import: '>=1.4.0' - webpack: '>=1.11.0' + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} - eslint-module-utils@2.7.1: - resolution: {integrity: sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} - eslint-plugin-es@3.0.1: - resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} - engines: {node: '>=8.10.0'} - peerDependencies: - eslint: '>=4.19.1' + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} - eslint-plugin-import@2.25.3: - resolution: {integrity: sha512-RzAVbby+72IB3iOEL8clzPLzL3wpDrlwjsTBAQXgyp5SeTqqY+0bFubwuo+y/HLhNZcXV4XqTBO4LGsfyHIDXg==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} - eslint-plugin-node@11.1.0: - resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} - engines: {node: '>=8.10.0'} - peerDependencies: - eslint: '>=5.16.0' + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} - eslint-plugin-prettier@4.0.0: - resolution: {integrity: sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==} - engines: {node: '>=6.0.0'} - peerDependencies: - eslint: '>=7.28.0' - eslint-config-prettier: '*' - prettier: '>=2.0.0' - peerDependenciesMeta: - eslint-config-prettier: - optional: true + micromark-factory-space@2.0.1: + resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} - eslint-plugin-promise@6.0.0: - resolution: {integrity: sha512-7GPezalm5Bfi/E22PnQxDWH2iW9GTvAlUNTztemeHb6c1BniSyoeTrM87JkC0wYdi6aQrZX9p2qEiAno8aTcbw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} - eslint-plugin-vue@8.2.0: - resolution: {integrity: sha512-cLIdTuOAMXyHeQ4drYKcZfoyzdwdBpH279X8/N0DgmotEI9yFKb5O/cAgoie/CkQZCH/MOmh0xw/KEfS90zY2A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} - eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} - eslint-scope@6.0.0: - resolution: {integrity: sha512-uRDL9MWmQCkaFus8RF5K9/L/2fn+80yoW3jkD53l4shjCh26fCtvJGasxjUqP5OT87SYTxCVA3BwTUzuELx9kA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} - eslint-scope@7.1.0: - resolution: {integrity: sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} - eslint-utils@2.1.0: - resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} - engines: {node: '>=6'} + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} - eslint-utils@3.0.0: - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} - eslint-visitor-keys@1.3.0: - resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} - engines: {node: '>=4'} + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} - eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} - eslint-visitor-keys@3.1.0: - resolution: {integrity: sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} - eslint@8.5.0: - resolution: {integrity: sha512-tVGSkgNbOfiHyVte8bCM8OmX+xG9PzVG/B4UCF60zx7j61WIVY/AqJECDgpLD4DbbESD0e174gOg3ZlrX15GDg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} - espree@9.2.0: - resolution: {integrity: sha512-oP3utRkynpZWF/F2x/HZJ+AGtnIclaR7z1pYPxy7NYM2fSO6LgK/Rkny8anRSPK/VwEA1eqm2squui0T7ZMOBg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} - esquery@1.4.0: - resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} - engines: {node: '>=0.10'} + micromark-util-subtokenize@2.0.4: + resolution: {integrity: sha512-N6hXjrin2GTJDe3MVjf5FuXpm12PGm80BrUAeub9XFXca8JZbP+oIwY4LJSVwFUCL1IPm/WwSVUN7goFHmSGGQ==} - esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} - estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} + micromark-util-types@2.0.1: + resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==} - estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} + micromark@4.0.1: + resolution: {integrity: sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==} - estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} - esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} - etag@1.8.1: - resolution: {integrity: sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=} + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - event-pubsub@4.3.0: - resolution: {integrity: sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==} + mime@2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} engines: {node: '>=4.0.0'} + hasBin: true - event-stream@3.3.4: - resolution: {integrity: sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=} + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} - eventemitter3@3.1.2: - resolution: {integrity: sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==} + mimic-fn@3.1.0: + resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==} + engines: {node: '>=8'} - events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} - exec-sh@0.2.2: - resolution: {integrity: sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==} + mimic-function@5.0.1: + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} - execa@0.9.0: - resolution: {integrity: sha512-BbUMBiX4hqiHZUA5+JujIjNb6TyAlp2D5KLheMjMluwOuzcnylDL4AxZYLLn1n2AGB49eSWwyKvvEQoRpnAtmA==} + mimic-response@1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} engines: {node: '>=4'} - execa@1.0.0: - resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} - engines: {node: '>=6'} - - execa@3.4.0: - resolution: {integrity: sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==} - engines: {node: ^8.12.0 || >=9.7.0} - - execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} - expand-brackets@2.1.4: - resolution: {integrity: sha1-t3c14xXOMPa27/D4OwQVGiJEliI=} - engines: {node: '>=0.10.0'} - - expand-tilde@2.0.2: - resolution: {integrity: sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=} - engines: {node: '>=0.10.0'} - - express-history-api-fallback@2.2.1: - resolution: {integrity: sha1-OirSf3vryQ/FM9EQ18bYMJe80Fc=} - - express-urlrewrite@1.4.0: - resolution: {integrity: sha512-PI5h8JuzoweS26vFizwQl6UTF25CAHSggNv0J25Dn/IKZscJHWZzPrI5z2Y2jgOzIaw2qh8l6+/jUcig23Z2SA==} - - express@4.17.2: - resolution: {integrity: sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==} - engines: {node: '>= 0.10.0'} - - express@4.18.0: - resolution: {integrity: sha512-EJEXxiTQJS3lIPrU1AE2vRuT7X7E+0KBbpm5GSoK524yl0K8X+er8zS2P14E64eqsVNoWbMCT7MpmQ+ErAhgRg==} - engines: {node: '>= 0.10.0'} - - ext-list@2.2.2: - resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==} - engines: {node: '>=0.10.0'} - - ext-name@5.0.0: - resolution: {integrity: sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==} + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} - extend-shallow@2.0.1: - resolution: {integrity: sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=} - engines: {node: '>=0.10.0'} - - extend-shallow@3.0.2: - resolution: {integrity: sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=} - engines: {node: '>=0.10.0'} + minimatch@10.0.1: + resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} + engines: {node: 20 || >=22} - extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} - extglob@2.0.4: - resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} - engines: {node: '>=0.10.0'} + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} - extract-zip@1.7.0: - resolution: {integrity: sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==} - hasBin: true + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - extsprintf@1.3.0: - resolution: {integrity: sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=} - engines: {'0': node >=0.6.0} + minipass-collect@1.0.2: + resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} + engines: {node: '>= 8'} - extsprintf@1.4.1: - resolution: {integrity: sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==} - engines: {'0': node >=0.6.0} + minipass-fetch@2.1.2: + resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + minipass-flush@1.0.5: + resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + engines: {node: '>= 8'} - fast-diff@1.2.0: - resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} + minipass-pipeline@1.2.4: + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} - fast-glob@2.2.7: - resolution: {integrity: sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==} - engines: {node: '>=4.0.0'} + minipass-sized@1.0.3: + resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} + engines: {node: '>=8'} - fast-glob@3.2.11: - resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} - engines: {node: '>=8.6.0'} + minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} - fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} - fast-levenshtein@2.0.6: - resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=} + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} - fast-plist@0.1.2: - resolution: {integrity: sha512-2HxzrqJhmMoxVzARjYFvkzkL2dCBB8sogU5sD8gqcZWv5UCivK9/cXM9KIPDRwU+eD3mbRDN/GhW8bO/4dtMfg==} + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} - fastq@1.13.0: - resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} + mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - fd-slicer@1.1.0: - resolution: {integrity: sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=} + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true - figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} + mlly@1.7.4: + resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + monaco-textmate@3.0.1: + resolution: {integrity: sha512-ZxxY3OsqUczYP1sGqo97tu+CJmMBwuSW+dL0WEBdDhOZ5G1zntw72hvBc68ZQAirosWvbDKgN1dL5k173QtFww==} + peerDependencies: + onigasm: ^2.0.0 - file-type@3.9.0: - resolution: {integrity: sha1-JXoHg4TR24CHvESdEH1SpSZyuek=} - engines: {node: '>=0.10.0'} + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - file-type@4.4.0: - resolution: {integrity: sha1-G2AOX8ofvcboDApwxxyNul95BsU=} - engines: {node: '>=4'} + nanoid@3.3.8: + resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true - file-type@5.2.0: - resolution: {integrity: sha1-LdvqfHP/42No365J3DOMBYwritY=} - engines: {node: '>=4'} + nanoid@5.1.5: + resolution: {integrity: sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==} + engines: {node: ^18 || >=20} + hasBin: true - file-type@6.2.0: - resolution: {integrity: sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==} - engines: {node: '>=4'} + napi-build-utils@2.0.0: + resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==} - file-type@8.1.0: - resolution: {integrity: sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==} - engines: {node: '>=6'} + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - filelist@1.0.4: - resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + natural-orderby@5.0.0: + resolution: {integrity: sha512-kKHJhxwpR/Okycz4HhQKKlhWe4ASEfPgkSWNmKFHd7+ezuQlxkA5cM3+XkBPvm1gmHen3w53qsYAv+8GwRrBlg==} + engines: {node: '>=18'} - filename-reserved-regex@2.0.0: - resolution: {integrity: sha1-q/c9+rc10EVECr/qLZHzieu/oik=} - engines: {node: '>=4'} + nearest-color@0.4.4: + resolution: {integrity: sha512-orhcaIORC10tf41Ld2wwlcC+FaAavHG87JHWB3eHH5p7v2k9Tzym2XNEZzLAm5YJwGv6Q38WWc7SOb+Qfu/4NQ==} - filenamify@2.1.0: - resolution: {integrity: sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==} - engines: {node: '>=4'} + negotiator@0.6.4: + resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} + engines: {node: '>= 0.6'} - fill-range@4.0.0: - resolution: {integrity: sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=} - engines: {node: '>=0.10.0'} + node-abi@3.74.0: + resolution: {integrity: sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==} + engines: {node: '>=10'} - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} + node-addon-api@1.7.2: + resolution: {integrity: sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==} - filter-obj@5.1.0: - resolution: {integrity: sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==} - engines: {node: '>=14.16'} + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} - finalhandler@1.1.2: - resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} - engines: {node: '>= 0.8'} + node-api-version@0.2.0: + resolution: {integrity: sha512-fthTTsi8CxaBXMaBAD7ST2uylwvsnYxh2PfaScwpMhos6KlSFajXQPcM4ogNE1q2s3Lbz9GCGqeIHC+C6OZnKg==} - finalhandler@1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} - engines: {node: '>= 0.8'} + node-fetch-native@1.6.6: + resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==} - find-cache-dir@2.1.0: - resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} - engines: {node: '>=6'} + node-gyp@9.4.1: + resolution: {integrity: sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ==} + engines: {node: ^12.13 || ^14.13 || >=16} + hasBin: true - find-replace@3.0.0: - resolution: {integrity: sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==} - engines: {node: '>=4.0.0'} + node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} - find-root@1.1.0: - resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} + nodemon@3.1.9: + resolution: {integrity: sha512-hdr1oIb2p6ZSxu3PB2JWWYS7ZQ0qvaZsc3hK8DR8f02kRzc8rjYmxAIvdz+aYC+8F2IjNaB7HMcSDg8nQpJxyg==} + engines: {node: '>=10'} + hasBin: true - find-up@2.1.0: - resolution: {integrity: sha1-RdG35QbHF93UgndaK3eSCjwMV6c=} - engines: {node: '>=4'} + nopt@6.0.0: + resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + hasBin: true - find-up@3.0.0: - resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} - engines: {node: '>=6'} + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} + normalize-path@2.1.1: + resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} + engines: {node: '>=0.10.0'} - find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} - fkill@6.2.0: - resolution: {integrity: sha512-VoPpKScAzvZ07jtciOY0bJieJwyd/VVCuo4fn3nBLh4iBagzYED7GLQeFBpMpy7HP5edEKTDo8yxaIrYrwb7hg==} - engines: {node: '>=8'} + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} - flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} + normalize-url@6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} - flatted@3.2.4: - resolution: {integrity: sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==} + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - floating-vue@2.0.0-beta.17: - resolution: {integrity: sha512-zgHPIdlILFxMEq2kLpeUpE3SUSd/zHI4pNAO2QYtp2rATkiSOlcLJidTDjG3mcBKzN3ahoAF6t/FhA1VbMTkAg==} - peerDependencies: - vue: ^3.2.0 + npm2url@0.2.4: + resolution: {integrity: sha512-arzGp/hQz0Ey+ZGhF64XVH7Xqwd+1Q/po5uGiBbzph8ebX6T0uvt3N7c1nBHQNsQVykQgHhqoRTX7JFcHecGuw==} - flow-parser@0.168.0: - resolution: {integrity: sha512-YMlc+6vvyDPqWKOpzmyifJXBbwlNdqznuy8YBHxX1/90F8d+NnhsxMe1u/ok5LNvNJVJ2TVMkWudu0BUKOSawA==} - engines: {node: '>=0.4.0'} + npmlog@6.0.2: + resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. - follow-redirects@1.14.9: - resolution: {integrity: sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - fontello-cli@0.6.2: - resolution: {integrity: sha512-/85DkJNgbGOu0sh7sUAxWLbzq0cytWQtvn7WuRzpn6mcla6TEQz1JbYmpkAjX/PJiW867ujgoaFqm4CUoBBgwA==} - engines: {node: '>=8'} + nypm@0.5.2: + resolution: {integrity: sha512-AHzvnyUJYSrrphPhRWWZNcoZfArGNp3Vrc4pm/ZurO74tYNTgAPrEyBQEKy+qioqmWlPXwvMZCG2wOaHlPG0Pw==} + engines: {node: ^14.16.0 || >=16.10.0} hasBin: true - for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} - for-in@1.0.2: - resolution: {integrity: sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=} - engines: {node: '>=0.10.0'} + ohash@1.1.4: + resolution: {integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==} - forever-agent@0.6.1: - resolution: {integrity: sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=} + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - form-data@2.3.3: - resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} - engines: {node: '>= 0.12'} + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} - form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} - forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} + onetime@7.0.0: + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} - fragment-cache@0.2.1: - resolution: {integrity: sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=} - engines: {node: '>=0.10.0'} + onigasm@2.2.5: + resolution: {integrity: sha512-F+th54mPc0l1lp1ZcFMyL/jTs2Tlq4SqIHKIXGZOR/VkHkF9A7Fr5rRr5+ZG/lWeRsyrClLYRq7s/yFQ/XhWCA==} - fresh@0.5.2: - resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=} - engines: {node: '>= 0.6'} + openapi-types@12.1.3: + resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==} - from2@2.3.0: - resolution: {integrity: sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=} + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} - from@0.1.7: - resolution: {integrity: sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=} + ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} - fs-capacitor@2.0.4: - resolution: {integrity: sha512-8S4f4WsCryNw2mJJchi46YgB6CR5Ze+4L1h8ewl9tEpL4SJ3ZO+c/bS4BWhB8bK+O3TMqhuZarTitd0S0eh2pA==} - engines: {node: '>=8.5'} + p-cancelable@1.1.0: + resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} + engines: {node: '>=6'} - fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + p-cancelable@2.1.1: + resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} + engines: {node: '>=8'} - fs-exists-sync@0.1.0: - resolution: {integrity: sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=} - engines: {node: '>=0.10.0'} + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} - fs-extra@10.0.1: - resolution: {integrity: sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==} - engines: {node: '>=12'} + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} - fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} + p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} - fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} - fs-extra@9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} - fs-minipass@2.1.0: - resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} - engines: {node: '>= 8'} - - fs-plus@3.1.1: - resolution: {integrity: sha512-Se2PJdOWXqos1qVTkvqqjb0CSnfBnwwD+pq+z4ksT+e97mEShod/hrNg0TRCCsXPbJzcIq+NuzQhigunMWMJUA==} - - fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} - fstream@1.0.12: - resolution: {integrity: sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==} - engines: {node: '>=0.6'} + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} - fswin@2.17.1227: - resolution: {integrity: sha512-xNDktvwzSsXT8Xqnpz59VbuFwGHhtn1w+dS7QQ+wAu5cbH0p3WMGKU9Duf7cPna+nubhR+5ZG1MTl6/V6xgRgw==} - engines: {node: '>= 0.6'} + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + package-manager-detector@0.2.9: + resolution: {integrity: sha512-+vYvA/Y31l8Zk8dwxHhL3JfTuHPm6tlxM2A3GeQyl7ovYnSp1+mzAxClxaOr0qO1TtPxbQxetI7v5XqKLJZk7Q==} - functional-red-black-tree@1.0.1: - resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=} + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} - fuse.js@7.0.0: - resolution: {integrity: sha512-14F4hBIxqKvD4Zz/XjDc3y94mNZN6pRv3U13Udo0lNLCWRBUsrMv2xwcF/y/Z5sV6+FQW+/ow68cHpm4sunt8Q==} - engines: {node: '>=10'} + parse-gitignore@2.0.0: + resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==} + engines: {node: '>=14'} - generate-function@1.1.0: - resolution: {integrity: sha1-VMIbCAGSsW2Yd3ecW7gWZudyNl8=} + parse-imports@2.2.1: + resolution: {integrity: sha512-OL/zLggRp8mFhKL0rNORUTR4yBYujK/uU+xZL+/0Rgm2QE4nLO9v8PzEweSJEbMGKmDRjJE4R3IMJlL2di4JeQ==} + engines: {node: '>= 18'} - generate-object-property@1.2.0: - resolution: {integrity: sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=} + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} + parse-srcset@1.0.2: + resolution: {integrity: sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q==} - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} + parse5-htmlparser2-tree-adapter@7.1.0: + resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} - get-intrinsic@1.1.1: - resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==} + parse5-parser-stream@7.1.2: + resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} - get-proxy@2.1.0: - resolution: {integrity: sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==} - engines: {node: '>=4'} + parse5@7.2.1: + resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==} - get-stream@2.3.1: - resolution: {integrity: sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=} - engines: {node: '>=0.10.0'} + path-data-parser@0.1.0: + resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} - get-stream@3.0.0: - resolution: {integrity: sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=} + path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} - get-stream@4.1.0: - resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} - engines: {node: '>=6'} - - get-stream@5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - - get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} - engines: {node: '>= 0.4'} + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - get-value@2.0.6: - resolution: {integrity: sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=} + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} - getpass@0.1.7: - resolution: {integrity: sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=} + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} - git-clone@0.1.0: - resolution: {integrity: sha1-DXYWN3gJOu9/HDAjjyqe8/B6Lrk=} + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} - git-config-path@1.0.1: - resolution: {integrity: sha1-bTP37WPbDQ4RgTFQO6s6ykfVRmQ=} - engines: {node: '>=0.10.0'} + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - git-raw-commits@2.0.10: - resolution: {integrity: sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==} - engines: {node: '>=10'} - hasBin: true + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} - glob-parent@3.1.0: - resolution: {integrity: sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=} + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + pathe@2.0.2: + resolution: {integrity: sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w==} - glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - glob-to-regexp@0.3.0: - resolution: {integrity: sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=} + pe-library@0.4.1: + resolution: {integrity: sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw==} + engines: {node: '>=12', npm: '>=6'} - glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} - glob@7.2.0: - resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + perfect-scrollbar@1.5.6: + resolution: {integrity: sha512-rixgxw3SxyJbCaSpo1n35A/fwI1r2rdwMKOTCg/AcG+xOEyZcE8UHVjpZMFCVImzsFoCZeJTT+M/rdEIQYO2nw==} - global-agent@3.0.0: - resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} - engines: {node: '>=10.0'} + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - global-dirs@0.1.1: - resolution: {integrity: sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=} - engines: {node: '>=4'} + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} - global-dirs@3.0.0: - resolution: {integrity: sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==} - engines: {node: '>=10'} + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} - global-tunnel-ng@2.7.1: - resolution: {integrity: sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==} + pidtree@0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} engines: {node: '>=0.10'} + hasBin: true - globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - - globals@13.12.0: - resolution: {integrity: sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==} - engines: {node: '>=8'} + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} - globalthis@1.0.2: - resolution: {integrity: sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ==} - engines: {node: '>= 0.4'} + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} - globby@11.0.4: - resolution: {integrity: sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==} - engines: {node: '>=10'} + pkg-up@3.1.0: + resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} + engines: {node: '>=8'} - globby@9.2.0: - resolution: {integrity: sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==} - engines: {node: '>=6'} + plist@3.1.0: + resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==} + engines: {node: '>=10.4.0'} - got@8.3.2: - resolution: {integrity: sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==} + pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} - got@9.6.0: - resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} - engines: {node: '>=8.6'} - - graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + points-on-curve@0.2.0: + resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==} - graceful-fs@4.2.9: - resolution: {integrity: sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==} + points-on-path@0.2.1: + resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==} - graceful-readlink@1.0.1: - resolution: {integrity: sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==} - - graphlib@2.1.8: - resolution: {integrity: sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==} + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} - graphql-extensions@0.15.0: - resolution: {integrity: sha512-bVddVO8YFJPwuACn+3pgmrEg6I8iBuYLuwvxiE+lcQQ7POotVZxm2rgGw0PvVYmWWf3DT7nTVDZ5ROh/ALp8mA==} - engines: {node: '>=6.0'} - deprecated: 'The `graphql-extensions` API has been removed from Apollo Server 3. Use the plugin API instead: https://www.apollographql.com/docs/apollo-server/integrations/plugins/' - peerDependencies: - graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - graphql-subscriptions@1.2.1: - resolution: {integrity: sha512-95yD/tKi24q8xYa7Q9rhQN16AYj5wPbrb8tmHGM3WRc9EBmWrG/0kkMl+tQG8wcEuE9ibR4zyOM31p5Sdr2v4g==} - peerDependencies: - graphql: ^0.10.5 || ^0.11.3 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + postcss@8.5.3: + resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} + engines: {node: ^10 || ^12 || >=14} - graphql-tag@2.12.6: - resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} + prebuild-install@7.1.3: + resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} engines: {node: '>=10'} - peerDependencies: - graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + hasBin: true - graphql-tools@4.0.8: - resolution: {integrity: sha512-MW+ioleBrwhRjalKjYaLQbr+920pHBgy9vM/n47sswtns8+96sRn5M/G+J1eu7IMeKWiN/9p6tmwCHU7552VJg==} - deprecated: This package has been deprecated and now it only exports makeExecutableSchema.\nAnd it will no longer receive updates.\nWe recommend you to migrate to scoped packages such as @graphql-tools/schema, @graphql-tools/utils and etc.\nCheck out https://www.graphql-tools.com to learn what package you should use instead - peerDependencies: - graphql: ^0.13.0 || ^14.0.0 || ^15.0.0 - - graphql-type-json@0.3.2: - resolution: {integrity: sha512-J+vjof74oMlCWXSvt0DOf2APEdZOCdubEvGDUAlqH//VBYcOYsGgRW7Xzorr44LvkjiuvecWc8fChxuZZbChtg==} - peerDependencies: - graphql: '>=0.8.0' - - graphql@14.7.0: - resolution: {integrity: sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA==} - engines: {node: '>= 6.x'} + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} - growly@1.3.0: - resolution: {integrity: sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=} + prettier-plugin-tailwindcss@0.6.11: + resolution: {integrity: sha512-YxaYSIvZPAqhrrEpRtonnrXdghZg1irNg4qrjboCXrpybLWVs55cW2N3juhspVJiO0JBvYJT8SYsJpc8OQSnsA==} + engines: {node: '>=14.21.3'} + peerDependencies: + '@ianvs/prettier-plugin-sort-imports': '*' + '@prettier/plugin-pug': '*' + '@shopify/prettier-plugin-liquid': '*' + '@trivago/prettier-plugin-sort-imports': '*' + '@zackad/prettier-plugin-twig': '*' + prettier: ^3.0 + prettier-plugin-astro: '*' + prettier-plugin-css-order: '*' + prettier-plugin-import-sort: '*' + prettier-plugin-jsdoc: '*' + prettier-plugin-marko: '*' + prettier-plugin-multiline-arrays: '*' + prettier-plugin-organize-attributes: '*' + prettier-plugin-organize-imports: '*' + prettier-plugin-sort-imports: '*' + prettier-plugin-style-order: '*' + prettier-plugin-svelte: '*' + peerDependenciesMeta: + '@ianvs/prettier-plugin-sort-imports': + optional: true + '@prettier/plugin-pug': + optional: true + '@shopify/prettier-plugin-liquid': + optional: true + '@trivago/prettier-plugin-sort-imports': + optional: true + '@zackad/prettier-plugin-twig': + optional: true + prettier-plugin-astro: + optional: true + prettier-plugin-css-order: + optional: true + prettier-plugin-import-sort: + optional: true + prettier-plugin-jsdoc: + optional: true + prettier-plugin-marko: + optional: true + prettier-plugin-multiline-arrays: + optional: true + prettier-plugin-organize-attributes: + optional: true + prettier-plugin-organize-imports: + optional: true + prettier-plugin-sort-imports: + optional: true + prettier-plugin-style-order: + optional: true + prettier-plugin-svelte: + optional: true - handlebars@4.7.7: - resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} - engines: {node: '>=0.4.7'} + prettier@3.5.3: + resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} + engines: {node: '>=14'} hasBin: true - har-schema@2.0.0: - resolution: {integrity: sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=} - engines: {node: '>=4'} - - har-validator@5.1.5: - resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} + prismjs@1.30.0: + resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} engines: {node: '>=6'} - deprecated: this library is no longer supported - - hard-rejection@2.1.0: - resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} - engines: {node: '>=6'} - - has-bigints@1.0.1: - resolution: {integrity: sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==} - - has-cors@1.1.0: - resolution: {integrity: sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=} - has-flag@3.0.0: - resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=} - engines: {node: '>=4'} - - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - - has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} - - has-symbol-support-x@1.4.2: - resolution: {integrity: sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==} + proc-log@2.0.1: + resolution: {integrity: sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - has-symbols@1.0.2: - resolution: {integrity: sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==} - engines: {node: '>= 0.4'} - - has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - - has-to-string-tag-x@1.4.1: - resolution: {integrity: sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==} - - has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} - engines: {node: '>= 0.4'} - - has-value@0.3.1: - resolution: {integrity: sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=} - engines: {node: '>=0.10.0'} + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - has-value@1.0.0: - resolution: {integrity: sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=} - engines: {node: '>=0.10.0'} + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} - has-values@0.1.4: - resolution: {integrity: sha1-bWHeldkd/Km5oCCJrThL/49it3E=} - engines: {node: '>=0.10.0'} + promise-inflight@1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true - has-values@1.0.0: - resolution: {integrity: sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=} - engines: {node: '>=0.10.0'} + promise-retry@2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} - has-yarn@2.1.0: - resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} - engines: {node: '>=8'} + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} - has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} + pseudomap@1.0.2: + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} - hex-color-regex@1.1.0: - resolution: {integrity: sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==} + pstree.remy@1.1.8: + resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} - highlight.js@11.5.1: - resolution: {integrity: sha512-LKzHqnxr4CrD2YsNoIf/o5nJ09j4yi/GcH5BnYz9UnVpZdS4ucMgvP61TDty5xJcFGRjnH4DpujkS9bHT3hq0Q==} - engines: {node: '>=12.0.0'} + pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} - highlight.js@11.9.0: - resolution: {integrity: sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==} - engines: {node: '>=12.0.0'} + punycode.js@2.3.1: + resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} + engines: {node: '>=6'} - homedir-polyfill@1.0.3: - resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} - engines: {node: '>=0.10.0'} + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} - hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - hosted-git-info@4.0.2: - resolution: {integrity: sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==} + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} - hosted-git-info@4.1.0: - resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} - engines: {node: '>=10'} + radix-vue@1.9.17: + resolution: {integrity: sha512-mVCu7I2vXt1L2IUYHTt0sZMz7s1K2ZtqKeTIxG3yC5mMFfLBG4FtE1FDeRMpDd+Hhg/ybi9+iXmAP1ISREndoQ==} + peerDependencies: + vue: '>= 3.2.0' - hsl-regex@1.0.0: - resolution: {integrity: sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=} + rc9@2.1.2: + resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} - hsla-regex@1.0.0: - resolution: {integrity: sha1-wc56MWjIxmFAM6S194d/OyJfnDg=} + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true - htmlparser2@6.1.0: - resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} + read-binary-file-arch@1.0.6: + resolution: {integrity: sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==} + hasBin: true - htmlparser2@7.2.0: - resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==} + read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} - http-cache-semantics@3.8.1: - resolution: {integrity: sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==} + read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} - http-cache-semantics@4.1.0: - resolution: {integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==} + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - http-errors@1.8.1: - resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} - engines: {node: '>= 0.6'} + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} - http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} + readdir-glob@1.1.3: + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} - http-proxy-agent@5.0.0: - resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} - engines: {node: '>= 6'} + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} - http-signature@1.2.0: - resolution: {integrity: sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=} - engines: {node: '>=0.8', npm: '>=1.3.7'} + readdirp@4.1.1: + resolution: {integrity: sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==} + engines: {node: '>= 14.18.0'} - https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} + refa@0.12.1: + resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - human-signals@1.1.1: - resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} - engines: {node: '>=8.12.0'} + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} + regexp-ast-analysis@0.7.1: + resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - husky@7.0.4: - resolution: {integrity: sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==} - engines: {node: '>=12'} + regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} hasBin: true - i18next-fs-backend@1.1.4: - resolution: {integrity: sha512-/MfAGMP0jHonV966uFf9PkWWuDjPYLIcsipnSO3NxpNtAgRUKLTwvm85fEmsF6hGeu0zbZiCQ3W74jwO6K9uXA==} - - i18next@21.8.14: - resolution: {integrity: sha512-4Yi+DtexvMm/Yw3Q9fllzY12SgLk+Mcmar+rCAccsOPul/2UmnBzoHbTGn/L48IPkFcmrNaH7xTLboBWIbH6pw==} + regjsparser@0.10.0: + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} + hasBin: true - iconv-corefoundation@1.1.7: - resolution: {integrity: sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==} - engines: {node: ^8.11.2 || >=10} - os: [darwin] + remove-trailing-separator@1.1.0: + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} - iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - - ignore@4.0.6: - resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} - engines: {node: '>= 4'} - - ignore@5.2.0: - resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} - engines: {node: '>= 4'} + resedit@1.7.2: + resolution: {integrity: sha512-vHjcY2MlAITJhC0eRD/Vv8Vlgmu9Sd3LX9zZvtGzU5ZImdTN3+d6e/4mnTyV8vEbyf1sgNIrWxhWlrys52OkEA==} + engines: {node: '>=12', npm: '>=6'} - immutable@4.0.0: - resolution: {integrity: sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==} + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - import-fresh@2.0.0: - resolution: {integrity: sha1-2BNVwVYS04bGH53dOSLUMEgipUY=} + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} - import-global@0.1.0: - resolution: {integrity: sha1-l7OP1EQRTuwWgkqTX42ldbV6oc4=} - engines: {node: '>=4'} + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - import-lazy@2.1.0: - resolution: {integrity: sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=} - engines: {node: '>=4'} + resolve@1.22.10: + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + engines: {node: '>= 0.4'} + hasBin: true - imurmurhash@0.1.4: - resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} - engines: {node: '>=0.8.19'} + responselike@2.0.1: + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} - indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} - indexes-of@1.0.1: - resolution: {integrity: sha1-8w9xbI4r00bHtn0985FVZqfAVgc=} + restore-cursor@5.1.0: + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} + engines: {node: '>=18'} - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} - ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - ini@2.0.0: - resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} - engines: {node: '>=10'} + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - inquirer@7.3.3: - resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} - engines: {node: '>=8.0.0'} + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true - insertion-query@1.1.0: - resolution: {integrity: sha512-5HZCK1xmD+Cm5q9/Qk1S8tr2BqHtcvseGsg7LKD3WlHRg4OOCl7d6C5raGNXAhfV4NlUcHmAtdJt0b3vJPEuiA==} + roarr@2.15.4: + resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} + engines: {node: '>=8.0'} - interactjs@1.10.11: - resolution: {integrity: sha512-VPUWsGAOPmrZe1YF7Fq/4AIBBZ+3FikZRS8bpzT6VsAfUuhxl/CKJY73IAiZHd3fz9p174CXErn0Qs81XEFICA==} + robust-predicates@3.0.2: + resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} - internal-slot@1.0.3: - resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} - engines: {node: '>= 0.4'} + rollup@4.34.8: + resolution: {integrity: sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true - internmap@2.0.3: - resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} - engines: {node: '>=12'} + roughjs@4.6.6: + resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} - interpret@1.4.0: - resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} - engines: {node: '>= 0.10'} + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - into-stream@2.0.1: - resolution: {integrity: sha1-25sANpRFPq4JHYpchMwRUHt4HTE=} - engines: {node: '>=0.10.0'} + runtime-required@1.1.0: + resolution: {integrity: sha512-yX97f5E0WfNpcQnfVjap6vzQcvErkYYCx6eTK4siqGEdC8lglwypUFgZVTX7ShvIlgfkC4XGFl9O1KTYcff0pw==} + engines: {node: '>=4.0.0'} - into-stream@3.1.0: - resolution: {integrity: sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=} - engines: {node: '>=4'} + rw@1.3.3: + resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} - ip@1.1.5: - resolution: {integrity: sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=} + rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} - ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - is-absolute-url@2.1.0: - resolution: {integrity: sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=} - engines: {node: '>=0.10.0'} + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - is-accessor-descriptor@0.1.6: - resolution: {integrity: sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=} - engines: {node: '>=0.10.0'} + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - is-accessor-descriptor@1.0.0: - resolution: {integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==} - engines: {node: '>=0.10.0'} + sanitize-filename@1.6.3: + resolution: {integrity: sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==} - is-arrayish@0.2.1: - resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=} + sanitize-html@2.15.0: + resolution: {integrity: sha512-wIjst57vJGpLyBP8ioUbg6ThwJie5SuSIjHxJg53v5Fg+kUK+AXlb7bK3RNXpp315MvwM+0OBGCV6h5pPHsVhA==} - is-arrayish@0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + sass@1.85.1: + resolution: {integrity: sha512-Uk8WpxM5v+0cMR0XjX9KfRIacmSG86RH4DCCZjLU2rFh5tyutt9siAXJ7G+YfxQ99Q6wrRMbMlVl6KqUms71ag==} + engines: {node: '>=14.0.0'} + hasBin: true - is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + sax@1.4.1: + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + scslre@0.3.0: + resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==} + engines: {node: ^14.0.0 || >=16.0.0} - is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} + scule@1.3.0: + resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} - is-buffer@1.1.6: - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + semver-compare@1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} - is-callable@1.2.4: - resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} - engines: {node: '>= 0.4'} + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true - is-ci@2.0.0: - resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + semver@7.7.1: + resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} + engines: {node: '>=10'} hasBin: true - is-color-stop@1.1.0: - resolution: {integrity: sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=} + serialize-error@7.0.1: + resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} + engines: {node: '>=10'} - is-core-module@2.8.1: - resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==} + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - is-data-descriptor@0.1.4: - resolution: {integrity: sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=} - engines: {node: '>=0.10.0'} + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} - is-data-descriptor@1.0.0: - resolution: {integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==} - engines: {node: '>=0.10.0'} + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} - is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + shell-quote@1.8.2: + resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==} engines: {node: '>= 0.4'} - is-descriptor@0.1.6: - resolution: {integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==} - engines: {node: '>=0.10.0'} + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - is-descriptor@1.0.2: - resolution: {integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==} - engines: {node: '>=0.10.0'} + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} - is-directory@0.3.1: - resolution: {integrity: sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=} - engines: {node: '>=0.10.0'} + simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} - is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} + simple-get@4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + + simple-git-hooks@2.11.1: + resolution: {integrity: sha512-tgqwPUMDcNDhuf1Xf6KTUsyeqGdgKMhzaH4PAZZuzguOgTl5uuyeYe/8mWgAr6IBxB5V06uqEf6Dy37gIWDtDg==} hasBin: true - is-expression@4.0.0: - resolution: {integrity: sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==} + simple-update-notifier@2.0.0: + resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} + engines: {node: '>=10'} - is-extendable@0.1.1: - resolution: {integrity: sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=} - engines: {node: '>=0.10.0'} + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - is-extendable@1.0.1: - resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} - engines: {node: '>=0.10.0'} + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} - is-extglob@2.1.1: - resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} - engines: {node: '>=0.10.0'} + slashes@3.0.12: + resolution: {integrity: sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==} - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + slice-ansi@3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} engines: {node: '>=8'} - is-fullwidth-code-point@4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} engines: {node: '>=12'} - is-glob@3.1.0: - resolution: {integrity: sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=} - engines: {node: '>=0.10.0'} + slice-ansi@7.1.0: + resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + engines: {node: '>=18'} - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + slugify@1.6.6: + resolution: {integrity: sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==} + engines: {node: '>=8.0.0'} - is-installed-globally@0.4.0: - resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} - engines: {node: '>=10'} + smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - is-natural-number@4.0.1: - resolution: {integrity: sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=} + socks-proxy-agent@7.0.0: + resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==} + engines: {node: '>= 10'} - is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} - engines: {node: '>= 0.4'} + socks@2.8.3: + resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} - is-npm@5.0.0: - resolution: {integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==} - engines: {node: '>=10'} + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} - is-number-object@1.0.6: - resolution: {integrity: sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==} - engines: {node: '>= 0.4'} + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - is-number@3.0.0: - resolution: {integrity: sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=} + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - is-obj@2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} - is-object@1.0.2: - resolution: {integrity: sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==} + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - - is-plain-obj@1.1.0: - resolution: {integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4=} - engines: {node: '>=0.10.0'} - - is-plain-object@2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} - - is-plain-object@5.0.0: - resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} - engines: {node: '>=0.10.0'} + spdx-expression-parse@4.0.0: + resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} - is-promise@2.2.2: - resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} + spdx-license-ids@3.0.21: + resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} - is-property@1.0.2: - resolution: {integrity: sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=} + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} - is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} + sprintf-js@1.1.3: + resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} - is-resolvable@1.1.0: - resolution: {integrity: sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==} + ssri@9.0.1: + resolution: {integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - is-retry-allowed@1.2.0: - resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} - engines: {node: '>=0.10.0'} + stable-hash@0.0.4: + resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==} - is-shared-array-buffer@1.0.1: - resolution: {integrity: sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==} + stat-mode@1.0.0: + resolution: {integrity: sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==} + engines: {node: '>= 6'} - is-stream@1.1.0: - resolution: {integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ=} - engines: {node: '>=0.10.0'} + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} - is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} - - is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} - - is-text-path@1.0.1: - resolution: {integrity: sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=} - engines: {node: '>=0.10.0'} - - is-typedarray@1.0.0: - resolution: {integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=} + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} - is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} - is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - is-wsl@1.1.0: - resolution: {integrity: sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=} - engines: {node: '>=4'} + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} - is-yarn-global@0.3.0: - resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==} - - isarray@0.0.1: - resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} - - isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - - isbinaryfile@3.0.3: - resolution: {integrity: sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==} - engines: {node: '>=0.6.0'} - - isbinaryfile@4.0.10: - resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} - engines: {node: '>= 8.0.0'} - - isbinaryfile@4.0.8: - resolution: {integrity: sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==} - engines: {node: '>= 8.0.0'} + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} - isexe@2.0.0: - resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} - isobject@2.1.0: - resolution: {integrity: sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=} - engines: {node: '>=0.10.0'} + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} - isobject@3.0.1: - resolution: {integrity: sha1-TkMekrEalzFjaqH5yNHMvP2reN8=} + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} - isstream@0.1.2: - resolution: {integrity: sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=} - - isurl@1.0.0: - resolution: {integrity: sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==} - engines: {node: '>= 4'} - - iterall@1.3.0: - resolution: {integrity: sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==} - - jake@10.8.5: - resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==} - engines: {node: '>=10'} - hasBin: true - - java-parser@2.0.1: - resolution: {integrity: sha512-IPzs8LN8drvAZKbgW1MLLsrEeW4TwSy714I6ZHlEGNV6/42S2xRU5zDn3lP6uZQakwi7nyC00T6lZvwEnBujzw==} - - javascript-stringify@1.6.0: - resolution: {integrity: sha1-FC0RHzpuPa6PSpr9d9RYVbWpzOM=} - - jest-worker@27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} - engines: {node: '>= 10.13.0'} - - jju@1.4.0: - resolution: {integrity: sha1-o6vicYryQaKykE+EpiWXDzia4yo=} - - js-message@1.0.7: - resolution: {integrity: sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==} - engines: {node: '>=0.6.0'} - - js-stringify@1.0.2: - resolution: {integrity: sha1-Fzb939lyTyijaCrcYjCufk6Weds=} - - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} - jsbn@0.1.1: - resolution: {integrity: sha1-peZUwuWi3rXyAdls77yoDA7y9RM=} + strip-literal@3.0.0: + resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} - jscodeshift@0.11.0: - resolution: {integrity: sha512-SdRK2C7jjs4k/kT2mwtO07KJN9RnjxtKn03d9JVj6c3j9WwaLcFYsICYDnLAzY0hp+wG2nxl+Cm2jWLiNVYb8g==} - hasBin: true - peerDependencies: - '@babel/preset-env': ^7.1.6 + stylis@4.3.6: + resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==} - jsesc@0.5.0: - resolution: {integrity: sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=} - hasBin: true + sumchecker@3.0.1: + resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==} + engines: {node: '>= 8.0'} - jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} - hasBin: true - json-buffer@3.0.0: - resolution: {integrity: sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=} - - json-parse-better-errors@1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} - - json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - - json-parse-helpfulerror@1.0.3: - resolution: {integrity: sha1-E/FM4C7tTpgSl7ZOueO5MuLdE9w=} - - json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} - json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} - json-schema-typed@7.0.3: - resolution: {integrity: sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==} + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} - json-schema@0.4.0: - resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + synckit@0.6.2: + resolution: {integrity: sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==} + engines: {node: '>=12.20'} - json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=} + synckit@0.9.2: + resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} + engines: {node: ^14.18.0 || >=16.0.0} - json-stringify-safe@5.0.1: - resolution: {integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=} + tailwind-merge@3.0.2: + resolution: {integrity: sha512-l7z+OYZ7mu3DTqrL88RiKrKIqO3NcpEO8V/Od04bNpvk0kiIFndGEoqfuzvj4yuhRkHKjRkII2z+KS2HfPcSxw==} - json5@1.0.1: - resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} - hasBin: true + tailwindcss@4.0.9: + resolution: {integrity: sha512-12laZu+fv1ONDRoNR9ipTOpUD7RN9essRVkX36sjxuRUInpN7hIiHN4lBd/SIFjbISvnXzp8h/hXzmU8SQQYhw==} - json5@2.2.0: - resolution: {integrity: sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==} + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} - hasBin: true - json5@2.2.1: - resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} - engines: {node: '>=6'} - hasBin: true + tar-fs@2.1.2: + resolution: {integrity: sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==} - jsonc-parser@2.3.1: - resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==} + tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} - jsonc-parser@3.0.0: - resolution: {integrity: sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==} + tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} - jsonfile@4.0.0: - resolution: {integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=} + temp-file@3.4.0: + resolution: {integrity: sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==} - jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + text-extensions@2.4.0: + resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} + engines: {node: '>=8'} - jsonparse@1.3.1: - resolution: {integrity: sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=} - engines: {'0': node >= 0.2.0} + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - jsprim@1.4.2: - resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} - engines: {node: '>=0.6.0'} + tiny-conventional-commits-parser@0.0.1: + resolution: {integrity: sha512-N5+AZWdBeHNSgTIaxvx0+9mFrnW4H1BbjQ84H7i3TuWSkno8Hju886hLaHZhE/hYEKrfrfl/uHurqpZJHDuYGQ==} - jstransformer@1.0.0: - resolution: {integrity: sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=} + tinyexec@0.3.2: + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - katex@0.16.9: - resolution: {integrity: sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ==} - hasBin: true + tinyglobby@0.2.10: + resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} + engines: {node: '>=12.0.0'} - keyv@3.0.0: - resolution: {integrity: sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==} + tinyglobby@0.2.12: + resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==} + engines: {node: '>=12.0.0'} - keyv@3.1.0: - resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} + tmp-promise@3.0.3: + resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} - khroma@2.0.0: - resolution: {integrity: sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==} + tmp@0.2.3: + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} - kind-of@3.2.2: - resolution: {integrity: sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=} - engines: {node: '>=0.10.0'} + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} - kind-of@4.0.0: - resolution: {integrity: sha1-IIE989cSkosgc3hpGkUGb65y3Vc=} - engines: {node: '>=0.10.0'} + toml-eslint-parser@0.10.0: + resolution: {integrity: sha512-khrZo4buq4qVmsGzS5yQjKe/WsFvV8fGfOjDQN0q4iy9FjRfPWRgTFrU8u1R2iu/SfWLhY9WnCi4Jhdrcbtg+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - kind-of@5.1.0: - resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} - engines: {node: '>=0.10.0'} + toml@3.0.0: + resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} - kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} + touch@3.1.1: + resolution: {integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==} + hasBin: true - kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true - kolorist@1.5.1: - resolution: {integrity: sha512-lxpCM3HTvquGxKGzHeknB/sUjuVoUElLlfYnXZT73K8geR9jQbroGlSCFBax9/0mpGoD3kzcMLnOlGQPJJNyqQ==} + truncate-utf8-bytes@1.0.2: + resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==} - latest-version@5.1.0: - resolution: {integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==} - engines: {node: '>=8'} + ts-api-utils@2.0.1: + resolution: {integrity: sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' - launch-editor@2.3.0: - resolution: {integrity: sha512-3QrsCXejlWYHjBPFXTyGNhPj4rrQdB+5+r5r3wArpLH201aR+nWUgw/zKKkTmilCfY/sv6u8qo98pNvtg8LUTA==} + ts-dedent@2.2.0: + resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} + engines: {node: '>=6.10'} - lazy-val@1.0.5: - resolution: {integrity: sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} + tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - lilconfig@2.0.4: - resolution: {integrity: sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==} + type-fest@0.13.1: + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} engines: {node: '>=10'} - lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - - linguist-languages@7.15.0: - resolution: {integrity: sha512-qkSSNDjDDycZ2Wcw+GziNBB3nNo3ddYUInM/PL8Amgwbd9RQ/BKGj2/1d6mdxKgBFnUqZuaDbkIwkE4KUwwmtQ==} - - lint-staged@12.1.4: - resolution: {integrity: sha512-RgDz9nsFsE0/5eL9Vat0AvCuk0+j5mEuzBIVfrRH5FRtt5wibYe8zTjZs2nuqLFrLAGQGYnj8+HJxolcj08i/A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hasBin: true - - listenercount@1.0.1: - resolution: {integrity: sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=} - - listr2@3.13.5: - resolution: {integrity: sha512-3n8heFQDSk+NcwBn3CgxEibZGaRzx+pC64n3YjpMD1qguV4nWus3Al+Oo3KooqFKTQEJ1v7MmnbnyyNspgx3NA==} - engines: {node: '>=10.0.0'} - peerDependencies: - enquirer: '>= 2.3.0 < 3' - peerDependenciesMeta: - enquirer: - optional: true - - load-json-file@4.0.0: - resolution: {integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs=} - engines: {node: '>=4'} - - loader-runner@4.2.0: - resolution: {integrity: sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==} - engines: {node: '>=6.11.5'} - - local-pkg@0.4.1: - resolution: {integrity: sha512-lL87ytIGP2FU5PWwNDo0w3WhIo2gopIAxPg9RxDYF7m4rr5ahuZxP22xnJHIvaLTe4Z9P6uKKY2UHiwyB4pcrw==} - engines: {node: '>=14'} - - locate-path@2.0.0: - resolution: {integrity: sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=} - engines: {node: '>=4'} + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} - locate-path@3.0.0: - resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} - engines: {node: '>=6'} + type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} - locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} - locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} - lodash-id@0.14.1: - resolution: {integrity: sha512-ikQPBTiq/d5m6dfKQlFdIXFzvThPi2Be9/AHxktOnDSfSxE1j9ICbBT5Elk1ke7HSTgM38LHTpmJovo9/klnLg==} - engines: {node: '>= 4'} + typescript@5.7.3: + resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} + engines: {node: '>=14.17'} + hasBin: true - lodash.camelcase@4.3.0: - resolution: {integrity: sha1-soqmKIorn8ZRA1x3EfZathkDMaY=} + uc.micro@2.1.0: + resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} - lodash.clonedeep@4.5.0: - resolution: {integrity: sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=} + ufo@1.5.4: + resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} - lodash.debounce@4.0.8: - resolution: {integrity: sha1-gteb/zCmfEAF/9XiUVMArZyk168=} + undefsafe@2.0.5: + resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} - lodash.get@4.4.2: - resolution: {integrity: sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=} + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} - lodash.memoize@4.1.2: - resolution: {integrity: sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=} + undici-types@6.20.0: + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + undici@6.21.2: + resolution: {integrity: sha512-uROZWze0R0itiAKVPsYhFov9LxrPMHLMEQFszeI2gCN6bnIIZ8twzBCJcN2LJrBBLfrP0t1FW0g+JmKVl8Vk1g==} + engines: {node: '>=18.17'} - lodash.sortby@4.7.0: - resolution: {integrity: sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=} + unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} - lodash.uniq@4.5.0: - resolution: {integrity: sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=} + unimport@4.1.2: + resolution: {integrity: sha512-oVUL7PSlyVV3QRhsdcyYEMaDX8HJyS/CnUonEJTYA3//bWO+o/4gG8F7auGWWWkrrxBQBYOO8DKe+C53ktpRXw==} + engines: {node: '>=18.12.0'} - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + unique-filename@2.0.1: + resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - log-symbols@2.2.0: - resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==} - engines: {node: '>=4'} + unique-slug@3.0.0: + resolution: {integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - log-update@4.0.0: - resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} - engines: {node: '>=10'} + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} - loglevel@1.8.0: - resolution: {integrity: sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==} - engines: {node: '>= 0.6.0'} + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - long@4.0.0: - resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==} + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} - lowdb@1.0.0: - resolution: {integrity: sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==} - engines: {node: '>=4'} + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} - lowdb@3.0.0: - resolution: {integrity: sha512-9KZRulmIcU8fZuWiaM0d5e2/nPnrFyXkeXVpqT+MJS+vgbgOf1EbtvgQmba8HwUFgDl1oeZR6XqEJnkJmQdKmg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} - lowercase-keys@1.0.0: - resolution: {integrity: sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=} - engines: {node: '>=0.10.0'} + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} - lowercase-keys@1.0.1: - resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} + unixify@1.0.0: + resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} engines: {node: '>=0.10.0'} - lowercase-keys@2.0.0: - resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} - engines: {node: '>=8'} + unplugin-auto-import@19.1.0: + resolution: {integrity: sha512-B+TGBEBHqY9aR+7YfShfLujETOHstzpV+yaqgy5PkfV0QG7Py+TYMX7vJ9W4SrysHR+UzR+gzcx/nuZjmPeclA==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': ^3.2.2 + '@vueuse/core': '*' + peerDependenciesMeta: + '@nuxt/kit': + optional: true + '@vueuse/core': + optional: true - lru-cache@4.1.5: - resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} + unplugin-utils@0.2.4: + resolution: {integrity: sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==} + engines: {node: '>=18.12.0'} - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + unplugin-vue-components@28.4.0: + resolution: {integrity: sha512-fnamX2RiKM30nPK4tihEas+bHnbLICo6MmOiP4jGg7fAlgNEuaLvN9yx96JwZDOYfLQcrNzikDdPhZ8k6pkhMg==} + engines: {node: '>=14'} + peerDependencies: + '@babel/parser': ^7.15.8 + '@nuxt/kit': ^3.2.2 + vue: 2 || 3 + peerDependenciesMeta: + '@babel/parser': + optional: true + '@nuxt/kit': + optional: true - lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + unplugin@2.2.0: + resolution: {integrity: sha512-m1ekpSwuOT5hxkJeZGRxO7gXbXT3gF26NjQ7GdVHoLoF8/nopLcd/QfPigpCy7i51oFHiRJg/CyHhj4vs2+KGw==} + engines: {node: '>=18.12.0'} - magic-string@0.25.9: - resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + update-browserslist-db@1.1.2: + resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' - magic-string@0.26.1: - resolution: {integrity: sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==} - engines: {node: '>=12'} + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - make-dir@1.3.0: - resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==} - engines: {node: '>=4'} + utf8-byte-length@1.0.5: + resolution: {integrity: sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==} - make-dir@2.1.0: - resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} - engines: {node: '>=6'} + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} + uuid@11.1.0: + resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==} + hasBin: true - make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - map-age-cleaner@0.1.3: - resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==} - engines: {node: '>=6'} + verror@1.10.1: + resolution: {integrity: sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==} + engines: {node: '>=0.6.0'} - map-cache@0.2.2: - resolution: {integrity: sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=} - engines: {node: '>=0.10.0'} - - map-obj@1.0.1: - resolution: {integrity: sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=} - engines: {node: '>=0.10.0'} - - map-obj@4.3.0: - resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} - engines: {node: '>=8'} - - map-stream@0.1.0: - resolution: {integrity: sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=} - - map-visit@1.0.0: - resolution: {integrity: sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=} - engines: {node: '>=0.10.0'} - - marked@4.0.17: - resolution: {integrity: sha512-Wfk0ATOK5iPxM4ptrORkFemqroz0ZDxp5MWfYA7H/F+wO17NRWV5Ypxi6p3g2Xmw2bKeiYOl6oVnLHKxBA0VhA==} - engines: {node: '>= 12'} - hasBin: true - - markmap-common@0.15.3: - resolution: {integrity: sha512-a40FfdzFEKoyIhd5KDsV6FfkM55WWi2spRq/cUCsOZd8e4PAHMc9auCEjdxTWRiS2EGzET9sPpvyAmPSTva+/w==} - - markmap-lib@0.15.4: - resolution: {integrity: sha512-uz/IedoGXoDD6eXpmyD+1vx+g3rEzomX1uwnXOxnigXC9ApXG67lUhA4ffNlucgoV4/BLA2m6KyVvswECjljVQ==} - peerDependencies: - markmap-common: '*' - - markmap-view@0.15.4: - resolution: {integrity: sha512-6PJnoPZHiQIb0YE+fg0Ht1ptEXgf9QOOTBEiC2DrzjAbZ3rrRa2g+0VhpZ+9vSzDsUa+m/IGz4xkiNepuPfs5w==} - peerDependencies: - markmap-common: '*' - - matcher@3.0.0: - resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} - engines: {node: '>=10'} - - mdn-data@1.1.4: - resolution: {integrity: sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==} - - mdn-data@2.0.14: - resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} - - mdn-data@2.0.4: - resolution: {integrity: sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==} - - media-typer@0.3.0: - resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=} - engines: {node: '>= 0.6'} - - mem@8.1.1: - resolution: {integrity: sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==} - engines: {node: '>=10'} - - memory-fs@0.2.0: - resolution: {integrity: sha1-8rslNovBIeORwlIN6Slpyu4KApA=} - - memorystream@0.3.1: - resolution: {integrity: sha1-htcJCzDORV1j+64S3aUaR93K+bI=} - engines: {node: '>= 0.10.0'} - - meow@8.1.2: - resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} - engines: {node: '>=10'} - - merge-descriptors@1.0.1: - resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=} - - 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'} - - merge@1.2.1: - resolution: {integrity: sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==} - - mermaid@9.1.3: - resolution: {integrity: sha512-jTIYiqKwsUXVCoxHUVkK8t0QN3zSKIdJlb9thT0J5jCnzXyc+gqTbZE2QmjRfavFTPPn5eRy5zaFp7V+6RhxYg==} - - method-override@3.0.0: - resolution: {integrity: sha512-IJ2NNN/mSl9w3kzWB92rcdHpz+HjkxhDJWNDBqSlas+zQdP8wBiJzITPg08M/k2uVvMow7Sk41atndNtt/PHSA==} - engines: {node: '>= 0.10'} - - methods@1.1.2: - resolution: {integrity: sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=} - engines: {node: '>= 0.6'} - - micromatch@3.1.10: - resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} - engines: {node: '>=0.10.0'} - - micromatch@4.0.4: - resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} - 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@2.6.0: - resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} - engines: {node: '>=4.0.0'} - hasBin: true - - mimic-fn@1.2.0: - resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} - engines: {node: '>=4'} - - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - - mimic-fn@3.1.0: - resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==} - engines: {node: '>=8'} - - mimic-response@1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} - - min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - - minimatch@3.0.4: - resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} - - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - - minimatch@5.0.1: - resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==} - engines: {node: '>=10'} - - minimatch@5.1.0: - resolution: {integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==} - engines: {node: '>=10'} - - minimist-options@4.1.0: - resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} - engines: {node: '>= 6'} - - minimist@1.2.5: - resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} - - minimist@1.2.6: - resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} - - minipass@3.3.4: - resolution: {integrity: sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==} - engines: {node: '>=8'} - - minizlib@2.1.2: - resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} - engines: {node: '>= 8'} - - mitt@3.0.0: - resolution: {integrity: sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==} - - mixin-deep@1.3.2: - resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} - engines: {node: '>=0.10.0'} - - mkdirp@0.5.5: - resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==} - hasBin: true - - 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 - - moment-mini@2.24.0: - resolution: {integrity: sha512-9ARkWHBs+6YJIvrIp0Ik5tyTTtP9PoV0Ssu2Ocq5y9v8+NOOpWiRshAp8c4rZVWTOe+157on/5G+zj5pwIQFEQ==} - - monaco-textmate@3.0.1: - resolution: {integrity: sha512-ZxxY3OsqUczYP1sGqo97tu+CJmMBwuSW+dL0WEBdDhOZ5G1zntw72hvBc68ZQAirosWvbDKgN1dL5k173QtFww==} - peerDependencies: - onigasm: ^2.0.0 - - morgan@1.10.0: - resolution: {integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==} - engines: {node: '>= 0.8.0'} - - 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==} - - mute-stream@0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - - mvdan-sh@0.5.0: - resolution: {integrity: sha512-UWbdl4LHd2fUnaEcOUFVWRdWGLkNoV12cKVIPiirYd8qM5VkCoCTXErlDubevrkEG7kGohvjRxAlTQmOqG80tw==} - - nanoid@2.1.11: - resolution: {integrity: sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==} - - nanoid@3.3.2: - resolution: {integrity: sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - nanomatch@1.2.13: - resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} - engines: {node: '>=0.10.0'} - - natural-compare@1.4.0: - resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} - - ndjson@1.5.0: - resolution: {integrity: sha1-rmA7NrE0vOw0e0UkIrC/mNWDLsg=} - hasBin: true - - neat-csv@2.1.0: - resolution: {integrity: sha1-BvWDYMTDuVW9Rn3cha5FEaOQekw=} - engines: {node: '>=4'} - - needle@2.9.1: - resolution: {integrity: sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==} - engines: {node: '>= 4.4.x'} + vite@6.1.1: + resolution: {integrity: sha512-4GgM54XrwRfrOp297aIYspIti66k56v16ZnqHvrIM7mG+HjDlAwS7p+Srr7J6fGvEdOJ5JcQ/D9T7HhtdXDTzA==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - - 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==} - - nice-try@1.0.5: - resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - - node-addon-api@1.7.2: - resolution: {integrity: sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==} - - node-cleanup@2.1.2: - resolution: {integrity: sha1-esGavSl+Caf3KnFUXZUbUX5N3iw=} - - node-dir@0.1.17: - resolution: {integrity: sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=} - engines: {node: '>= 0.10.5'} - - node-fetch@2.6.7: - resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} - engines: {node: 4.x || >=6.0.0} peerDependencies: - encoding: ^0.1.0 + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 peerDependenciesMeta: - encoding: + '@types/node': optional: true - - node-gyp-build@4.3.0: - resolution: {integrity: sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==} - hasBin: true - - node-notifier@9.0.1: - resolution: {integrity: sha512-fPNFIp2hF/Dq7qLDzSg4vZ0J4e9v60gJR+Qx7RbjbWqzPDdEqeVpEx5CFeDAELIl+A/woaaNn1fQ5nEVerMxJg==} - - node-releases@2.0.2: - resolution: {integrity: sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==} - - noms@0.0.0: - resolution: {integrity: sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow==} - - normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - - normalize-package-data@3.0.3: - resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} - engines: {node: '>=10'} - - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - - normalize-url@2.0.1: - resolution: {integrity: sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==} - engines: {node: '>=4'} - - normalize-url@3.3.0: - resolution: {integrity: sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==} - engines: {node: '>=6'} - - normalize-url@4.5.1: - resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} - engines: {node: '>=8'} - - npm-conf@1.1.3: - resolution: {integrity: sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==} - engines: {node: '>=4'} - - npm-run-all@4.1.5: - resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} - engines: {node: '>= 4'} - hasBin: true - - npm-run-path@2.0.2: - resolution: {integrity: sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=} - engines: {node: '>=4'} - - npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - - npm2url@0.2.1: - resolution: {integrity: sha512-Ls7mMyud1Kk0EisqsTt2TPtM7gLRvgmvDxOg3FPI5zjfhQ+ZFNBXX2K9VT7vo+HqUsz/uCiIxkcO0SvIuneVug==} - - nth-check@1.0.2: - resolution: {integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==} - - nth-check@2.0.1: - resolution: {integrity: sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==} - - oauth-sign@0.9.0: - resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} - - object-assign@4.1.1: - resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=} - engines: {node: '>=0.10.0'} - - object-copy@0.1.0: - resolution: {integrity: sha1-fn2Fi3gb18mRpBupde04EnVOmYw=} - engines: {node: '>=0.10.0'} - - object-inspect@1.12.0: - resolution: {integrity: sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==} - - object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - - object-path@0.11.8: - resolution: {integrity: sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==} - engines: {node: '>= 10.12.0'} - - object-visit@1.0.1: - resolution: {integrity: sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=} - engines: {node: '>=0.10.0'} - - object.assign@4.1.2: - resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} - engines: {node: '>= 0.4'} - - object.getownpropertydescriptors@2.1.3: - resolution: {integrity: sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==} - engines: {node: '>= 0.8'} - - object.pick@1.3.0: - resolution: {integrity: sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=} - engines: {node: '>=0.10.0'} - - object.values@1.1.5: - resolution: {integrity: sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==} - engines: {node: '>= 0.4'} - - on-finished@2.3.0: - resolution: {integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=} - engines: {node: '>= 0.8'} - - on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} - - on-headers@1.0.2: - resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} - engines: {node: '>= 0.8'} - - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - - onetime@2.0.1: - resolution: {integrity: sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=} - engines: {node: '>=4'} - - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - - onigasm@2.2.5: - resolution: {integrity: sha512-F+th54mPc0l1lp1ZcFMyL/jTs2Tlq4SqIHKIXGZOR/VkHkF9A7Fr5rRr5+ZG/lWeRsyrClLYRq7s/yFQ/XhWCA==} - - open@6.4.0: - resolution: {integrity: sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==} - engines: {node: '>=8'} - - open@7.4.2: - resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} - engines: {node: '>=8'} - - optionator@0.9.1: - resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} - engines: {node: '>= 0.8.0'} - - ora@3.4.0: - resolution: {integrity: sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==} - engines: {node: '>=6'} - - os-tmpdir@1.0.2: - resolution: {integrity: sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=} - engines: {node: '>=0.10.0'} - - p-cancelable@0.4.1: - resolution: {integrity: sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==} - engines: {node: '>=4'} - - p-cancelable@1.1.0: - resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} - engines: {node: '>=6'} - - p-defer@1.0.0: - resolution: {integrity: sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=} - engines: {node: '>=4'} - - p-event@2.3.1: - resolution: {integrity: sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==} - engines: {node: '>=6'} - - p-finally@1.0.0: - resolution: {integrity: sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=} - engines: {node: '>=4'} - - p-finally@2.0.1: - resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} - engines: {node: '>=8'} - - p-is-promise@1.1.0: - resolution: {integrity: sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=} - engines: {node: '>=4'} - - p-limit@1.3.0: - resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} - engines: {node: '>=4'} - - 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-locate@2.0.0: - resolution: {integrity: sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=} - engines: {node: '>=4'} - - p-locate@3.0.0: - resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} - engines: {node: '>=6'} - - 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-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - - p-timeout@2.0.1: - resolution: {integrity: sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==} - engines: {node: '>=4'} - - p-try@1.0.0: - resolution: {integrity: sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=} - engines: {node: '>=4'} - - p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - - package-json@6.5.0: - resolution: {integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==} - engines: {node: '>=8'} - - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - - parse-git-config@2.0.3: - resolution: {integrity: sha512-Js7ueMZOVSZ3tP8C7E3KZiHv6QQl7lnJ+OkbxoaFazzSa2KyEHqApfGbU3XboUgUnq4ZuUmskUpYKTNx01fm5A==} - engines: {node: '>=6'} - - parse-json@4.0.0: - resolution: {integrity: sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=} - engines: {node: '>=4'} - - parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - - parse-passwd@1.0.0: - resolution: {integrity: sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=} - engines: {node: '>=0.10.0'} - - parse-srcset@1.0.2: - resolution: {integrity: sha1-8r0iH2zJcKk42IVWq8WJyqqiveE=} - - parse-svg-path@0.1.2: - resolution: {integrity: sha1-en7A0esG+lMlx9PgCbhZoJtdSes=} - - parse5-htmlparser2-tree-adapter@6.0.1: - resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} - - parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - - parseqs@0.0.6: - resolution: {integrity: sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==} - - parseuri@0.0.6: - resolution: {integrity: sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==} - - parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - - pascalcase@0.1.1: - resolution: {integrity: sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=} - engines: {node: '>=0.10.0'} - - path-dirname@1.0.2: - resolution: {integrity: sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=} - - path-exists@3.0.0: - resolution: {integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=} - engines: {node: '>=4'} - - path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - - path-key@2.0.1: - resolution: {integrity: sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=} - engines: {node: '>=4'} - - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - - path-to-regexp@0.1.7: - resolution: {integrity: sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=} - - path-to-regexp@1.8.0: - resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} - - path-type@3.0.0: - resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} - engines: {node: '>=4'} - - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - - pause-stream@0.0.11: - resolution: {integrity: sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=} - - pend@1.2.0: - resolution: {integrity: sha1-elfrVQpng/kRUzH89GY9XI4AelA=} - - perfect-scrollbar@1.5.5: - resolution: {integrity: sha512-dzalfutyP3e/FOpdlhVryN4AJ5XDVauVWxybSkLZmakFE2sS3y3pc4JnSprw8tGmHvkaG5Edr5T7LBTZ+WWU2g==} - - performance-now@2.1.0: - resolution: {integrity: sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=} - - php-parser@3.1.0-beta.5: - resolution: {integrity: sha512-3F3+yThjD7wn0sMuIG5iMQqutmH+RJUAbEyPW5S/greTp5ZArkpEweylQh+do22q9UJlJT1PrLN/AwnzDUti6Q==} - - picocolors@0.2.1: - resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==} - - picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - - pid-from-port@1.1.3: - resolution: {integrity: sha512-OlE82n3yMOE5dY9RMOwxhoWefeMlxwk5IVxoj0sSzSFIlmvhN4obzTvO3s/d/b5JhcgXikjaspsy/HuUDTqbBg==} - engines: {node: '>=4'} - - pidtree@0.3.1: - resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} - engines: {node: '>=0.10'} - hasBin: true - - pify@2.3.0: - resolution: {integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw=} - engines: {node: '>=0.10.0'} - - pify@3.0.0: - resolution: {integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=} - engines: {node: '>=4'} - - pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - - pinia@2.0.13: - resolution: {integrity: sha512-B7rSqm1xNpwcPMnqns8/gVBfbbi7lWTByzS6aPZ4JOXSJD4Y531rZHDCoYWBwLyHY/8hWnXljgiXp6rRyrofcw==} - peerDependencies: - '@vue/composition-api': ^1.4.0 - typescript: '>=4.4.4' - vue: ^2.6.14 || ^3.2.0 - peerDependenciesMeta: - '@vue/composition-api': + jiti: optional: true - typescript: + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: optional: true - pinkie-promise@2.0.1: - resolution: {integrity: sha1-ITXW36ejWMBprJsXh3YogihFD/o=} - engines: {node: '>=0.10.0'} - - pinkie@2.0.4: - resolution: {integrity: sha1-clVrgM+g1IqXToDnckjoDtT3+HA=} - engines: {node: '>=0.10.0'} - - pirates@4.0.4: - resolution: {integrity: sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==} - engines: {node: '>= 6'} - - pkg-dir@2.0.0: - resolution: {integrity: sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=} - engines: {node: '>=4'} - - pkg-dir@3.0.0: - resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} - engines: {node: '>=6'} - - pkg-up@3.1.0: - resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} - engines: {node: '>=8'} - - please-upgrade-node@3.2.0: - resolution: {integrity: sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==} - - plist@3.0.5: - resolution: {integrity: sha512-83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA==} - engines: {node: '>=6'} - - pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} - - portfinder@1.0.28: - resolution: {integrity: sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==} - engines: {node: '>= 0.12.0'} - - posix-character-classes@0.1.1: - resolution: {integrity: sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=} - engines: {node: '>=0.10.0'} - - postcss-calc@7.0.5: - resolution: {integrity: sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==} - - postcss-colormin@4.0.3: - resolution: {integrity: sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==} - engines: {node: '>=6.9.0'} - - postcss-convert-values@4.0.1: - resolution: {integrity: sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==} - engines: {node: '>=6.9.0'} - - postcss-discard-comments@4.0.2: - resolution: {integrity: sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==} - engines: {node: '>=6.9.0'} - - postcss-discard-duplicates@4.0.2: - resolution: {integrity: sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==} - engines: {node: '>=6.9.0'} - - postcss-discard-empty@4.0.1: - resolution: {integrity: sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==} - engines: {node: '>=6.9.0'} - - postcss-discard-overridden@4.0.1: - resolution: {integrity: sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==} - engines: {node: '>=6.9.0'} - - postcss-import@12.0.1: - resolution: {integrity: sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==} - engines: {node: '>=6.0.0'} - - postcss-merge-longhand@4.0.11: - resolution: {integrity: sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==} - engines: {node: '>=6.9.0'} - - postcss-merge-rules@4.0.3: - resolution: {integrity: sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==} - engines: {node: '>=6.9.0'} - - postcss-minify-font-values@4.0.2: - resolution: {integrity: sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==} - engines: {node: '>=6.9.0'} - - postcss-minify-gradients@4.0.2: - resolution: {integrity: sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==} - engines: {node: '>=6.9.0'} - - postcss-minify-params@4.0.2: - resolution: {integrity: sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==} - engines: {node: '>=6.9.0'} - - postcss-minify-selectors@4.0.2: - resolution: {integrity: sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==} - engines: {node: '>=6.9.0'} - - postcss-normalize-charset@4.0.1: - resolution: {integrity: sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==} - engines: {node: '>=6.9.0'} - - postcss-normalize-display-values@4.0.2: - resolution: {integrity: sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==} - engines: {node: '>=6.9.0'} - - postcss-normalize-positions@4.0.2: - resolution: {integrity: sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==} - engines: {node: '>=6.9.0'} - - postcss-normalize-repeat-style@4.0.2: - resolution: {integrity: sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==} - engines: {node: '>=6.9.0'} - - postcss-normalize-string@4.0.2: - resolution: {integrity: sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==} - engines: {node: '>=6.9.0'} - - postcss-normalize-timing-functions@4.0.2: - resolution: {integrity: sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==} - engines: {node: '>=6.9.0'} - - postcss-normalize-unicode@4.0.1: - resolution: {integrity: sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==} - engines: {node: '>=6.9.0'} - - postcss-normalize-url@4.0.1: - resolution: {integrity: sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==} - engines: {node: '>=6.9.0'} - - postcss-normalize-whitespace@4.0.2: - resolution: {integrity: sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==} - engines: {node: '>=6.9.0'} - - postcss-ordered-values@4.1.2: - resolution: {integrity: sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==} - engines: {node: '>=6.9.0'} - - postcss-reduce-initial@4.0.3: - resolution: {integrity: sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==} - engines: {node: '>=6.9.0'} - - postcss-reduce-transforms@4.0.2: - resolution: {integrity: sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==} - engines: {node: '>=6.9.0'} - - postcss-selector-parser@3.1.2: - resolution: {integrity: sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==} - engines: {node: '>=8'} - - postcss-selector-parser@6.0.10: - resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} - engines: {node: '>=4'} - - postcss-svgo@4.0.3: - resolution: {integrity: sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==} - engines: {node: '>=6.9.0'} - - postcss-unique-selectors@4.0.1: - resolution: {integrity: sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==} - engines: {node: '>=6.9.0'} - - postcss-value-parser@3.3.1: - resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==} - - postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - - postcss@7.0.39: - resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==} - engines: {node: '>=6.0.0'} - - postcss@8.4.12: - resolution: {integrity: sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==} - engines: {node: ^10 || ^12 || >=14} - - prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - - prepend-http@2.0.0: - resolution: {integrity: sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=} - engines: {node: '>=4'} - - prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} - - prettier-plugin-java@1.6.1: - resolution: {integrity: sha512-kSY17V/P88nILlILb5iMp16TVJy6Ls9Jy4zAzI4+GsEuRDZH5VqRuLd8aJS1ImWxVgRjNBmoFOjxYyxkRM0SRA==} - - prettier-plugin-sh@0.8.2: - resolution: {integrity: sha512-M8D4G5OqgZtoVKx+U/J/B/gVA4xUKmWflOjayxiDjCQbxz3HOv0zlpYeb6DXd5xMFl7jW2UY1fJjmDzI9pDBFA==} - peerDependencies: - prettier: ^2.0.0 - - prettier-plugin-toml@0.3.1: - resolution: {integrity: sha512-j47DEO/dN/acU1nSL/B7q4A4Z2SYJhpWPCLPkcmfAXIQC6A5GD6Ao/bi9HRHZ8ueIDOauqjuAQbnvRxLXMjazA==} - - prettier@1.19.1: - resolution: {integrity: sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==} - engines: {node: '>=4'} - hasBin: true - - prettier@2.3.1: - resolution: {integrity: sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA==} - engines: {node: '>=10.13.0'} - hasBin: true - - prettier@2.6.2: - resolution: {integrity: sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==} - engines: {node: '>=10.13.0'} - hasBin: true - - prismjs@1.28.0: - resolution: {integrity: sha512-8aaXdYvl1F7iC7Xm1spqSaY/OJBpYW3v+KJ+F17iYxvdc8sfjW194COK5wVhMZX45tGteiBQgdvD/nhxcRwylw==} - engines: {node: '>=6'} - - prismjs@1.29.0: - resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} - engines: {node: '>=6'} - - private@0.1.8: - resolution: {integrity: sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==} - engines: {node: '>= 0.6'} - - process-exists@3.1.0: - resolution: {integrity: sha512-X11vso1oNLtyDa2j8fsMol2fph1+5PoQ4vpEc1it/rM8eLuRTmrmTg4jfn82WhNur241AYitgjKCgmlgMRZesw==} - engines: {node: '>=4'} - - process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - - progress@2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} - - promise@7.3.1: - resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} - - prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - - proto-list@1.2.4: - resolution: {integrity: sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=} - - proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - - ps-list@4.1.0: - resolution: {integrity: sha512-DSpMj8PI5W7v2G4+rE+BymTKZPjlu6t/M1N6rPAa6Hwn+/e8jDmFJaq8/kpoGCvwd75g2h5DbjF2MduOMNyrsQ==} - engines: {node: '>=4'} - - ps-tree@1.2.0: - resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} - engines: {node: '>= 0.10'} - hasBin: true - - pseudomap@1.0.2: - resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} - - psl@1.8.0: - resolution: {integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==} - - pug-attrs@3.0.0: - resolution: {integrity: sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==} - - pug-code-gen@3.0.2: - resolution: {integrity: sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==} - - pug-error@2.0.0: - resolution: {integrity: sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==} - - pug-filters@4.0.0: - resolution: {integrity: sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==} - - pug-lexer@5.0.1: - resolution: {integrity: sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==} - - pug-linker@4.0.0: - resolution: {integrity: sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==} - - pug-load@3.0.0: - resolution: {integrity: sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==} - - pug-parser@6.0.0: - resolution: {integrity: sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==} - - pug-runtime@3.0.1: - resolution: {integrity: sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==} - - pug-strip-comments@2.0.0: - resolution: {integrity: sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==} - - pug-walk@2.0.0: - resolution: {integrity: sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==} - - pug@3.0.2: - resolution: {integrity: sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==} - - pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - - punycode@2.1.1: - resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} - engines: {node: '>=6'} - - pupa@2.1.1: - resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==} - engines: {node: '>=8'} - - q@1.5.1: - resolution: {integrity: sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=} - engines: {node: '>=0.6.0', teleport: '>=0.2.0'} - - qs@6.10.3: - resolution: {integrity: sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==} - engines: {node: '>=0.6'} - - qs@6.5.3: - resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} - engines: {node: '>=0.6'} - - qs@6.9.6: - resolution: {integrity: sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==} - engines: {node: '>=0.6'} - - query-string@5.1.1: - resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==} - engines: {node: '>=0.10.0'} - - query-string@8.1.0: - resolution: {integrity: sha512-BFQeWxJOZxZGix7y+SByG3F36dA0AbTy9o6pSmKFcFz7DAj0re9Frkty3saBn3nHo3D0oZJ/+rx3r8H8r8Jbpw==} - engines: {node: '>=14.16'} - - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - - quick-lru@4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} - - 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'} - - raw-body@2.4.2: - resolution: {integrity: sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==} - engines: {node: '>= 0.8'} - - raw-body@2.5.1: - resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} - engines: {node: '>= 0.8'} - - rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true - - read-cache@1.0.0: - resolution: {integrity: sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=} - - read-config-file@6.2.0: - resolution: {integrity: sha512-gx7Pgr5I56JtYz+WuqEbQHj/xWo+5Vwua2jhb1VwM4Wid5PqYmZ4i00ZB0YEGIfkVBsCv9UrjgyqCiQfS/Oosg==} - engines: {node: '>=12.0.0'} - - read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} - - read-pkg@3.0.0: - resolution: {integrity: sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=} - engines: {node: '>=4'} - - read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} - - readable-stream@1.0.34: - resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} - - readable-stream@2.3.7: - resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} - - readable-stream@3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} - engines: {node: '>= 6'} - - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - - recast@0.17.2: - resolution: {integrity: sha512-YHFvn4rBXl8eIjALjUiOV/AP3xFpyGNGNHDw9mAncAWuIdgnBKjbZQ9+P3VlsKcNaNapRVFlTEX1dvDRlYwyxg==} - engines: {node: '>= 4'} - - recast@0.18.10: - resolution: {integrity: sha512-XNvYvkfdAN9QewbrxeTOjgINkdY/odTgTS56ZNEWL9Ml0weT4T3sFtvnTuF+Gxyu46ANcRm1ntrF6F5LAJPAaQ==} - engines: {node: '>= 4'} - - recast@0.20.5: - resolution: {integrity: sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==} - engines: {node: '>= 4'} - - redent@3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} - - regenerate-unicode-properties@9.0.0: - resolution: {integrity: sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==} - engines: {node: '>=4'} - - regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - - regenerator-runtime@0.13.9: - resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} - - regenerator-runtime@0.14.0: - resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} - - regenerator-transform@0.14.5: - resolution: {integrity: sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==} - - regex-not@1.0.2: - resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} - engines: {node: '>=0.10.0'} - - regexp-to-ast@0.3.5: - resolution: {integrity: sha512-1CJygtdvsfNFwiyjaMLBWtg2tfEqx/jSZ8S6TV+GlNL8kiH8rb4cm5Pb7A/C2BpyM/fA8ZJEudlCwi/jvAY+Ow==} - - regexp-to-ast@0.4.0: - resolution: {integrity: sha512-4qf/7IsIKfSNHQXSwial1IFmfM1Cc/whNBQqRwe0V2stPe7KmN1U0tWQiIx6JiirgSrisjE0eECdNf7Tav1Ntw==} - - regexp-to-ast@0.5.0: - resolution: {integrity: sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==} - - regexpp@3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} - - regexpu-core@4.8.0: - resolution: {integrity: sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==} - engines: {node: '>=4'} - - registry-auth-token@4.2.1: - resolution: {integrity: sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==} - engines: {node: '>=6.0.0'} - - registry-url@5.1.0: - resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==} - engines: {node: '>=8'} - - regjsgen@0.5.2: - resolution: {integrity: sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==} - - regjsparser@0.7.0: - resolution: {integrity: sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==} - hasBin: true - - remarkable-katex@1.2.1: - resolution: {integrity: sha512-Y1VquJBZnaVsfsVcKW2hmjT+pDL7mp8l5WAVlvuvViltrdok2m1AIKmJv8SsH+mBY84PoMw67t3kTWw1dIm8+g==} - - remarkable@2.0.1: - resolution: {integrity: sha512-YJyMcOH5lrR+kZdmB0aJJ4+93bEojRZ1HGDn9Eagu6ibg7aVZhc3OWbbShRid+Q5eAfsEqWxpe+g5W5nYNfNiA==} - engines: {node: '>= 6.0.0'} - hasBin: true - - repeat-element@1.1.4: - resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} - engines: {node: '>=0.10.0'} - - repeat-string@1.6.1: - resolution: {integrity: sha1-jcrkcOHIirwtYA//Sndihtp15jc=} - engines: {node: '>=0.10'} - - request@2.88.2: - resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} - engines: {node: '>= 6'} - deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 - - require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - - require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - - resolve-from@3.0.0: - resolution: {integrity: sha1-six699nWiBvItuZTM17rywoYh0g=} - engines: {node: '>=4'} - - 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-global@1.0.0: - resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==} - engines: {node: '>=8'} - - resolve-url@0.2.1: - resolution: {integrity: sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=} - deprecated: https://github.com/lydell/resolve-url#deprecated - - resolve@1.22.0: - resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} - hasBin: true - - responselike@1.0.2: - resolution: {integrity: sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=} - - restore-cursor@2.0.0: - resolution: {integrity: sha1-n37ih/gv0ybU/RYpI9YhKe7g368=} - engines: {node: '>=4'} - - restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - - ret@0.1.15: - resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} - engines: {node: '>=0.12'} - - retry@0.13.1: - resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} - 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.0: - resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} - - rgb-regex@1.0.1: - resolution: {integrity: sha1-wODWiC3w4jviVKR16O3UGRX+rrE=} - - rgba-regex@1.0.0: - resolution: {integrity: sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=} - - rimraf@2.6.3: - resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} - hasBin: true - - rimraf@2.7.1: - resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} - hasBin: true - - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - - roarr@2.15.4: - resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} - engines: {node: '>=8.0'} - - robust-predicates@3.0.1: - resolution: {integrity: sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==} - - rollup@2.70.1: - resolution: {integrity: sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA==} - engines: {node: '>=10.0.0'} - hasBin: true - - rss-parser@3.12.0: - resolution: {integrity: sha512-aqD3E8iavcCdkhVxNDIdg1nkBI17jgqF+9OqPS1orwNaOgySdpvq6B+DoONLhzjzwV8mWg37sb60e4bmLK117A==} - - run-async@2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} - - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - - rw@1.3.3: - resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} - - rxjs@6.6.7: - resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} - engines: {npm: '>=2.0.0'} - - rxjs@7.4.0: - resolution: {integrity: sha512-7SQDi7xeTMCJpqViXh8gL/lebcwlp3d831F05+9B44A4B0WfsEwUQHR64gsH1kvJ+Ep/J9K2+n1hVl1CsGN23w==} - - safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - safe-regex@1.1.0: - resolution: {integrity: sha1-QKNmnzsHfR6UPURinhV91IAjvy4=} - - safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - - sanitize-filename@1.6.3: - resolution: {integrity: sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==} - - sanitize-html@2.7.0: - resolution: {integrity: sha512-jfQelabOn5voO7FAfnQF7v+jsA6z9zC/O4ec0z3E35XPEtHYJT/OdUziVWlKW4irCr2kXaQAyXTXDHWAibg1tA==} - - sass@1.45.1: - resolution: {integrity: sha512-pwPRiq29UR0o4X3fiQyCtrESldXvUQAAE0QmcJTpsI4kuHHcLzZ54M1oNBVIXybQv8QF2zfkpFcTxp8ta97dUA==} - engines: {node: '>=8.9.0'} - hasBin: true - - sax@1.2.4: - resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} - - scale-svg-path@0.0.1: - resolution: {integrity: sha1-UpuNrKopTwejy0x582UbLxz1Go0=} - - schema-utils@3.1.1: - resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==} - engines: {node: '>= 10.13.0'} - - sec@1.0.0: - resolution: {integrity: sha1-Az1go60g7PLgCUDRT5eCNGV3QzU=} - engines: {node: '>=0.10.0'} - - seek-bzip@1.0.6: - resolution: {integrity: sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==} - hasBin: true - - semver-compare@1.0.0: - resolution: {integrity: sha1-De4hahyUGrN+nvsXiPavxf9VN/w=} - - semver-diff@3.1.1: - resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} - engines: {node: '>=8'} - - semver@5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} - hasBin: true - - semver@6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} - hasBin: true - - semver@7.0.0: - resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==} - hasBin: true - - semver@7.3.5: - resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} - engines: {node: '>=10'} - hasBin: true - - semver@7.3.7: - resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} - engines: {node: '>=10'} - hasBin: true - - send@0.17.2: - resolution: {integrity: sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==} - engines: {node: '>= 0.8.0'} - - send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} - engines: {node: '>= 0.8.0'} - - serialize-error@7.0.1: - resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} - engines: {node: '>=10'} - - serialize-javascript@6.0.0: - resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} - - serialize-svg-path@0.1.0: - resolution: {integrity: sha1-pyvxT9pp1vdjAWSBVNCR/8ByKZo=} - - serve-static@1.14.2: - resolution: {integrity: sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==} - engines: {node: '>= 0.8.0'} - - serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} - engines: {node: '>= 0.8.0'} - - server-destroy@1.0.1: - resolution: {integrity: sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=} - - set-value@2.0.1: - resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} - engines: {node: '>=0.10.0'} - - setimmediate@1.0.5: - resolution: {integrity: sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=} - - setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - - sha.js@2.4.11: - resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} - hasBin: true - - shallow-clone@3.0.1: - resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} - engines: {node: '>=8'} - - shebang-command@1.2.0: - resolution: {integrity: sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=} - engines: {node: '>=0.10.0'} - - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - - shebang-regex@1.0.0: - resolution: {integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=} - engines: {node: '>=0.10.0'} - - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - shell-quote@1.7.3: - resolution: {integrity: sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==} - - shellwords@0.1.1: - resolution: {integrity: sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==} - - shortid@2.2.16: - resolution: {integrity: sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==} - - side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} - - signal-exit@3.0.6: - resolution: {integrity: sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==} - - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - - simple-swizzle@0.2.2: - resolution: {integrity: sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=} - - sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - - slash@2.0.0: - resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==} - engines: {node: '>=6'} - - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - - slice-ansi@3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} - - slice-ansi@4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} - - slice-ansi@5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} - - 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'} - - snapdragon-node@2.1.1: - resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} - engines: {node: '>=0.10.0'} - - snapdragon-util@3.0.1: - resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} - engines: {node: '>=0.10.0'} - - snapdragon@0.8.2: - resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} - engines: {node: '>=0.10.0'} - - socket.io-adapter@2.3.3: - resolution: {integrity: sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ==} - - socket.io-client@4.4.1: - resolution: {integrity: sha512-N5C/L5fLNha5Ojd7Yeb/puKcPWWcoB/A09fEjjNsg91EDVr5twk/OEyO6VT9dlLSUNY85NpW6KBhVMvaLKQ3vQ==} - engines: {node: '>=10.0.0'} - - socket.io-parser@4.0.4: - resolution: {integrity: sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==} - engines: {node: '>=10.0.0'} - - socket.io-parser@4.1.2: - resolution: {integrity: sha512-j3kk71QLJuyQ/hh5F/L2t1goqzdTL0gvDzuhTuNSwihfuFUrcSji0qFZmJJPtG6Rmug153eOPsUizeirf1IIog==} - engines: {node: '>=10.0.0'} - - socket.io@4.4.1: - resolution: {integrity: sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==} - engines: {node: '>=10.0.0'} - - sort-keys-length@1.0.1: - resolution: {integrity: sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=} - engines: {node: '>=0.10.0'} - - sort-keys@1.1.2: - resolution: {integrity: sha1-RBttTTRnmPG05J6JIK37oOVD+a0=} - engines: {node: '>=0.10.0'} - - sort-keys@2.0.0: - resolution: {integrity: sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=} - engines: {node: '>=4'} - - source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - - source-map-resolve@0.5.3: - resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} - deprecated: See https://github.com/lydell/source-map-resolve#deprecated - - source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - - source-map-url@0.4.1: - resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} - deprecated: See https://github.com/lydell/source-map-url#deprecated - - source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - - source-map@0.7.3: - resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==} - engines: {node: '>= 8'} - - sourcemap-codec@1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - - spdx-correct@3.1.1: - resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} - - spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} - - spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - - spdx-license-ids@3.0.11: - resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==} - - split-on-first@3.0.0: - resolution: {integrity: sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA==} - engines: {node: '>=12'} - - split-string@3.1.0: - resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} - engines: {node: '>=0.10.0'} - - split2@2.2.0: - resolution: {integrity: sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==} - - split2@3.2.2: - resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} - - split@0.3.3: - resolution: {integrity: sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=} - - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - - sprintf-js@1.1.2: - resolution: {integrity: sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==} - - sshpk@1.17.0: - resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==} - engines: {node: '>=0.10.0'} - hasBin: true - - stable@0.1.8: - resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} - - stat-mode@1.0.0: - resolution: {integrity: sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==} - engines: {node: '>= 6'} - - static-extend@0.1.2: - resolution: {integrity: sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=} - engines: {node: '>=0.10.0'} - - statuses@1.5.0: - resolution: {integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=} - engines: {node: '>= 0.6'} - - statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - - steno@0.4.4: - resolution: {integrity: sha1-BxEFvfwobmYVwEA8J+nXtdy4Vcs=} - - steno@2.1.0: - resolution: {integrity: sha512-mauOsiaqTNGFkWqIfwcm3y/fq+qKKaIWf1vf3ocOuTdco9XoHCO2AGF1gFYXuZFSWuP38Q8LBHBGJv2KnJSXyA==} - engines: {node: ^14.13.1 || >=16.0.0} - - stream-combiner@0.0.4: - resolution: {integrity: sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=} - - streamsearch@0.1.2: - resolution: {integrity: sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=} - engines: {node: '>=0.8.0'} - - strict-uri-encode@1.1.0: - resolution: {integrity: sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=} - engines: {node: '>=0.10.0'} - - string-argv@0.1.2: - resolution: {integrity: sha512-mBqPGEOMNJKXRo7z0keX0wlAhbBAjilUdPW13nN0PecVryZxdHIeM7TqbsSUA7VYuS00HGC6mojP7DlQzfa9ZA==} - engines: {node: '>=0.6.19'} - - string-argv@0.3.1: - resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} - engines: {node: '>=0.6.19'} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string-width@5.0.1: - resolution: {integrity: sha512-5ohWO/M4//8lErlUUtrFy3b11GtNOuMOU0ysKCDXFcfXuuvUXu95akgj/i8ofmaGdN0hCqyl6uu9i8dS/mQp5g==} - engines: {node: '>=12'} - - string.prototype.padend@3.1.3: - resolution: {integrity: sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg==} - engines: {node: '>= 0.4'} - - string.prototype.trimend@1.0.4: - resolution: {integrity: sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==} - - string.prototype.trimstart@1.0.4: - resolution: {integrity: sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==} - - string_decoder@0.10.31: - resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} - - 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==} - - strip-ansi@5.2.0: - resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} - engines: {node: '>=6'} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-ansi@7.0.1: - resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} - engines: {node: '>=12'} - - strip-bom@3.0.0: - resolution: {integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=} - engines: {node: '>=4'} - - strip-dirs@2.1.0: - resolution: {integrity: sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==} - - strip-eof@1.0.0: - resolution: {integrity: sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=} - engines: {node: '>=0.10.0'} - - strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - - strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} - - strip-json-comments@2.0.1: - resolution: {integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=} - engines: {node: '>=0.10.0'} - - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - strip-outer@1.0.1: - resolution: {integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==} - engines: {node: '>=0.10.0'} - - stylehacks@4.0.3: - resolution: {integrity: sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==} - engines: {node: '>=6.9.0'} - - stylis@4.1.1: - resolution: {integrity: sha512-lVrM/bNdhVX2OgBFNa2YJ9Lxj7kPzylieHd3TNjuGE0Re9JB7joL5VUKOVH1kdNNJTgGPpT8hmwIAPLaSyEVFQ==} - - subscriptions-transport-ws@0.9.19: - resolution: {integrity: sha512-dxdemxFFB0ppCLg10FTtRqH/31FNRL1y1BQv8209MK5I4CwALb7iihQg+7p65lFcIl8MHatINWBLOqpgU4Kyyw==} - deprecated: The `subscriptions-transport-ws` package is no longer maintained. We recommend you use `graphql-ws` instead. For help migrating Apollo software to `graphql-ws`, see https://www.apollographql.com/docs/apollo-server/data/subscriptions/#switching-from-subscriptions-transport-ws For general help using `graphql-ws`, see https://github.com/enisdenjo/graphql-ws/blob/master/README.md - peerDependencies: - graphql: '>=0.10.0' - - sumchecker@3.0.1: - resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==} - engines: {node: '>= 8.0'} - - 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.2.1: - resolution: {integrity: sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ==} - engines: {node: '>=12'} - - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - svgo@1.1.1: - resolution: {integrity: sha512-GBkJbnTuFpM4jFbiERHDWhZc/S/kpHToqmZag3aEBjPYK44JAN2QBjvrGIxLOoCyMZjuFQIfTO2eJd8uwLY/9g==} - engines: {node: '>=4.0.0'} - deprecated: This SVGO version is no longer supported. Upgrade to v2.x.x. - hasBin: true - - svgo@1.3.2: - resolution: {integrity: sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==} - engines: {node: '>=4.0.0'} - deprecated: This SVGO version is no longer supported. Upgrade to v2.x.x. - hasBin: true - - svgstore@3.0.1: - resolution: {integrity: sha512-nL6WTxYnsVl3e0G/mwGEFSnPAWUrzIwHAPOwInD4QUuLDKxaKMnXduf0Ipw3m/g9AldPhp1Y8E/nkReFBukJrA==} - engines: {node: '>= 12'} - - symbol-observable@1.2.0: - resolution: {integrity: sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==} - engines: {node: '>=0.10.0'} - - tapable@0.1.10: - resolution: {integrity: sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=} - engines: {node: '>=0.6'} - - tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - - tar-stream@1.6.2: - resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} - engines: {node: '>= 0.8.0'} - - tar@6.1.11: - resolution: {integrity: sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==} - engines: {node: '>= 10'} - - taskkill@3.1.0: - resolution: {integrity: sha512-5KcOFzPvd1nGFVrmB7H4+QAWVjYOf//+QTbOj0GpXbqtqbKGWVczG+rq6VhXAtdtlKLTs16NAmHRyF5vbggQ2w==} - engines: {node: '>=8'} - - tasklist@3.1.1: - resolution: {integrity: sha512-G3I7QWUBSNWaekrJcDabydF6dcvy+vZ2PrX04JYq1p914TOLgpN+ryMtheGavs1LYVevTbTmwjQY8aeX8yLsyA==} - engines: {node: '>=4'} - - temp-file@3.4.0: - resolution: {integrity: sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==} - - temp@0.8.4: - resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==} - engines: {node: '>=6.0.0'} - - term-size@2.2.1: - resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} - engines: {node: '>=8'} - - terser-webpack-plugin@5.3.1: - resolution: {integrity: sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==} - 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.12.1: - resolution: {integrity: sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==} - engines: {node: '>=10'} - hasBin: true - - text-extensions@1.9.0: - resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} - engines: {node: '>=0.10'} - - text-table@0.2.0: - resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} - - through2@2.0.5: - resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} - - through2@4.0.2: - resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} - - through@2.3.8: - resolution: {integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=} - - timed-out@4.0.1: - resolution: {integrity: sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=} - engines: {node: '>=0.10.0'} - - timsort@0.3.0: - resolution: {integrity: sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=} - - tmp-promise@3.0.3: - resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} - - tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} - - tmp@0.2.1: - resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} - engines: {node: '>=8.17.0'} - - to-buffer@1.1.1: - resolution: {integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==} - - to-fast-properties@2.0.0: - resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=} - engines: {node: '>=4'} - - to-object-path@0.3.0: - resolution: {integrity: sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=} - engines: {node: '>=0.10.0'} - - to-readable-stream@1.0.0: - resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} - engines: {node: '>=6'} - - to-regex-range@2.1.1: - resolution: {integrity: sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=} - engines: {node: '>=0.10.0'} - - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - - to-regex@3.0.2: - resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} - engines: {node: '>=0.10.0'} - - toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - - token-stream@1.0.0: - resolution: {integrity: sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=} - - tough-cookie@2.5.0: - resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} - engines: {node: '>=0.8'} - - tr46@0.0.3: - resolution: {integrity: sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=} - - traverse@0.3.9: - resolution: {integrity: sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=} - - trim-newlines@3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} - - trim-repeated@1.0.0: - resolution: {integrity: sha1-42RqLqTokTEr9+rObPsFOAvAHCE=} - engines: {node: '>=0.10.0'} - - truncate-utf8-bytes@1.0.2: - resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==} - - ts-invariant@0.4.4: - resolution: {integrity: sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==} - - ts-node@9.1.1: - resolution: {integrity: sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==} - engines: {node: '>=10.0.0'} - hasBin: true - peerDependencies: - typescript: '>=2.7' - - tsc-watch@4.6.0: - resolution: {integrity: sha512-DRMADjFe44EDWb+YMIOj4b83UrU6le27L3/o0/9FlmA01ikFd5Dl9RD5h1hpeh0mQdIqXvwfHZszCcjhH3bAmQ==} - engines: {node: '>=8.17.0'} - hasBin: true - peerDependencies: - typescript: '*' - - tsconfig-paths@3.12.0: - resolution: {integrity: sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==} - - tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - - tslib@2.1.0: - resolution: {integrity: sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==} - - tslib@2.3.1: - resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} - - tslib@2.4.0: - resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} - - tsutils@3.21.0: - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - - tunnel-agent@0.6.0: - resolution: {integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=} - - tunnel@0.0.6: - resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} - engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} - - tweetnacl@0.14.5: - resolution: {integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=} - - type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - - type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - - type-fest@0.13.1: - resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} - engines: {node: '>=10'} - - type-fest@0.18.1: - resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} - engines: {node: '>=10'} - - 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@1.4.0: - resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} - engines: {node: '>=10'} - - type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - - typedarray-to-buffer@3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - - typedarray@0.0.6: - resolution: {integrity: sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=} - - typescript@4.1.6: - resolution: {integrity: sha512-pxnwLxeb/Z5SP80JDRzVjh58KsM6jZHRAOtTpS7sXLS4ogXNKC9ANxHHZqLLeVHZN35jCtI4JdmLLbLiC1kBow==} - engines: {node: '>=4.2.0'} - hasBin: true - - typescript@4.5.4: - resolution: {integrity: sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==} - engines: {node: '>=4.2.0'} - hasBin: true - - typescript@4.6.3: - resolution: {integrity: sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==} - engines: {node: '>=4.2.0'} - hasBin: true - - typical@4.0.0: - resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==} - engines: {node: '>=8'} - - uglify-js@3.16.3: - resolution: {integrity: sha512-uVbFqx9vvLhQg0iBaau9Z75AxWJ8tqM9AV890dIZCLApF4rTcyHwmAvLeEdYRs+BzYWu8Iw81F79ah0EfTXbaw==} - engines: {node: '>=0.8.0'} - hasBin: true - - unbox-primitive@1.0.1: - resolution: {integrity: sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==} - - unbzip2-stream@1.4.3: - resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} - - underscore-plus@1.7.0: - resolution: {integrity: sha512-A3BEzkeicFLnr+U/Q3EyWwJAQPbA19mtZZ4h+lLq3ttm9kn8WC4R3YpuJZEXmWdLjYP47Zc8aLZm9kwdv+zzvA==} - - underscore@1.13.2: - resolution: {integrity: sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==} - - unicode-canonical-property-names-ecmascript@2.0.0: - resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} - engines: {node: '>=4'} - - unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} - - unicode-match-property-value-ecmascript@2.0.0: - resolution: {integrity: sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==} - engines: {node: '>=4'} - - unicode-property-aliases-ecmascript@2.0.0: - resolution: {integrity: sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==} - engines: {node: '>=4'} - - union-value@1.0.1: - resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} - engines: {node: '>=0.10.0'} - - uniq@1.0.1: - resolution: {integrity: sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=} - - uniqs@2.0.0: - resolution: {integrity: sha1-/+3ks2slKQaW5uFl1KWe25mOawI=} - - unique-string@2.0.0: - resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} - engines: {node: '>=8'} - - universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - - universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} - - unpipe@1.0.0: - resolution: {integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=} - engines: {node: '>= 0.8'} - - unplugin-auto-import@0.6.6: - resolution: {integrity: sha512-x3YxAI9ePoumXOakuS5YJlFkSyAkl5vJlaFZSJhSp75nH5gg8LpqQ/0Gz1/CG/JRRv+xaE1CZpEV161AqFGjEg==} - engines: {node: '>=14'} - peerDependencies: - '@vueuse/core': '*' - peerDependenciesMeta: - '@vueuse/core': - optional: true - - unplugin-icons@0.13.4: - resolution: {integrity: sha512-gyp5H4WADnXEE1uk8+NW6gnnALOlSpU8M5GwzNCYbUgjM4QudjcFbacHKuuqETk4VeSJyzM9Z2ufbuZFMuxvuQ==} - peerDependencies: - '@svgr/core': '>=5.5.0' - '@vue/compiler-sfc': ^3.0.2 - vue-template-compiler: ^2.6.12 - vue-template-es2015-compiler: ^1.9.0 - peerDependenciesMeta: - '@svgr/core': - optional: true - '@vue/compiler-sfc': - optional: true - vue-template-compiler: - optional: true - vue-template-es2015-compiler: - optional: true - - unplugin-vue-components@0.18.1: - resolution: {integrity: sha512-z+dY8LBf7fhlNNK30kSRnmOjc36pjOVF0pg/x2kPUko5iDOGKU2jTp4XOxvbqWzG1fFleCfFPwKYx1GhqYT+8Q==} - engines: {node: '>=14'} - peerDependencies: - '@babel/parser': ^7.15.8 - '@babel/traverse': ^7.15.4 - vue: 2 || 3 - peerDependenciesMeta: - '@babel/parser': - optional: true - '@babel/traverse': - optional: true - - unplugin@0.4.0: - resolution: {integrity: sha512-4ScITEmzlz1iZW3tkz+3L1V5k/xMQ6kjgm4lEXKxH0ozd8/OUWfiSA7RMRyrawsvq/t50JIzPpp1UyuSL/AXkA==} - peerDependencies: - esbuild: '>=0.13' - rollup: ^2.50.0 - vite: ^2.3.0 - webpack: 4 || 5 - peerDependenciesMeta: - esbuild: - optional: true - rollup: - optional: true - vite: - optional: true - webpack: - optional: true - - unquote@1.1.1: - resolution: {integrity: sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=} - - unset-value@1.0.0: - resolution: {integrity: sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=} - engines: {node: '>=0.10.0'} - - untildify@4.0.0: - resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} - engines: {node: '>=8'} - - unzipper@0.10.11: - resolution: {integrity: sha512-+BrAq2oFqWod5IESRjL3S8baohbevGcVA+teAIOYWM3pDVdseogqbzhhvvmiyQrUNKFUnDMtELW3X8ykbyDCJw==} - - upath@2.0.1: - resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} - engines: {node: '>=4'} - - update-notifier@5.1.0: - resolution: {integrity: sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==} - engines: {node: '>=10'} - - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - - urix@0.1.0: - resolution: {integrity: sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=} - deprecated: Please see https://github.com/lydell/urix#deprecated - - url-parse-lax@3.0.0: - resolution: {integrity: sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=} - engines: {node: '>=4'} - - url-to-options@1.0.1: - resolution: {integrity: sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=} - engines: {node: '>= 4'} - - use@3.1.1: - resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} - engines: {node: '>=0.10.0'} - - utf-8-validate@5.0.9: - resolution: {integrity: sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==} - engines: {node: '>=6.14.2'} - - utf8-byte-length@1.0.4: - resolution: {integrity: sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==} - - util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - util.promisify@1.0.1: - resolution: {integrity: sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==} - - util.promisify@1.1.1: - resolution: {integrity: sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==} - - utils-merge@1.0.1: - resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=} - engines: {node: '>= 0.4.0'} - - uuid@3.4.0: - resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} - deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. - hasBin: true - - uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - - uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true - - v8-compile-cache@2.3.0: - resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} - - validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - - validate-npm-package-name@3.0.0: - resolution: {integrity: sha1-X6kS2B630MdK/BQN5zF/DKffQ34=} - - vary@1.1.2: - resolution: {integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=} - engines: {node: '>= 0.8'} - - vendors@1.0.4: - resolution: {integrity: sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==} - - vercel-toast@1.5.5: - resolution: {integrity: sha512-MTcNPcy9V+aiHIg5iS9h/3UQXHfY00a5pQv4D14XWOql9sUQuiB3mxQXyARLIHT+HblqZgf4awyaleA/ND16tA==} - - verror@1.10.0: - resolution: {integrity: sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=} - engines: {'0': node >=0.6.0} - - verror@1.10.1: - resolution: {integrity: sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==} - engines: {node: '>=0.6.0'} - - vite@2.9.6: - resolution: {integrity: sha512-3IffdrByHW95Yjv0a13TQOQfJs7L5dVlSPuTt432XLbRMriWbThqJN2k/IS6kXn5WY4xBLhK9XoaWay1B8VzUw==} - engines: {node: '>=12.2.0'} - hasBin: true - peerDependencies: - less: '*' - sass: '*' - stylus: '*' - peerDependenciesMeta: - less: - optional: true - sass: - optional: true - stylus: - optional: true - - void-elements@3.1.0: - resolution: {integrity: sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=} - engines: {node: '>=0.10.0'} - - vscode-css-languageservice@5.4.2: - resolution: {integrity: sha512-DT7+7vfdT2HDNjDoXWtYJ0lVDdeDEdbMNdK4PKqUl2MS8g7PWt7J5G9B6k9lYox8nOfhCEjLnoNC3UKHHCR1lg==} - - vscode-html-languageservice@4.2.5: - resolution: {integrity: sha512-dbr10KHabB9EaK8lI0XZW7SqOsTfrNyT3Nuj0GoPi4LjGKUmMiLtsqzfedIzRTzqY+w0FiLdh0/kQrnQ0tLxrw==} - - vscode-json-languageservice@4.2.1: - resolution: {integrity: sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==} - - vscode-jsonrpc@8.0.0-next.8: - resolution: {integrity: sha512-2eh7v+rzttUG6wg21xnm3U4IaR/i8cU9vHI9ZntRXuBtCcyR3RrPBvl86Ffm91m/Cio45kmn/LskHK3BAKZILA==} - engines: {node: '>=14.0.0'} - - vscode-languageserver-protocol@3.17.0-next.17: - resolution: {integrity: sha512-tMPne63EcKxNr+zaLSOdBcoEgdRNX4Hurlul5wsrvYToWyjjmPaIyXkQdXowhj8du050OXL7ArMLL/jt+hVlgQ==} - - vscode-languageserver-textdocument@1.0.4: - resolution: {integrity: sha512-/xhqXP/2A2RSs+J8JNXpiiNVvvNM0oTosNVmQnunlKvq9o4mupHOBAnnzH0lwIPKazXKvAKsVp1kr+H/K4lgoQ==} - - vscode-languageserver-types@3.16.0: - resolution: {integrity: sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==} - - vscode-languageserver-types@3.17.0-next.10: - resolution: {integrity: sha512-BbuWVFKgkGX/VgbVPSofxZx2wqR5DMC+3IiB6FgJ7250GiLIKa5Z7RXaQ7i8z4t9rHEmpTA3UbrRkoLPjQUf6Q==} - - vscode-nls@5.0.1: - resolution: {integrity: sha512-hHQV6iig+M21lTdItKPkJAaWrxALQb/nqpVffakO4knJOh3DrU2SXOMzUzNgo1eADPzu3qSsJY1weCzvR52q9A==} - - vscode-pug-languageservice@0.30.6: - resolution: {integrity: sha512-oHXKmHaxLxVYDY6dOmxpm0YfilGgohIMEcE/ahK9O+0lvhgZ4xjEOdP27QcZs90fv92eOWf3CU9tgg4fR6e3+w==} - deprecated: 'WARNING: This project has been renamed to @volar/pug-language-service. Install using @volar/pug-language-service instead.' - - vscode-typescript-languageservice@0.30.6: - resolution: {integrity: sha512-Dni0VnMe01QkSvO0z7yIIy+vSll6hWCNtuuWvmBNoHAnFlndgq4OibPrpabv2iv4Lmq+66p40kqGcDg/bpjx5Q==} - deprecated: 'WARNING: This project has been renamed to @volar/typescript-language-service. Install using @volar/typescript-language-service instead.' - - vscode-uri@2.1.2: - resolution: {integrity: sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==} - - vscode-uri@3.0.3: - resolution: {integrity: sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA==} - - vscode-vue-languageservice@0.30.6: - resolution: {integrity: sha512-ZDaW6F2WK0LXt9RpwziKEvhfNxNmpx3ULLfPCGc+jIkM+u00gIB4i2K/5F99yNzbvrtxcgb3emFRH5FBlmmWDQ==} - deprecated: 'WARNING: This project has been renamed to @volar/vue-language-service. Install using @volar/vue-language-service instead.' - - vue-codemod@0.0.5: - resolution: {integrity: sha512-DE+24W1d3oanGqq7yna4ddOKXmVzjECgku2ddMcm7OS9Bp9QOblMHT88PzKiCc7npGiHf5+mTfrEW1JVIBbA2A==} - engines: {node: '>= 10.0'} - hasBin: true - - vue-demi@0.12.4: - resolution: {integrity: sha512-ztPDkFt0TSUdoq1ZI6oD730vgztBkiByhUW7L1cOTebiSBqSYfSQgnhYakYigBkyAybqCTH7h44yZuDJf2xILQ==} - 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-eslint-parser@8.0.1: - resolution: {integrity: sha512-lhWjDXJhe3UZw2uu3ztX51SJAPGPey1Tff2RK3TyZURwbuI4vximQLzz4nQfCv8CZq4xx7uIiogHMMoSJPr33A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '>=6.0.0' - - vue-resize@2.0.0-alpha.1: - resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} - peerDependencies: - vue: ^3.0.0 - - vue-router@4.0.14: - resolution: {integrity: sha512-wAO6zF9zxA3u+7AkMPqw9LjoUCjSxfFvINQj3E/DceTt6uEz1XZLraDhdg2EYmvVwTBSGlLYsUw8bDmx0754Mw==} - peerDependencies: - vue: ^3.2.0 - - vue-tsc@0.30.6: - resolution: {integrity: sha512-p+lemuubzFgwr1Az3pqQ70uvWraf36qTrKkC6C7anv5S1G3aPerc4eY5Rjz3eVDOkK94E+KeBHevvpZbmVwvHA==} - hasBin: true - peerDependencies: - typescript: '*' - - vue3-perfect-scrollbar@1.6.0: - resolution: {integrity: sha512-bH8rk8a5gH0lh/1YGdQCfSpQtrUcBBQ2bAWCt3I1zZYlNDCm3lL/SWzhzv+aN/OjMSqYrslkm1O/ml8jTUZpTg==} - - vue@2.6.14: - resolution: {integrity: sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==} - - vue@3.2.33: - resolution: {integrity: sha512-si1ExAlDUrLSIg/V7D/GgA4twJwfsfgG+t9w10z38HhL/HA07132pUQ2KuwAo8qbCyMJ9e6OqrmWrOCr+jW7ZQ==} - - watch@1.0.2: - resolution: {integrity: sha1-NApxe952Vyb6CqB9ch4BR6VR3ww=} - engines: {node: '>=0.1.95'} - hasBin: true - - watchpack@2.3.1: - resolution: {integrity: sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==} - engines: {node: '>=10.13.0'} - - wcwidth@1.0.1: - resolution: {integrity: sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=} - - webidl-conversions@3.0.1: - resolution: {integrity: sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=} - - webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} - - webpack-virtual-modules@0.4.3: - resolution: {integrity: sha512-5NUqC2JquIL2pBAAo/VfBP6KuGkHIZQXW/lNKupLPfhViwh8wNsu0BObtl09yuKZszeEUfbXz8xhrHvSG16Nqw==} - - webpack@5.70.0: - resolution: {integrity: sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - - whatwg-url@5.0.0: - resolution: {integrity: sha1-lmRU6HZUYuN2RNNib2dCzotwll0=} - - which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - - which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true - - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - - widest-line@3.1.0: - resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} - engines: {node: '>=8'} - - with@7.0.2: - resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} - engines: {node: '>= 10.0.0'} - - word-wrap@1.2.3: - resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} - engines: {node: '>=0.10.0'} - - wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - - wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} - - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - write-file-atomic@2.4.3: - resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} - - write-file-atomic@3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} - - ws@7.5.7: - resolution: {integrity: sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@8.2.3: - resolution: {integrity: sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==} - 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 - - xdg-basedir@4.0.0: - resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} - engines: {node: '>=8'} - - xml2js@0.4.23: - resolution: {integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==} - engines: {node: '>=4.0.0'} - - xmlbuilder@11.0.1: - resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} - engines: {node: '>=4.0'} - - xmlbuilder@15.1.1: - resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==} - engines: {node: '>=8.0'} - - xmlbuilder@9.0.7: - resolution: {integrity: sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ==} - engines: {node: '>=4.0'} - - xmlhttprequest-ssl@2.0.0: - resolution: {integrity: sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==} - engines: {node: '>=0.4.0'} - - xss@1.0.11: - resolution: {integrity: sha512-EimjrjThZeK2MO7WKR9mN5ZC1CSqivSl55wvUK5EtU6acf0rzEE1pN+9ZDrFXJ82BRp3JL38pPE6S4o/rpp1zQ==} - engines: {node: '>= 0.10.0'} - hasBin: true - - xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - - y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - - yallist@2.1.2: - resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} - - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - - yaml-front-matter@3.4.1: - resolution: {integrity: sha1-5S6E/qaYO5N1XpsVZNupibAGtaU=} - hasBin: true - - yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} - - yargs-parser@20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} - - yargs-parser@21.0.0: - resolution: {integrity: sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==} - engines: {node: '>=12'} - - yargs-parser@21.0.1: - resolution: {integrity: sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==} - engines: {node: '>=12'} - - yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} - - yargs@17.3.1: - resolution: {integrity: sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==} - engines: {node: '>=12'} - - yargs@17.5.1: - resolution: {integrity: sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==} - engines: {node: '>=12'} - - yauzl@2.10.0: - resolution: {integrity: sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=} - - yeast@0.1.2: - resolution: {integrity: sha1-AI4G2AlDIMNy28L47XagymyKxBk=} - - yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - - yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - - zen-observable-ts@0.8.21: - resolution: {integrity: sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg==} - - zen-observable@0.8.15: - resolution: {integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==} - -snapshots: - - 7zip-bin@5.1.1: {} - - '@achrinza/node-ipc@9.2.2': - dependencies: - '@node-ipc/js-queue': 2.0.3 - event-pubsub: 4.3.0 - js-message: 1.0.7 - - '@akryum/winattr@3.0.0': - dependencies: - fswin: 2.17.1227 - - '@antfu/install-pkg@0.1.0': - dependencies: - execa: 5.1.1 - find-up: 5.0.0 - - '@antfu/utils@0.3.0': - dependencies: - '@types/throttle-debounce': 2.1.0 - - '@antfu/utils@0.5.0': {} - - '@apollo/protobufjs@1.2.2': - dependencies: - '@protobufjs/aspromise': 1.1.2 - '@protobufjs/base64': 1.1.2 - '@protobufjs/codegen': 2.0.4 - '@protobufjs/eventemitter': 1.1.0 - '@protobufjs/fetch': 1.1.0 - '@protobufjs/float': 1.0.2 - '@protobufjs/inquire': 1.1.0 - '@protobufjs/path': 1.1.2 - '@protobufjs/pool': 1.1.0 - '@protobufjs/utf8': 1.1.0 - '@types/long': 4.0.2 - '@types/node': 10.17.60 - long: 4.0.0 - - '@apollographql/apollo-tools@0.5.3(graphql@14.7.0)': - dependencies: - graphql: 14.7.0 - - '@apollographql/graphql-playground-html@1.6.27': - dependencies: - xss: 1.0.11 - - '@apollographql/graphql-upload-8-fork@8.1.3(graphql@14.7.0)': - dependencies: - '@types/express': 4.17.13 - '@types/fs-capacitor': 2.0.0 - '@types/koa': 2.13.4 - busboy: 0.3.1 - fs-capacitor: 2.0.4 - graphql: 14.7.0 - http-errors: 1.8.1 - object-path: 0.11.8 - - '@babel/code-frame@7.16.0': - dependencies: - '@babel/highlight': 7.16.0 - - '@babel/compat-data@7.16.4': {} - - '@babel/core@7.16.5': - dependencies: - '@babel/code-frame': 7.16.0 - '@babel/generator': 7.16.5 - '@babel/helper-compilation-targets': 7.16.3(@babel/core@7.16.5) - '@babel/helper-module-transforms': 7.16.5 - '@babel/helpers': 7.16.5 - '@babel/parser': 7.17.9 - '@babel/template': 7.16.0 - '@babel/traverse': 7.16.5 - '@babel/types': 7.16.0 - convert-source-map: 1.8.0 - debug: 4.3.4(supports-color@9.2.1) - gensync: 1.0.0-beta.2 - json5: 2.2.0 - semver: 6.3.0 - source-map: 0.5.7 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.16.5': - dependencies: - '@babel/types': 7.16.0 - jsesc: 2.5.2 - source-map: 0.5.7 - - '@babel/helper-annotate-as-pure@7.16.0': - dependencies: - '@babel/types': 7.17.0 - - '@babel/helper-builder-binary-assignment-operator-visitor@7.16.5': - dependencies: - '@babel/helper-explode-assignable-expression': 7.16.0 - '@babel/types': 7.17.0 - - '@babel/helper-compilation-targets@7.16.3(@babel/core@7.16.5)': - dependencies: - '@babel/compat-data': 7.16.4 - '@babel/core': 7.16.5 - '@babel/helper-validator-option': 7.14.5 - browserslist: 4.20.2 - semver: 6.3.0 - - '@babel/helper-create-class-features-plugin@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-annotate-as-pure': 7.16.0 - '@babel/helper-environment-visitor': 7.16.5 - '@babel/helper-function-name': 7.16.0 - '@babel/helper-member-expression-to-functions': 7.16.5 - '@babel/helper-optimise-call-expression': 7.16.0 - '@babel/helper-replace-supers': 7.16.5 - '@babel/helper-split-export-declaration': 7.16.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-create-regexp-features-plugin@7.16.0(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-annotate-as-pure': 7.16.0 - regexpu-core: 4.8.0 - - '@babel/helper-define-polyfill-provider@0.3.0(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-compilation-targets': 7.16.3(@babel/core@7.16.5) - '@babel/helper-module-imports': 7.16.0 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/traverse': 7.16.5 - debug: 4.3.4(supports-color@9.2.1) - lodash.debounce: 4.0.8 - resolve: 1.22.0 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-environment-visitor@7.16.5': - dependencies: - '@babel/types': 7.16.0 - - '@babel/helper-explode-assignable-expression@7.16.0': - dependencies: - '@babel/types': 7.17.0 - - '@babel/helper-function-name@7.16.0': - dependencies: - '@babel/helper-get-function-arity': 7.16.0 - '@babel/template': 7.16.0 - '@babel/types': 7.16.0 - - '@babel/helper-get-function-arity@7.16.0': - dependencies: - '@babel/types': 7.17.0 - - '@babel/helper-hoist-variables@7.16.0': - dependencies: - '@babel/types': 7.16.0 - - '@babel/helper-member-expression-to-functions@7.16.5': - dependencies: - '@babel/types': 7.17.0 - - '@babel/helper-module-imports@7.16.0': - dependencies: - '@babel/types': 7.16.0 - - '@babel/helper-module-transforms@7.16.5': - dependencies: - '@babel/helper-environment-visitor': 7.16.5 - '@babel/helper-module-imports': 7.16.0 - '@babel/helper-simple-access': 7.16.0 - '@babel/helper-split-export-declaration': 7.16.0 - '@babel/helper-validator-identifier': 7.15.7 - '@babel/template': 7.16.0 - '@babel/traverse': 7.16.5 - '@babel/types': 7.16.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-optimise-call-expression@7.16.0': - dependencies: - '@babel/types': 7.17.0 - - '@babel/helper-plugin-utils@7.16.5': {} - - '@babel/helper-remap-async-to-generator@7.16.5': - dependencies: - '@babel/helper-annotate-as-pure': 7.16.0 - '@babel/helper-wrap-function': 7.16.5 - '@babel/types': 7.17.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-replace-supers@7.16.5': - dependencies: - '@babel/helper-environment-visitor': 7.16.5 - '@babel/helper-member-expression-to-functions': 7.16.5 - '@babel/helper-optimise-call-expression': 7.16.0 - '@babel/traverse': 7.16.5 - '@babel/types': 7.17.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-simple-access@7.16.0': - dependencies: - '@babel/types': 7.16.0 - - '@babel/helper-skip-transparent-expression-wrappers@7.16.0': - dependencies: - '@babel/types': 7.17.0 - - '@babel/helper-split-export-declaration@7.16.0': - dependencies: - '@babel/types': 7.16.0 - - '@babel/helper-validator-identifier@7.15.7': {} - - '@babel/helper-validator-identifier@7.16.7': {} - - '@babel/helper-validator-option@7.14.5': {} - - '@babel/helper-wrap-function@7.16.5': - dependencies: - '@babel/helper-function-name': 7.16.0 - '@babel/template': 7.16.0 - '@babel/traverse': 7.16.5 - '@babel/types': 7.17.0 - transitivePeerDependencies: - - supports-color - - '@babel/helpers@7.16.5': - dependencies: - '@babel/template': 7.16.0 - '@babel/traverse': 7.16.5 - '@babel/types': 7.16.0 - transitivePeerDependencies: - - supports-color - - '@babel/highlight@7.16.0': - dependencies: - '@babel/helper-validator-identifier': 7.15.7 - chalk: 2.4.2 - js-tokens: 4.0.0 - - '@babel/parser@7.17.9': - dependencies: - '@babel/types': 7.17.0 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.16.2(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.16.0(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.16.0 - '@babel/plugin-proposal-optional-chaining': 7.16.5(@babel/core@7.16.5) - - '@babel/plugin-proposal-async-generator-functions@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-remap-async-to-generator': 7.16.5 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.16.5) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-class-properties@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-create-class-features-plugin': 7.16.5(@babel/core@7.16.5) - '@babel/helper-plugin-utils': 7.16.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-class-static-block@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-create-class-features-plugin': 7.16.5(@babel/core@7.16.5) - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.16.5) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-dynamic-import@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.16.5) - - '@babel/plugin-proposal-export-namespace-from@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.16.5) - - '@babel/plugin-proposal-json-strings@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.16.5) - - '@babel/plugin-proposal-logical-assignment-operators@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.16.5) - - '@babel/plugin-proposal-nullish-coalescing-operator@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.16.5) - - '@babel/plugin-proposal-numeric-separator@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.16.5) - - '@babel/plugin-proposal-object-rest-spread@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/compat-data': 7.16.4 - '@babel/core': 7.16.5 - '@babel/helper-compilation-targets': 7.16.3(@babel/core@7.16.5) - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.16.5) - '@babel/plugin-transform-parameters': 7.16.5(@babel/core@7.16.5) - - '@babel/plugin-proposal-optional-catch-binding@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.16.5) - - '@babel/plugin-proposal-optional-chaining@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.16.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.16.5) - - '@babel/plugin-proposal-private-methods@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-create-class-features-plugin': 7.16.5(@babel/core@7.16.5) - '@babel/helper-plugin-utils': 7.16.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-private-property-in-object@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-annotate-as-pure': 7.16.0 - '@babel/helper-create-class-features-plugin': 7.16.5(@babel/core@7.16.5) - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.16.5) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-unicode-property-regex@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-create-regexp-features-plugin': 7.16.0(@babel/core@7.16.5) - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-syntax-flow@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-syntax-typescript@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-transform-arrow-functions@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-transform-async-to-generator@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-module-imports': 7.16.0 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-remap-async-to-generator': 7.16.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-block-scoped-functions@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-transform-block-scoping@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-transform-classes@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-annotate-as-pure': 7.16.0 - '@babel/helper-environment-visitor': 7.16.5 - '@babel/helper-function-name': 7.16.0 - '@babel/helper-optimise-call-expression': 7.16.0 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-replace-supers': 7.16.5 - '@babel/helper-split-export-declaration': 7.16.0 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-computed-properties@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-transform-destructuring@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-transform-dotall-regex@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-create-regexp-features-plugin': 7.16.0(@babel/core@7.16.5) - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-transform-duplicate-keys@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-transform-exponentiation-operator@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-transform-flow-strip-types@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-flow': 7.16.5(@babel/core@7.16.5) - - '@babel/plugin-transform-for-of@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-transform-function-name@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-function-name': 7.16.0 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-transform-literals@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-transform-member-expression-literals@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-transform-modules-amd@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-module-transforms': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - babel-plugin-dynamic-import-node: 2.3.3 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-commonjs@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-module-transforms': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-simple-access': 7.16.0 - babel-plugin-dynamic-import-node: 2.3.3 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-systemjs@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-hoist-variables': 7.16.0 - '@babel/helper-module-transforms': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-validator-identifier': 7.16.7 - babel-plugin-dynamic-import-node: 2.3.3 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-umd@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-module-transforms': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-named-capturing-groups-regex@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-create-regexp-features-plugin': 7.16.0(@babel/core@7.16.5) - - '@babel/plugin-transform-new-target@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-transform-object-super@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-replace-supers': 7.16.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-parameters@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-transform-property-literals@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-transform-regenerator@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - regenerator-transform: 0.14.5 - - '@babel/plugin-transform-reserved-words@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-transform-shorthand-properties@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-transform-spread@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.16.0 - - '@babel/plugin-transform-sticky-regex@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-transform-template-literals@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-transform-typeof-symbol@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-transform-typescript@7.16.1(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-create-class-features-plugin': 7.16.5(@babel/core@7.16.5) - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-syntax-typescript': 7.16.5(@babel/core@7.16.5) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-unicode-escapes@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/plugin-transform-unicode-regex@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-create-regexp-features-plugin': 7.16.0(@babel/core@7.16.5) - '@babel/helper-plugin-utils': 7.16.5 - - '@babel/preset-env@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/compat-data': 7.16.4 - '@babel/core': 7.16.5 - '@babel/helper-compilation-targets': 7.16.3(@babel/core@7.16.5) - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-validator-option': 7.14.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.16.2(@babel/core@7.16.5) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.16.0(@babel/core@7.16.5) - '@babel/plugin-proposal-async-generator-functions': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-class-properties': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-class-static-block': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-dynamic-import': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-export-namespace-from': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-json-strings': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-logical-assignment-operators': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-numeric-separator': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-object-rest-spread': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-optional-catch-binding': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-optional-chaining': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-private-methods': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-private-property-in-object': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-unicode-property-regex': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.16.5) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.16.5) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.16.5) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.16.5) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.16.5) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.16.5) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.16.5) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.16.5) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.16.5) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.16.5) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.16.5) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.16.5) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.16.5) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.16.5) - '@babel/plugin-transform-arrow-functions': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-async-to-generator': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-block-scoped-functions': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-block-scoping': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-classes': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-computed-properties': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-destructuring': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-dotall-regex': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-duplicate-keys': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-exponentiation-operator': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-for-of': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-function-name': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-literals': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-member-expression-literals': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-modules-amd': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-modules-commonjs': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-modules-systemjs': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-modules-umd': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-named-capturing-groups-regex': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-new-target': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-object-super': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-parameters': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-property-literals': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-regenerator': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-reserved-words': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-shorthand-properties': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-spread': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-sticky-regex': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-template-literals': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-typeof-symbol': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-unicode-escapes': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-unicode-regex': 7.16.5(@babel/core@7.16.5) - '@babel/preset-modules': 0.1.5(@babel/core@7.16.5) - '@babel/types': 7.16.0 - babel-plugin-polyfill-corejs2: 0.3.0(@babel/core@7.16.5) - babel-plugin-polyfill-corejs3: 0.4.0(@babel/core@7.16.5) - babel-plugin-polyfill-regenerator: 0.3.0(@babel/core@7.16.5) - core-js-compat: 3.20.1 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - - '@babel/preset-flow@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-validator-option': 7.14.5 - '@babel/plugin-transform-flow-strip-types': 7.16.5(@babel/core@7.16.5) - - '@babel/preset-modules@0.1.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/plugin-proposal-unicode-property-regex': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-dotall-regex': 7.16.5(@babel/core@7.16.5) - '@babel/types': 7.17.0 - esutils: 2.0.3 - - '@babel/preset-typescript@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - '@babel/helper-validator-option': 7.14.5 - '@babel/plugin-transform-typescript': 7.16.1(@babel/core@7.16.5) - transitivePeerDependencies: - - supports-color - - '@babel/register@7.16.5(@babel/core@7.16.5)': - dependencies: - '@babel/core': 7.16.5 - clone-deep: 4.0.1 - find-cache-dir: 2.1.0 - make-dir: 2.1.0 - pirates: 4.0.4 - source-map-support: 0.5.21 - - '@babel/runtime@7.18.9': - dependencies: - regenerator-runtime: 0.13.9 - - '@babel/runtime@7.23.1': - dependencies: - regenerator-runtime: 0.14.0 - - '@babel/template@7.16.0': - dependencies: - '@babel/code-frame': 7.16.0 - '@babel/parser': 7.17.9 - '@babel/types': 7.16.0 - - '@babel/traverse@7.16.5': - dependencies: - '@babel/code-frame': 7.16.0 - '@babel/generator': 7.16.5 - '@babel/helper-environment-visitor': 7.16.5 - '@babel/helper-function-name': 7.16.0 - '@babel/helper-hoist-variables': 7.16.0 - '@babel/helper-split-export-declaration': 7.16.0 - '@babel/parser': 7.17.9 - '@babel/types': 7.16.0 - debug: 4.3.4(supports-color@9.2.1) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/types@7.16.0': - dependencies: - '@babel/helper-validator-identifier': 7.15.7 - to-fast-properties: 2.0.0 - - '@babel/types@7.17.0': - dependencies: - '@babel/helper-validator-identifier': 7.16.7 - to-fast-properties: 2.0.0 - - '@braintree/sanitize-url@6.0.0': {} - - '@commitlint/cli@15.0.0': - dependencies: - '@commitlint/format': 15.0.0 - '@commitlint/lint': 15.0.0 - '@commitlint/load': 15.0.0 - '@commitlint/read': 15.0.0 - '@commitlint/types': 15.0.0 - lodash: 4.17.21 - resolve-from: 5.0.0 - resolve-global: 1.0.0 - yargs: 17.3.1 - - '@commitlint/config-conventional@15.0.0': - dependencies: - conventional-changelog-conventionalcommits: 4.6.2 - - '@commitlint/ensure@15.0.0': - dependencies: - '@commitlint/types': 15.0.0 - lodash: 4.17.21 - - '@commitlint/execute-rule@15.0.0': {} - - '@commitlint/format@15.0.0': - dependencies: - '@commitlint/types': 15.0.0 - chalk: 4.1.2 - - '@commitlint/is-ignored@15.0.0': - dependencies: - '@commitlint/types': 15.0.0 - semver: 7.3.5 - - '@commitlint/lint@15.0.0': - dependencies: - '@commitlint/is-ignored': 15.0.0 - '@commitlint/parse': 15.0.0 - '@commitlint/rules': 15.0.0 - '@commitlint/types': 15.0.0 - - '@commitlint/load@15.0.0': - dependencies: - '@commitlint/execute-rule': 15.0.0 - '@commitlint/resolve-extends': 15.0.0 - '@commitlint/types': 15.0.0 - '@endemolshinegroup/cosmiconfig-typescript-loader': 3.0.2(cosmiconfig@7.0.1)(typescript@4.6.3) - chalk: 4.1.2 - cosmiconfig: 7.0.1 - lodash: 4.17.21 - resolve-from: 5.0.0 - typescript: 4.6.3 - - '@commitlint/message@15.0.0': {} - - '@commitlint/parse@15.0.0': - dependencies: - '@commitlint/types': 15.0.0 - conventional-changelog-angular: 5.0.13 - conventional-commits-parser: 3.2.3 - - '@commitlint/read@15.0.0': - dependencies: - '@commitlint/top-level': 15.0.0 - '@commitlint/types': 15.0.0 - fs-extra: 10.0.1 - git-raw-commits: 2.0.10 - - '@commitlint/resolve-extends@15.0.0': - dependencies: - import-fresh: 3.3.0 - lodash: 4.17.21 - resolve-from: 5.0.0 - resolve-global: 1.0.0 - - '@commitlint/rules@15.0.0': - dependencies: - '@commitlint/ensure': 15.0.0 - '@commitlint/message': 15.0.0 - '@commitlint/to-lines': 15.0.0 - '@commitlint/types': 15.0.0 - execa: 5.1.1 - - '@commitlint/to-lines@15.0.0': {} - - '@commitlint/top-level@15.0.0': - dependencies: - find-up: 5.0.0 - - '@commitlint/types@15.0.0': - dependencies: - chalk: 4.1.2 - - '@develar/schema-utils@2.6.5': - dependencies: - ajv: 6.12.6 - ajv-keywords: 3.5.2(ajv@6.12.6) - - '@electron/get@1.14.1': - dependencies: - debug: 4.3.4(supports-color@9.2.1) - env-paths: 2.2.1 - fs-extra: 8.1.0 - got: 9.6.0 - progress: 2.0.3 - semver: 6.3.0 - sumchecker: 3.0.1 - optionalDependencies: - global-agent: 3.0.0 - global-tunnel-ng: 2.7.1 - transitivePeerDependencies: - - supports-color - - '@electron/universal@1.2.1': - dependencies: - '@malept/cross-spawn-promise': 1.1.1 - asar: 3.1.0 - debug: 4.3.4(supports-color@9.2.1) - dir-compare: 2.4.0 - fs-extra: 9.1.0 - minimatch: 3.1.2 - plist: 3.0.5 - transitivePeerDependencies: - - supports-color - - '@emmetio/abbreviation@2.2.3': - dependencies: - '@emmetio/scanner': 1.0.0 - - '@emmetio/css-abbreviation@2.1.4': - dependencies: - '@emmetio/scanner': 1.0.0 - - '@emmetio/scanner@1.0.0': {} - - '@endemolshinegroup/cosmiconfig-typescript-loader@3.0.2(cosmiconfig@7.0.1)(typescript@4.6.3)': - dependencies: - cosmiconfig: 7.0.1 - lodash.get: 4.4.2 - make-error: 1.3.6 - ts-node: 9.1.1(typescript@4.6.3) - tslib: 2.3.1 - transitivePeerDependencies: - - typescript - - '@eslint/eslintrc@1.0.5': - dependencies: - ajv: 6.12.6 - debug: 4.3.4(supports-color@9.2.1) - espree: 9.2.0 - globals: 13.12.0 - ignore: 4.0.6 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - - '@floating-ui/core@0.3.1': {} - - '@floating-ui/dom@0.1.10': - dependencies: - '@floating-ui/core': 0.3.1 - - '@gera2ld/jsx-dom@2.2.2': - dependencies: - '@babel/runtime': 7.23.1 - - '@hapi/address@2.1.4': {} - - '@hapi/bourne@1.3.2': {} - - '@hapi/hoek@8.5.1': {} - - '@hapi/joi@15.1.1': - dependencies: - '@hapi/address': 2.1.4 - '@hapi/bourne': 1.3.2 - '@hapi/hoek': 8.5.1 - '@hapi/topo': 3.1.6 - - '@hapi/topo@3.1.6': - dependencies: - '@hapi/hoek': 8.5.1 - - '@humanwhocodes/config-array@0.9.2': - dependencies: - '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4(supports-color@9.2.1) - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - - '@humanwhocodes/object-schema@1.2.1': {} - - '@iconify/types@1.0.13': {} - - '@iconify/utils@1.0.26': - dependencies: - '@antfu/install-pkg': 0.1.0 - '@antfu/utils': 0.3.0 - '@iconify/types': 1.0.13 - debug: 4.3.4(supports-color@9.2.1) - kolorist: 1.5.1 - local-pkg: 0.4.1 - transitivePeerDependencies: - - supports-color - - '@iconscout/unicons@4.0.1': - dependencies: - async: 2.6.3 - axios: 0.21.4 - cheerio: 1.0.0-rc.10 - cross-env: 7.0.3 - fontello-cli: 0.6.2 - fs-plus: 3.1.1 - glob: 7.2.0 - insertion-query: 1.1.0 - lodash: 4.17.21 - parse-svg-path: 0.1.2 - scale-svg-path: 0.0.1 - serialize-svg-path: 0.1.0 - svgo: 1.1.1 - svgstore: 3.0.1 - uuid: 3.4.0 - transitivePeerDependencies: - - debug - - supports-color - - '@interactjs/types@1.10.11': {} - - '@josephg/resolvable@1.0.1': {} - - '@jsdevtools/ez-spawn@3.0.4': - dependencies: - call-me-maybe: 1.0.1 - cross-spawn: 7.0.3 - string-argv: 0.3.1 - type-detect: 4.0.8 - - '@malept/cross-spawn-promise@1.1.1': - dependencies: - cross-spawn: 7.0.3 - - '@malept/flatpak-bundler@0.4.0': - dependencies: - debug: 4.3.4(supports-color@9.2.1) - fs-extra: 9.1.0 - lodash: 4.17.21 - tmp-promise: 3.0.3 - transitivePeerDependencies: - - supports-color - - '@masscode/json-server@0.18.0': - dependencies: - body-parser: 1.20.0 - bumpp: 7.1.1 - chalk: 4.1.2 - compression: 1.7.4 - connect-pause: 0.1.1 - cors: 2.8.5 - errorhandler: 1.5.1 - express: 4.17.2 - express-urlrewrite: 1.4.0 - json-parse-helpfulerror: 1.0.3 - lodash: 4.17.21 - lodash-id: 0.14.1 - lowdb: 1.0.0 - method-override: 3.0.0 - morgan: 1.10.0 - nanoid: 3.3.2 - please-upgrade-node: 3.2.0 - pluralize: 8.0.0 - server-destroy: 1.0.1 - update-notifier: 5.1.0 - yargs: 17.3.1 - transitivePeerDependencies: - - supports-color - - '@mrmlnc/readdir-enhanced@2.2.1': - dependencies: - call-me-maybe: 1.0.1 - glob-to-regexp: 0.3.0 - - '@node-ipc/js-queue@2.0.3': - dependencies: - easy-stack: 1.0.1 - - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - - '@nodelib/fs.stat@1.1.3': {} - - '@nodelib/fs.stat@2.0.5': {} - - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.13.0 - - '@prettier/plugin-php@0.18.4(prettier@2.6.2)': - dependencies: - linguist-languages: 7.15.0 - mem: 8.1.1 - php-parser: 3.1.0-beta.5 - prettier: 2.6.2 - - '@prettier/plugin-pug@2.0.0(prettier@2.6.2)': - dependencies: - prettier: 2.6.2 - pug-lexer: 5.0.1 - - '@prettier/plugin-xml@2.1.0': - dependencies: - '@xml-tools/parser': 1.0.11 - prettier: 2.6.2 - - '@protobufjs/aspromise@1.1.2': {} - - '@protobufjs/base64@1.1.2': {} - - '@protobufjs/codegen@2.0.4': {} - - '@protobufjs/eventemitter@1.1.0': {} - - '@protobufjs/fetch@1.1.0': - dependencies: - '@protobufjs/aspromise': 1.1.2 - '@protobufjs/inquire': 1.1.0 - - '@protobufjs/float@1.0.2': {} - - '@protobufjs/inquire@1.1.0': {} - - '@protobufjs/path@1.1.2': {} - - '@protobufjs/pool@1.1.0': {} - - '@protobufjs/utf8@1.1.0': {} - - '@rollup/pluginutils@4.2.0': - dependencies: - estree-walker: 2.0.2 - picomatch: 2.3.1 - - '@sindresorhus/is@0.14.0': {} - - '@sindresorhus/is@0.7.0': {} - - '@sipec/vue3-tags-input@3.0.4(vue@3.2.33)': - dependencies: - vue: 3.2.33 - - '@socket.io/base64-arraybuffer@1.0.2': {} - - '@socket.io/component-emitter@3.0.0': {} - - '@szmarczak/http-timer@1.1.2': - dependencies: - defer-to-connect: 1.1.3 - - '@toml-tools/lexer@0.3.1': - dependencies: - chevrotain: 4.1.1 - - '@toml-tools/parser@0.3.1': - dependencies: - '@toml-tools/lexer': 0.3.1 - chevrotain: 4.1.1 - - '@tootallnate/once@2.0.0': {} - - '@tsconfig/node14@1.0.1': {} - - '@types/accepts@1.3.5': - dependencies: - '@types/node': 17.0.45 - - '@types/body-parser@1.19.0': - dependencies: - '@types/connect': 3.4.35 - '@types/node': 17.0.45 - - '@types/codemirror@5.60.5': - dependencies: - '@types/tern': 0.23.4 - - '@types/component-emitter@1.2.11': {} - - '@types/connect@3.4.35': - dependencies: - '@types/node': 17.0.45 - - '@types/content-disposition@0.5.4': {} - - '@types/cookie@0.4.1': {} - - '@types/cookies@0.7.7': - dependencies: - '@types/connect': 3.4.35 - '@types/express': 4.17.13 - '@types/keygrip': 1.0.2 - '@types/node': 17.0.45 - - '@types/cors@2.8.10': {} - - '@types/cors@2.8.12': {} - - '@types/crypto-js@4.1.2': {} - - '@types/d3-array@3.0.8': {} - - '@types/d3-axis@3.0.4': - dependencies: - '@types/d3-selection': 3.0.7 - - '@types/d3-brush@3.0.4': - dependencies: - '@types/d3-selection': 3.0.7 - - '@types/d3-chord@3.0.4': {} - - '@types/d3-color@3.1.1': {} - - '@types/d3-contour@3.0.4': - dependencies: - '@types/d3-array': 3.0.8 - '@types/geojson': 7946.0.11 - - '@types/d3-delaunay@6.0.2': {} - - '@types/d3-dispatch@3.0.4': {} - - '@types/d3-drag@3.0.4': - dependencies: - '@types/d3-selection': 3.0.7 - - '@types/d3-dsv@3.0.4': {} - - '@types/d3-ease@3.0.0': {} - - '@types/d3-fetch@3.0.4': - dependencies: - '@types/d3-dsv': 3.0.4 - - '@types/d3-force@3.0.6': {} - - '@types/d3-format@3.0.2': {} - - '@types/d3-geo@3.0.5': - dependencies: - '@types/geojson': 7946.0.11 - - '@types/d3-hierarchy@3.1.4': {} - - '@types/d3-interpolate@3.0.2': - dependencies: - '@types/d3-color': 3.1.1 - - '@types/d3-path@3.0.0': {} - - '@types/d3-polygon@3.0.0': {} - - '@types/d3-quadtree@3.0.3': {} - - '@types/d3-random@3.0.1': {} - - '@types/d3-scale-chromatic@3.0.0': {} - - '@types/d3-scale@4.0.5': - dependencies: - '@types/d3-time': 3.0.1 - - '@types/d3-selection@3.0.7': {} - - '@types/d3-shape@3.1.3': - dependencies: - '@types/d3-path': 3.0.0 - - '@types/d3-time-format@4.0.1': {} - - '@types/d3-time@3.0.1': {} - - '@types/d3-timer@3.0.0': {} - - '@types/d3-transition@3.0.5': - dependencies: - '@types/d3-selection': 3.0.7 - - '@types/d3-zoom@3.0.5': - dependencies: - '@types/d3-interpolate': 3.0.2 - '@types/d3-selection': 3.0.7 - - '@types/d3@7.4.1': - dependencies: - '@types/d3-array': 3.0.8 - '@types/d3-axis': 3.0.4 - '@types/d3-brush': 3.0.4 - '@types/d3-chord': 3.0.4 - '@types/d3-color': 3.1.1 - '@types/d3-contour': 3.0.4 - '@types/d3-delaunay': 6.0.2 - '@types/d3-dispatch': 3.0.4 - '@types/d3-drag': 3.0.4 - '@types/d3-dsv': 3.0.4 - '@types/d3-ease': 3.0.0 - '@types/d3-fetch': 3.0.4 - '@types/d3-force': 3.0.6 - '@types/d3-format': 3.0.2 - '@types/d3-geo': 3.0.5 - '@types/d3-hierarchy': 3.1.4 - '@types/d3-interpolate': 3.0.2 - '@types/d3-path': 3.0.0 - '@types/d3-polygon': 3.0.0 - '@types/d3-quadtree': 3.0.3 - '@types/d3-random': 3.0.1 - '@types/d3-scale': 4.0.5 - '@types/d3-scale-chromatic': 3.0.0 - '@types/d3-selection': 3.0.7 - '@types/d3-shape': 3.1.3 - '@types/d3-time': 3.0.1 - '@types/d3-time-format': 4.0.1 - '@types/d3-timer': 3.0.0 - '@types/d3-transition': 3.0.5 - '@types/d3-zoom': 3.0.5 - - '@types/debug@4.1.7': - dependencies: - '@types/ms': 0.7.31 - - '@types/dom-to-image@2.6.4': {} - - '@types/ejs@2.7.0': {} - - '@types/eslint-scope@3.7.3': - dependencies: - '@types/eslint': 8.4.1 - '@types/estree': 0.0.51 - - '@types/eslint@8.4.1': - dependencies: - '@types/estree': 0.0.51 - '@types/json-schema': 7.0.10 - - '@types/estree@0.0.51': {} - - '@types/express-serve-static-core@4.17.28': - dependencies: - '@types/node': 17.0.45 - '@types/qs': 6.9.7 - '@types/range-parser': 1.2.4 - - '@types/express@4.17.13': - dependencies: - '@types/body-parser': 1.19.0 - '@types/express-serve-static-core': 4.17.28 - '@types/qs': 6.9.7 - '@types/serve-static': 1.13.10 - - '@types/fs-capacitor@2.0.0': - dependencies: - '@types/node': 17.0.45 - - '@types/fs-extra@9.0.13': - dependencies: - '@types/node': 17.0.45 - - '@types/geojson@7946.0.11': {} - - '@types/glob@7.2.0': - dependencies: - '@types/minimatch': 3.0.5 - '@types/node': 17.0.22 - - '@types/http-assert@1.5.3': {} - - '@types/http-errors@1.8.2': {} - - '@types/i18next-fs-backend@1.1.2': - dependencies: - i18next: 21.8.14 - - '@types/inquirer@6.5.0': - dependencies: - '@types/through': 0.0.30 - rxjs: 6.6.7 - - '@types/jscodeshift@0.7.2': - dependencies: - ast-types: 0.12.1 - recast: 0.17.2 - - '@types/json-schema@7.0.10': {} - - '@types/json5@0.0.29': {} - - '@types/keygrip@1.0.2': {} - - '@types/keyv@3.1.4': - dependencies: - '@types/node': 17.0.45 - - '@types/koa-compose@3.2.5': - dependencies: - '@types/koa': 2.13.4 - - '@types/koa@2.13.4': - dependencies: - '@types/accepts': 1.3.5 - '@types/content-disposition': 0.5.4 - '@types/cookies': 0.7.7 - '@types/http-assert': 1.5.3 - '@types/http-errors': 1.8.2 - '@types/keygrip': 1.0.2 - '@types/koa-compose': 3.2.5 - '@types/node': 17.0.45 - - '@types/lodash@4.14.180': {} - - '@types/long@4.0.2': {} - - '@types/lowdb@1.0.11': - dependencies: - '@types/lodash': 4.14.180 - - '@types/marked@4.0.3': {} - - '@types/mermaid@8.2.9': {} - - '@types/mime@1.3.2': {} - - '@types/minimatch@3.0.5': {} - - '@types/minimist@1.2.2': {} - - '@types/ms@0.7.31': {} - - '@types/node@10.17.60': {} - - '@types/node@14.18.2': {} - - '@types/node@17.0.22': {} - - '@types/node@17.0.45': {} - - '@types/normalize-package-data@2.4.1': {} - - '@types/parse-json@4.0.0': {} - - '@types/plist@3.0.2': - dependencies: - '@types/node': 17.0.45 - xmlbuilder: 15.1.1 - optional: true - - '@types/prettier@2.6.0': {} - - '@types/q@1.5.5': {} - - '@types/qs@6.9.7': {} - - '@types/range-parser@1.2.4': {} - - '@types/responselike@1.0.0': - dependencies: - '@types/node': 17.0.45 - - '@types/sanitize-html@2.6.2': - dependencies: - htmlparser2: 6.1.0 - - '@types/serve-static@1.13.10': - dependencies: - '@types/mime': 1.3.2 - '@types/node': 17.0.45 - - '@types/tern@0.23.4': - dependencies: - '@types/estree': 0.0.51 - - '@types/throttle-debounce@2.1.0': {} - - '@types/through@0.0.30': - dependencies: - '@types/node': 17.0.22 - - '@types/universal-analytics@0.4.5': {} - - '@types/uuid@9.0.4': {} - - '@types/verror@1.10.5': - optional: true - - '@types/webpack@5.28.0': - dependencies: - '@types/node': 17.0.22 - tapable: 2.2.1 - webpack: 5.70.0 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - - webpack-cli - - '@types/ws@7.4.7': - dependencies: - '@types/node': 17.0.45 - - '@types/yargs-parser@21.0.0': {} - - '@types/yargs@17.0.10': - dependencies: - '@types/yargs-parser': 21.0.0 - - '@typescript-eslint/eslint-plugin@5.8.0(@typescript-eslint/parser@5.8.0)(eslint@8.5.0)(typescript@4.5.4)': - dependencies: - '@typescript-eslint/experimental-utils': 5.8.0(eslint@8.5.0)(typescript@4.5.4) - '@typescript-eslint/parser': 5.8.0(eslint@8.5.0)(typescript@4.5.4) - '@typescript-eslint/scope-manager': 5.8.0 - debug: 4.3.4(supports-color@9.2.1) - eslint: 8.5.0 - functional-red-black-tree: 1.0.1 - ignore: 5.2.0 - regexpp: 3.2.0 - semver: 7.3.5 - tsutils: 3.21.0(typescript@4.5.4) - typescript: 4.5.4 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/experimental-utils@5.8.0(eslint@8.5.0)(typescript@4.5.4)': - dependencies: - '@types/json-schema': 7.0.10 - '@typescript-eslint/scope-manager': 5.8.0 - '@typescript-eslint/types': 5.8.0 - '@typescript-eslint/typescript-estree': 5.8.0(typescript@4.5.4) - eslint: 8.5.0 - eslint-scope: 5.1.1 - eslint-utils: 3.0.0(eslint@8.5.0) - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/parser@5.8.0(eslint@8.5.0)(typescript@4.5.4)': - dependencies: - '@typescript-eslint/scope-manager': 5.8.0 - '@typescript-eslint/types': 5.8.0 - '@typescript-eslint/typescript-estree': 5.8.0(typescript@4.5.4) - debug: 4.3.4(supports-color@9.2.1) - eslint: 8.5.0 - typescript: 4.5.4 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/scope-manager@5.8.0': - dependencies: - '@typescript-eslint/types': 5.8.0 - '@typescript-eslint/visitor-keys': 5.8.0 - - '@typescript-eslint/types@5.8.0': {} - - '@typescript-eslint/typescript-estree@5.8.0(typescript@4.5.4)': - dependencies: - '@typescript-eslint/types': 5.8.0 - '@typescript-eslint/visitor-keys': 5.8.0 - debug: 4.3.4(supports-color@9.2.1) - globby: 11.0.4 - is-glob: 4.0.3 - semver: 7.3.5 - tsutils: 3.21.0(typescript@4.5.4) - typescript: 4.5.4 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/visitor-keys@5.8.0': - dependencies: - '@typescript-eslint/types': 5.8.0 - eslint-visitor-keys: 3.1.0 - - '@vitejs/plugin-vue@2.3.1(vite@2.9.6)(vue@3.2.33)': - dependencies: - vite: 2.9.6(sass@1.45.1) - vue: 3.2.33 - - '@volar/code-gen@0.30.6': - dependencies: - '@volar/shared': 0.30.6 - '@volar/source-map': 0.30.6 - - '@volar/html2pug@0.30.6': - dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - htmlparser2: 7.2.0 - pug: 3.0.2 - - '@volar/shared@0.30.6': - dependencies: - upath: 2.0.1 - vscode-html-languageservice: 4.2.5 - vscode-jsonrpc: 8.0.0-next.8 - vscode-uri: 3.0.3 - - '@volar/source-map@0.30.6': - dependencies: - '@volar/shared': 0.30.6 - vscode-languageserver-textdocument: 1.0.4 - - '@volar/transforms@0.30.6': - dependencies: - '@volar/shared': 0.30.6 - vscode-languageserver-types: 3.17.0-next.10 - - '@volar/vue-code-gen@0.30.6': - dependencies: - '@volar/code-gen': 0.30.6 - '@volar/shared': 0.30.6 - '@volar/source-map': 0.30.6 - '@vue/compiler-core': 3.2.33 - '@vue/compiler-dom': 3.2.33 - '@vue/shared': 3.2.33 - upath: 2.0.1 - - '@vscode/emmet-helper@2.8.4': - dependencies: - emmet: 2.3.6 - jsonc-parser: 2.3.1 - vscode-languageserver-textdocument: 1.0.4 - vscode-languageserver-types: 3.16.0 - vscode-nls: 5.0.1 - vscode-uri: 2.1.2 - - '@vue/cli-shared-utils@4.5.17': - dependencies: - '@achrinza/node-ipc': 9.2.2 - '@hapi/joi': 15.1.1 - chalk: 2.4.2 - execa: 1.0.0 - launch-editor: 2.3.0 - lru-cache: 5.1.1 - open: 6.4.0 - ora: 3.4.0 - read-pkg: 5.2.0 - request: 2.88.2 - semver: 6.3.0 - strip-ansi: 6.0.1 - - '@vue/cli-ui-addon-webpack@4.5.17': {} - - '@vue/cli-ui-addon-widgets@4.5.17': {} - - '@vue/cli-ui@4.5.17': - dependencies: - '@achrinza/node-ipc': 9.2.2 - '@akryum/winattr': 3.0.0 - '@vue/cli-shared-utils': 4.5.17 - apollo-server-express: 2.25.3(graphql@14.7.0) - clone: 2.1.2 - deepmerge: 4.2.2 - express: 4.18.0 - express-history-api-fallback: 2.2.1 - fkill: 6.2.0 - fs-extra: 7.0.1 - globby: 9.2.0 - graphql: 14.7.0 - graphql-subscriptions: 1.2.1(graphql@14.7.0) - graphql-tag: 2.12.6(graphql@14.7.0) - graphql-type-json: 0.3.2(graphql@14.7.0) - javascript-stringify: 1.6.0 - js-yaml: 3.14.1 - lodash.merge: 4.6.2 - lowdb: 1.0.0 - lru-cache: 5.1.1 - node-notifier: 9.0.1 - parse-git-config: 2.0.3 - portfinder: 1.0.28 - prismjs: 1.28.0 - rss-parser: 3.12.0 - shortid: 2.2.16 - typescript: 4.1.6 - watch: 1.0.2 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate - - '@vue/cli@4.5.17': - dependencies: - '@types/ejs': 2.7.0 - '@types/inquirer': 6.5.0 - '@vue/cli-shared-utils': 4.5.17 - '@vue/cli-ui': 4.5.17 - '@vue/cli-ui-addon-webpack': 4.5.17 - '@vue/cli-ui-addon-widgets': 4.5.17 - boxen: 4.2.0 - cmd-shim: 3.0.3 - commander: 2.20.3 - debug: 4.3.4(supports-color@9.2.1) - deepmerge: 4.2.2 - download-git-repo: 3.0.2 - ejs: 2.7.4 - envinfo: 7.8.1 - fs-extra: 7.0.1 - globby: 9.2.0 - import-global: 0.1.0 - ini: 1.3.8 - inquirer: 7.3.3 - isbinaryfile: 4.0.8 - javascript-stringify: 1.6.0 - js-yaml: 3.14.1 - leven: 3.1.0 - lodash.clonedeep: 4.5.0 - lru-cache: 5.1.1 - minimist: 1.2.5 - recast: 0.18.10 - resolve: 1.22.0 - shortid: 2.2.16 - slash: 3.0.0 - strip-ansi: 6.0.1 - validate-npm-package-name: 3.0.0 - vue: 2.6.14 - vue-codemod: 0.0.5 - yaml-front-matter: 3.4.1 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate - - '@vue/compiler-core@3.2.31': - dependencies: - '@babel/parser': 7.17.9 - '@vue/shared': 3.2.31 - estree-walker: 2.0.2 - source-map: 0.6.1 - - '@vue/compiler-core@3.2.33': - dependencies: - '@babel/parser': 7.17.9 - '@vue/shared': 3.2.33 - estree-walker: 2.0.2 - source-map: 0.6.1 - - '@vue/compiler-dom@3.2.33': - dependencies: - '@vue/compiler-core': 3.2.33 - '@vue/shared': 3.2.33 - - '@vue/compiler-sfc@3.2.33': - dependencies: - '@babel/parser': 7.17.9 - '@vue/compiler-core': 3.2.33 - '@vue/compiler-dom': 3.2.33 - '@vue/compiler-ssr': 3.2.33 - '@vue/reactivity-transform': 3.2.33 - '@vue/shared': 3.2.33 - estree-walker: 2.0.2 - magic-string: 0.25.9 - postcss: 8.4.12 - source-map: 0.6.1 - - '@vue/compiler-ssr@3.2.33': - dependencies: - '@vue/compiler-dom': 3.2.33 - '@vue/shared': 3.2.33 - - '@vue/devtools-api@6.1.3': {} - - '@vue/devtools-api@6.1.4': {} - - '@vue/devtools@6.1.4': - dependencies: - cross-spawn: 7.0.3 - electron: 12.2.3 - express: 4.17.2 - ip: 1.1.5 - socket.io: 4.4.1(utf-8-validate@5.0.9) - socket.io-client: 4.4.1(utf-8-validate@5.0.9) - utf-8-validate: 5.0.9 - transitivePeerDependencies: - - bufferutil - - supports-color - - '@vue/eslint-config-standard@6.1.0(eslint-plugin-import@2.25.3)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@6.0.0)(eslint-plugin-vue@8.2.0)(eslint@8.5.0)(webpack@5.70.0)': - dependencies: - eslint: 8.5.0 - eslint-config-standard: 16.0.3(eslint-plugin-import@2.25.3)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@6.0.0)(eslint@8.5.0) - eslint-import-resolver-node: 0.3.6 - eslint-import-resolver-webpack: 0.13.2(eslint-plugin-import@2.25.3)(webpack@5.70.0) - eslint-plugin-import: 2.25.3(@typescript-eslint/parser@5.8.0)(eslint@8.5.0) - eslint-plugin-node: 11.1.0(eslint@8.5.0) - eslint-plugin-promise: 6.0.0(eslint@8.5.0) - eslint-plugin-vue: 8.2.0(eslint@8.5.0) - transitivePeerDependencies: - - supports-color - - webpack - - '@vue/reactivity-transform@3.2.33': - dependencies: - '@babel/parser': 7.17.9 - '@vue/compiler-core': 3.2.33 - '@vue/shared': 3.2.33 - estree-walker: 2.0.2 - magic-string: 0.25.9 - - '@vue/reactivity@3.2.33': - dependencies: - '@vue/shared': 3.2.33 - - '@vue/runtime-core@3.2.33': - dependencies: - '@vue/reactivity': 3.2.33 - '@vue/shared': 3.2.33 - - '@vue/runtime-dom@3.2.33': - dependencies: - '@vue/runtime-core': 3.2.33 - '@vue/shared': 3.2.33 - csstype: 2.6.20 - - '@vue/server-renderer@3.2.33(vue@3.2.33)': - dependencies: - '@vue/compiler-ssr': 3.2.33 - '@vue/shared': 3.2.33 - vue: 3.2.33 - - '@vue/shared@3.2.31': {} - - '@vue/shared@3.2.33': {} - - '@vueuse/core@8.3.1(vue@3.2.33)': - dependencies: - '@vueuse/metadata': 8.3.1 - '@vueuse/shared': 8.3.1(vue@3.2.33) - vue: 3.2.33 - vue-demi: 0.12.4(vue@3.2.33) - - '@vueuse/metadata@8.3.1': {} - - '@vueuse/shared@8.3.1(vue@3.2.33)': - dependencies: - vue: 3.2.33 - vue-demi: 0.12.4(vue@3.2.33) - - '@webassemblyjs/ast@1.11.1': - dependencies: - '@webassemblyjs/helper-numbers': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - - '@webassemblyjs/floating-point-hex-parser@1.11.1': {} - - '@webassemblyjs/helper-api-error@1.11.1': {} - - '@webassemblyjs/helper-buffer@1.11.1': {} - - '@webassemblyjs/helper-numbers@1.11.1': - dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 - '@xtuc/long': 4.2.2 - - '@webassemblyjs/helper-wasm-bytecode@1.11.1': {} - - '@webassemblyjs/helper-wasm-section@1.11.1': - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - - '@webassemblyjs/ieee754@1.11.1': - dependencies: - '@xtuc/ieee754': 1.2.0 - - '@webassemblyjs/leb128@1.11.1': - dependencies: - '@xtuc/long': 4.2.2 - - '@webassemblyjs/utf8@1.11.1': {} - - '@webassemblyjs/wasm-edit@1.11.1': - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/helper-wasm-section': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-opt': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - '@webassemblyjs/wast-printer': 1.11.1 - - '@webassemblyjs/wasm-gen@1.11.1': - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 - - '@webassemblyjs/wasm-opt@1.11.1': - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - - '@webassemblyjs/wasm-parser@1.11.1': - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 - - '@webassemblyjs/wast-printer@1.11.1': - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@xtuc/long': 4.2.2 - - '@wry/equality@0.1.11': - dependencies: - tslib: 1.14.1 - - '@xml-tools/parser@1.0.11': - dependencies: - chevrotain: 7.1.1 - - '@xtuc/ieee754@1.2.0': {} - - '@xtuc/long@4.2.2': {} - - JSONStream@1.3.5: - dependencies: - jsonparse: 1.3.1 - through: 2.3.8 - - accepts@1.3.8: - dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 - - acorn-import-assertions@1.8.0(acorn@8.7.0): - dependencies: - acorn: 8.7.0 - - acorn-jsx@5.3.2(acorn@8.7.0): - dependencies: - acorn: 8.7.0 - - acorn@7.4.1: {} - - acorn@8.7.0: {} - - agent-base@6.0.2: - dependencies: - debug: 4.3.4(supports-color@9.2.1) - transitivePeerDependencies: - - supports-color - - aggregate-error@3.1.0: - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - - ajv-formats@2.1.1(ajv@8.8.2): - dependencies: - ajv: 8.8.2 - - 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 - - ajv@8.8.2: - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - - alphanum-sort@1.0.2: {} - - ansi-align@3.0.1: - dependencies: - string-width: 4.2.3 - - ansi-colors@4.1.1: {} - - ansi-escapes@4.3.2: - dependencies: - type-fest: 0.21.3 - - ansi-regex@4.1.1: {} - - 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.1.0: {} - - anymatch@3.1.2: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - - apollo-cache-control@0.14.0(graphql@14.7.0): - dependencies: - apollo-server-env: 3.1.0 - apollo-server-plugin-base: 0.13.0(graphql@14.7.0) - graphql: 14.7.0 - transitivePeerDependencies: - - encoding - - apollo-datasource@0.9.0: - dependencies: - apollo-server-caching: 0.7.0 - apollo-server-env: 3.1.0 - transitivePeerDependencies: - - encoding - - apollo-graphql@0.9.6(graphql@14.7.0): - dependencies: - core-js-pure: 3.22.2 - graphql: 14.7.0 - lodash.sortby: 4.7.0 - sha.js: 2.4.11 - - apollo-link@1.2.14(graphql@14.7.0): - dependencies: - apollo-utilities: 1.3.4(graphql@14.7.0) - graphql: 14.7.0 - ts-invariant: 0.4.4 - tslib: 1.14.1 - zen-observable-ts: 0.8.21 - - apollo-reporting-protobuf@0.8.0: - dependencies: - '@apollo/protobufjs': 1.2.2 - - apollo-server-caching@0.7.0: - dependencies: - lru-cache: 6.0.0 - - apollo-server-core@2.25.3(graphql@14.7.0): - dependencies: - '@apollographql/apollo-tools': 0.5.3(graphql@14.7.0) - '@apollographql/graphql-playground-html': 1.6.27 - '@apollographql/graphql-upload-8-fork': 8.1.3(graphql@14.7.0) - '@josephg/resolvable': 1.0.1 - '@types/ws': 7.4.7 - apollo-cache-control: 0.14.0(graphql@14.7.0) - apollo-datasource: 0.9.0 - apollo-graphql: 0.9.6(graphql@14.7.0) - apollo-reporting-protobuf: 0.8.0 - apollo-server-caching: 0.7.0 - apollo-server-env: 3.1.0 - apollo-server-errors: 2.5.0(graphql@14.7.0) - apollo-server-plugin-base: 0.13.0(graphql@14.7.0) - apollo-server-types: 0.9.0(graphql@14.7.0) - apollo-tracing: 0.15.0(graphql@14.7.0) - async-retry: 1.3.3 - fast-json-stable-stringify: 2.1.0 - graphql: 14.7.0 - graphql-extensions: 0.15.0(graphql@14.7.0) - graphql-tag: 2.12.6(graphql@14.7.0) - graphql-tools: 4.0.8(graphql@14.7.0) - loglevel: 1.8.0 - lru-cache: 6.0.0 - sha.js: 2.4.11 - subscriptions-transport-ws: 0.9.19(graphql@14.7.0) - uuid: 8.3.2 - transitivePeerDependencies: - - bufferutil - - encoding - - utf-8-validate - - apollo-server-env@3.1.0: - dependencies: - node-fetch: 2.6.7 - util.promisify: 1.1.1 - transitivePeerDependencies: - - encoding - - apollo-server-errors@2.5.0(graphql@14.7.0): - dependencies: - graphql: 14.7.0 - - apollo-server-express@2.25.3(graphql@14.7.0): - dependencies: - '@apollographql/graphql-playground-html': 1.6.27 - '@types/accepts': 1.3.5 - '@types/body-parser': 1.19.0 - '@types/cors': 2.8.10 - '@types/express': 4.17.13 - '@types/express-serve-static-core': 4.17.28 - accepts: 1.3.8 - apollo-server-core: 2.25.3(graphql@14.7.0) - apollo-server-types: 0.9.0(graphql@14.7.0) - body-parser: 1.20.0 - cors: 2.8.5 - express: 4.18.0 - graphql: 14.7.0 - graphql-subscriptions: 1.2.1(graphql@14.7.0) - graphql-tools: 4.0.8(graphql@14.7.0) - parseurl: 1.3.3 - subscriptions-transport-ws: 0.9.19(graphql@14.7.0) - type-is: 1.6.18 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate - - apollo-server-plugin-base@0.13.0(graphql@14.7.0): - dependencies: - apollo-server-types: 0.9.0(graphql@14.7.0) - graphql: 14.7.0 - transitivePeerDependencies: - - encoding - - apollo-server-types@0.9.0(graphql@14.7.0): - dependencies: - apollo-reporting-protobuf: 0.8.0 - apollo-server-caching: 0.7.0 - apollo-server-env: 3.1.0 - graphql: 14.7.0 - transitivePeerDependencies: - - encoding - - apollo-tracing@0.15.0(graphql@14.7.0): - dependencies: - apollo-server-env: 3.1.0 - apollo-server-plugin-base: 0.13.0(graphql@14.7.0) - graphql: 14.7.0 - transitivePeerDependencies: - - encoding - - apollo-utilities@1.3.4(graphql@14.7.0): - dependencies: - '@wry/equality': 0.1.11 - fast-json-stable-stringify: 2.1.0 - graphql: 14.7.0 - ts-invariant: 0.4.4 - tslib: 1.14.1 - - app-builder-bin@4.0.0: {} - - app-builder-lib@23.1.0: - dependencies: - 7zip-bin: 5.1.1 - '@develar/schema-utils': 2.6.5 - '@electron/universal': 1.2.1 - '@malept/flatpak-bundler': 0.4.0 - async-exit-hook: 2.0.1 - bluebird-lst: 1.0.9 - builder-util: 23.0.9 - builder-util-runtime: 9.0.2 - chromium-pickle-js: 0.2.0 - debug: 4.3.4(supports-color@9.2.1) - ejs: 3.1.8 - electron-osx-sign: 0.6.0 - electron-publish: 23.0.9 - form-data: 4.0.0 - fs-extra: 10.1.0 - hosted-git-info: 4.1.0 - is-ci: 3.0.1 - isbinaryfile: 4.0.10 - js-yaml: 4.1.0 - lazy-val: 1.0.5 - minimatch: 3.1.2 - read-config-file: 6.2.0 - sanitize-filename: 1.6.3 - semver: 7.3.7 - tar: 6.1.11 - temp-file: 3.4.0 - transitivePeerDependencies: - - supports-color - - archive-type@4.0.0: - dependencies: - file-type: 4.4.0 - - arg@4.1.3: {} - - argparse@1.0.10: - dependencies: - sprintf-js: 1.0.3 - - argparse@2.0.1: {} - - arr-diff@4.0.0: {} - - arr-flatten@1.1.0: {} - - arr-union@3.1.0: {} - - array-back@3.1.0: {} - - array-find@1.0.0: {} - - array-flatten@1.1.1: {} - - array-ify@1.0.0: {} - - array-includes@3.1.4: - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 - get-intrinsic: 1.1.1 - is-string: 1.0.7 - - array-union@1.0.2: - dependencies: - array-uniq: 1.0.3 - - array-union@2.1.0: {} - - array-uniq@1.0.3: {} - - array-unique@0.3.2: {} - - array.prototype.flat@1.2.5: - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 - - arrify@1.0.1: {} - - arrify@2.0.1: {} - - asap@2.0.6: {} - - asar@3.1.0: - dependencies: - chromium-pickle-js: 0.2.0 - commander: 5.1.0 - glob: 7.2.3 - minimatch: 3.1.2 - optionalDependencies: - '@types/glob': 7.2.0 - - asn1@0.2.6: - dependencies: - safer-buffer: 2.1.2 - - assert-never@1.2.1: {} - - assert-plus@1.0.0: {} - - assign-symbols@1.0.0: {} - - ast-types@0.12.1: {} - - ast-types@0.13.3: {} - - ast-types@0.14.2: - dependencies: - tslib: 2.4.0 - - astral-regex@2.0.0: {} - - async-exit-hook@2.0.1: {} - - async-retry@1.3.3: - dependencies: - retry: 0.13.1 - - async@1.5.2: {} - - async@2.6.3: - dependencies: - lodash: 4.17.21 - - async@2.6.4: - dependencies: - lodash: 4.17.21 - - async@3.2.4: {} - - asynckit@0.4.0: {} - - at-least-node@1.0.0: {} - - atob@2.1.2: {} - - atomically@1.7.0: {} - - autolinker@3.16.2: - dependencies: - tslib: 2.4.0 - - aws-sign2@0.7.0: {} - - aws4@1.11.0: {} - - axios@0.21.4: - dependencies: - follow-redirects: 1.14.9 - transitivePeerDependencies: - - debug - - axios@0.26.1: - dependencies: - follow-redirects: 1.14.9 - transitivePeerDependencies: - - debug - - babel-core@7.0.0-bridge.0(@babel/core@7.16.5): - dependencies: - '@babel/core': 7.16.5 - - babel-plugin-dynamic-import-node@2.3.3: - dependencies: - object.assign: 4.1.2 - - babel-plugin-polyfill-corejs2@0.3.0(@babel/core@7.16.5): - dependencies: - '@babel/compat-data': 7.16.4 - '@babel/core': 7.16.5 - '@babel/helper-define-polyfill-provider': 0.3.0(@babel/core@7.16.5) - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs3@0.4.0(@babel/core@7.16.5): - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-define-polyfill-provider': 0.3.0(@babel/core@7.16.5) - core-js-compat: 3.20.1 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-regenerator@0.3.0(@babel/core@7.16.5): - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-define-polyfill-provider': 0.3.0(@babel/core@7.16.5) - transitivePeerDependencies: - - supports-color - - babel-walk@3.0.0-canary-5: - dependencies: - '@babel/types': 7.17.0 - - backo2@1.0.2: {} - - balanced-match@1.0.2: {} - - base64-js@1.5.1: {} - - base64id@2.0.0: {} - - base@0.11.2: - dependencies: - cache-base: 1.0.1 - class-utils: 0.3.6 - component-emitter: 1.3.0 - define-property: 1.0.0 - isobject: 3.0.1 - mixin-deep: 1.3.2 - pascalcase: 0.1.1 - - basic-auth@2.0.1: - dependencies: - safe-buffer: 5.1.2 + vscode-jsonrpc@8.2.0: + resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} + engines: {node: '>=14.0.0'} - bcrypt-pbkdf@1.0.2: - dependencies: - tweetnacl: 0.14.5 + vscode-languageserver-protocol@3.17.5: + resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} - big-integer@1.6.51: {} + vscode-languageserver-textdocument@1.0.12: + resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} - binary-extensions@2.2.0: {} + vscode-languageserver-types@3.17.5: + resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} - binary@0.3.0: - dependencies: - buffers: 0.1.1 - chainsaw: 0.1.0 + vscode-languageserver@9.0.1: + resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} + hasBin: true - bl@1.2.3: - dependencies: - readable-stream: 2.3.7 - safe-buffer: 5.2.1 + vscode-uri@3.0.8: + resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} - bluebird-lst@1.0.9: - dependencies: - bluebird: 3.7.2 + vue-demi@0.14.10: + resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} + 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 - bluebird@3.4.7: {} + vue-eslint-parser@9.4.3: + resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' - bluebird@3.7.2: {} + vue-router@4.5.0: + resolution: {integrity: sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==} + peerDependencies: + vue: ^3.2.0 - body-parser@1.19.1: - dependencies: - bytes: 3.1.1 - content-type: 1.0.4 - debug: 2.6.9 - depd: 1.1.2 - http-errors: 1.8.1 - iconv-lite: 0.4.24 - on-finished: 2.3.0 - qs: 6.9.6 - raw-body: 2.4.2 - type-is: 1.6.18 - transitivePeerDependencies: - - supports-color + vue-sonner@1.3.0: + resolution: {integrity: sha512-jAodBy4Mri8rQjVZGQAPs4ZYymc1ywPiwfa81qU0fFl+Suk7U8NaOxIDdI1oBGLeQJqRZi/oxNIuhCLqsBmOwg==} - body-parser@1.20.0: - dependencies: - bytes: 3.1.2 - content-type: 1.0.4 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.10.3 - raw-body: 2.5.1 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color + vue3-perfect-scrollbar@2.0.0: + resolution: {integrity: sha512-nSWVcRyViCgt0Pe3RhU3w/BllLcFSrEzYOGlRBjSyhVmiZlERHHziffW+9P8L0IMEWouC5t+uYrgNJGSAElqMA==} + peerDependencies: + vue: ^3.0.0 - boolbase@1.0.0: {} + vue@3.5.13: + resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true - boolean@3.1.4: - optional: true + watchboy@0.4.3: + resolution: {integrity: sha512-GHs1HxwvxSMBsqd/WfTOZhj5gBdMqf5HQpfgtKxDfZRxrlYPDdVLRB61LCeRzJaWANmvSIMlfmRVDwVmJFgAKA==} + engines: {node: '>=8.0.0'} - boxen@4.2.0: - dependencies: - ansi-align: 3.0.1 - camelcase: 5.3.1 - chalk: 3.0.0 - cli-boxes: 2.2.1 - string-width: 4.2.3 - term-size: 2.2.1 - type-fest: 0.8.1 - widest-line: 3.1.0 + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - boxen@5.1.2: - dependencies: - ansi-align: 3.0.1 - camelcase: 6.2.1 - chalk: 4.1.2 - cli-boxes: 2.2.1 - string-width: 4.2.3 - type-fest: 0.20.2 - widest-line: 3.1.0 - wrap-ansi: 7.0.0 + webpack-virtual-modules@0.6.2: + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - brace-expansion@1.1.11: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 + whatwg-encoding@3.1.1: + resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} + engines: {node: '>=18'} - brace-expansion@2.0.1: - dependencies: - balanced-match: 1.0.2 + whatwg-mimetype@4.0.0: + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} - braces@2.3.2: - dependencies: - arr-flatten: 1.1.0 - array-unique: 0.3.2 - extend-shallow: 2.0.1 - fill-range: 4.0.0 - isobject: 3.0.1 - repeat-element: 1.1.4 - snapdragon: 0.8.2 - snapdragon-node: 2.1.1 - split-string: 3.1.0 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true - braces@3.0.2: - dependencies: - fill-range: 7.0.1 + wide-align@1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} - browserslist@4.20.2: - dependencies: - caniuse-lite: 1.0.30001327 - electron-to-chromium: 1.4.87 - escalade: 3.1.1 - node-releases: 2.0.2 - picocolors: 1.0.0 + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} - buffer-alloc-unsafe@1.1.0: {} + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} - buffer-alloc@1.2.0: - dependencies: - buffer-alloc-unsafe: 1.1.0 - buffer-fill: 1.0.0 + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} - buffer-crc32@0.2.13: {} + wrap-ansi@9.0.0: + resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + engines: {node: '>=18'} - buffer-equal@1.0.0: {} + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - buffer-fill@1.0.0: {} + ws@8.18.1: + resolution: {integrity: sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==} + 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 - buffer-from@1.1.2: {} + xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} - buffer-indexof-polyfill@1.0.2: {} + xmlbuilder@15.1.1: + resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==} + engines: {node: '>=8.0'} - buffer@5.7.1: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} - buffers@0.1.1: {} + yallist@2.1.2: + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} - builder-util-runtime@9.0.2: - dependencies: - debug: 4.3.4(supports-color@9.2.1) - sax: 1.2.4 - transitivePeerDependencies: - - supports-color + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - builder-util@23.0.9: - dependencies: - 7zip-bin: 5.1.1 - '@types/debug': 4.1.7 - '@types/fs-extra': 9.0.13 - app-builder-bin: 4.0.0 - bluebird-lst: 1.0.9 - builder-util-runtime: 9.0.2 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@9.2.1) - fs-extra: 10.1.0 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 - is-ci: 3.0.1 - js-yaml: 4.1.0 - source-map-support: 0.5.21 - stat-mode: 1.0.0 - temp-file: 3.4.0 - transitivePeerDependencies: - - supports-color + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - builtins@1.0.3: {} + yaml-eslint-parser@1.2.3: + resolution: {integrity: sha512-4wZWvE398hCP7O8n3nXKu/vdq1HcH01ixYlCREaJL5NUMwQ0g3MaGFUBNSlmBtKmhbtVG/Cm6lyYmSVTEVil8A==} + engines: {node: ^14.17.0 || >=16.0.0} - bumpp@7.1.1: - dependencies: - '@jsdevtools/ez-spawn': 3.0.4 - chalk: 4.1.2 - command-line-args: 5.2.0 - globby: 11.0.4 - prompts: 2.4.2 - semver: 7.3.5 + yaml@2.7.0: + resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} + engines: {node: '>= 14'} + hasBin: true - busboy@0.3.1: - dependencies: - dicer: 0.3.0 + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} - bytes@3.0.0: {} + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} - bytes@3.1.1: {} + yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} - bytes@3.1.2: {} + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} - cache-base@1.0.1: - dependencies: - collection-visit: 1.0.0 - component-emitter: 1.3.0 - get-value: 2.0.6 - has-value: 1.0.0 - isobject: 3.0.1 - set-value: 2.0.1 - to-object-path: 0.3.0 - union-value: 1.0.1 - unset-value: 1.0.0 + yocto-queue@1.1.1: + resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} + engines: {node: '>=12.20'} - cacheable-request@2.1.4: - dependencies: - clone-response: 1.0.2 - get-stream: 3.0.0 - http-cache-semantics: 3.8.1 - keyv: 3.0.0 - lowercase-keys: 1.0.0 - normalize-url: 2.0.1 - responselike: 1.0.2 + zhead@2.2.4: + resolution: {integrity: sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==} - cacheable-request@6.1.0: - dependencies: - clone-response: 1.0.2 - get-stream: 5.2.0 - http-cache-semantics: 4.1.0 - keyv: 3.1.0 - lowercase-keys: 2.0.0 - normalize-url: 4.5.1 - responselike: 1.0.2 + zip-stream@4.1.1: + resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} + engines: {node: '>= 10'} - call-bind@1.0.2: - dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.1.1 + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - call-me-maybe@1.0.1: {} +snapshots: - caller-callsite@2.0.0: - dependencies: - callsites: 2.0.0 + 7zip-bin@5.2.0: {} + + '@alloc/quick-lru@5.2.0': {} + + '@antfu/eslint-config@3.16.0(@typescript-eslint/utils@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(@vue/compiler-sfc@3.5.13)(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)': + dependencies: + '@antfu/install-pkg': 1.0.0 + '@clack/prompts': 0.9.1 + '@eslint-community/eslint-plugin-eslint-comments': 4.4.1(eslint@9.19.0(jiti@2.4.2)) + '@eslint/markdown': 6.2.2 + '@stylistic/eslint-plugin': 2.13.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/parser': 8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@vitest/eslint-plugin': 1.1.25(@typescript-eslint/utils@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + eslint: 9.19.0(jiti@2.4.2) + eslint-config-flat-gitignore: 1.0.1(eslint@9.19.0(jiti@2.4.2)) + eslint-flat-config-utils: 1.1.0 + eslint-merge-processors: 1.0.0(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-antfu: 2.7.0(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-command: 2.1.0(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-import-x: 4.6.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + eslint-plugin-jsdoc: 50.6.3(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-jsonc: 2.19.1(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-n: 17.15.1(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-no-only-tests: 3.3.0 + eslint-plugin-perfectionist: 4.8.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + eslint-plugin-regexp: 2.7.0(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-toml: 0.12.0(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-unicorn: 56.0.1(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-vue: 9.32.0(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-yml: 1.16.0(eslint@9.19.0(jiti@2.4.2)) + eslint-processor-vue-blocks: 1.0.0(@vue/compiler-sfc@3.5.13)(eslint@9.19.0(jiti@2.4.2)) + globals: 15.14.0 + jsonc-eslint-parser: 2.4.0 + local-pkg: 1.0.0 + parse-gitignore: 2.0.0 + picocolors: 1.1.1 + toml-eslint-parser: 0.10.0 + vue-eslint-parser: 9.4.3(eslint@9.19.0(jiti@2.4.2)) + yaml-eslint-parser: 1.2.3 + yargs: 17.7.2 + transitivePeerDependencies: + - '@eslint/json' + - '@typescript-eslint/utils' + - '@vue/compiler-sfc' + - supports-color + - typescript + - vitest - caller-path@2.0.0: + '@antfu/install-pkg@1.0.0': dependencies: - caller-callsite: 2.0.0 + package-manager-detector: 0.2.9 + tinyexec: 0.3.2 - callsites@2.0.0: {} + '@antfu/utils@0.7.10': {} - callsites@3.1.0: {} + '@antfu/utils@8.1.1': {} - camelcase-keys@6.2.2: + '@babel/code-frame@7.26.2': dependencies: - camelcase: 5.3.1 - map-obj: 4.3.0 - quick-lru: 4.0.1 + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 - camelcase@5.3.1: {} + '@babel/helper-string-parser@7.25.9': {} - camelcase@6.2.1: {} + '@babel/helper-validator-identifier@7.25.9': {} - caniuse-api@3.0.0: + '@babel/parser@7.26.7': dependencies: - browserslist: 4.20.2 - caniuse-lite: 1.0.30001327 - lodash.memoize: 4.1.2 - lodash.uniq: 4.5.0 - - caniuse-lite@1.0.30001327: {} + '@babel/types': 7.26.7 - caseless@0.12.0: {} - - caw@2.0.1: + '@babel/runtime@7.26.10': dependencies: - get-proxy: 2.1.0 - isurl: 1.0.0 - tunnel-agent: 0.6.0 - url-to-options: 1.0.1 + regenerator-runtime: 0.14.1 - chainsaw@0.1.0: + '@babel/types@7.26.7': dependencies: - traverse: 0.3.9 + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 - chalk@2.4.2: - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 + '@braintree/sanitize-url@7.1.1': {} - chalk@3.0.0: + '@chevrotain/cst-dts-gen@11.0.3': dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 + '@chevrotain/gast': 11.0.3 + '@chevrotain/types': 11.0.3 + lodash-es: 4.17.21 - chalk@4.1.2: + '@chevrotain/gast@11.0.3': dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 + '@chevrotain/types': 11.0.3 + lodash-es: 4.17.21 - character-parser@2.2.0: - dependencies: - is-regex: 1.1.4 + '@chevrotain/regexp-to-ast@11.0.3': {} - chardet@0.7.0: {} + '@chevrotain/types@11.0.3': {} - cheerio-select@1.5.0: - dependencies: - css-select: 4.2.1 - css-what: 5.1.0 - domelementtype: 2.2.0 - domhandler: 4.3.0 - domutils: 2.8.0 + '@chevrotain/utils@11.0.3': {} - cheerio@1.0.0-rc.10: + '@clack/core@0.4.1': dependencies: - cheerio-select: 1.5.0 - dom-serializer: 1.3.2 - domhandler: 4.3.0 - htmlparser2: 6.1.0 - parse5: 6.0.1 - parse5-htmlparser2-tree-adapter: 6.0.1 - tslib: 2.3.1 + picocolors: 1.1.1 + sisteransi: 1.0.5 - chevrotain@4.1.1: + '@clack/prompts@0.9.1': dependencies: - regexp-to-ast: 0.3.5 + '@clack/core': 0.4.1 + picocolors: 1.1.1 + sisteransi: 1.0.5 - chevrotain@6.5.0: + '@commitlint/cli@19.7.1(@types/node@22.13.1)(typescript@5.7.3)': dependencies: - regexp-to-ast: 0.4.0 + '@commitlint/format': 19.5.0 + '@commitlint/lint': 19.7.1 + '@commitlint/load': 19.6.1(@types/node@22.13.1)(typescript@5.7.3) + '@commitlint/read': 19.5.0 + '@commitlint/types': 19.5.0 + tinyexec: 0.3.2 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - typescript - chevrotain@7.1.1: + '@commitlint/config-conventional@19.7.1': dependencies: - regexp-to-ast: 0.5.0 + '@commitlint/types': 19.5.0 + conventional-changelog-conventionalcommits: 7.0.2 - chokidar@3.5.3: + '@commitlint/config-validator@19.5.0': dependencies: - anymatch: 3.1.2 - 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.2 - - chownr@2.0.0: {} - - chrome-trace-event@1.0.3: {} + '@commitlint/types': 19.5.0 + ajv: 8.17.1 - chromium-pickle-js@0.2.0: {} - - ci-info@2.0.0: {} - - ci-info@3.3.2: {} - - class-utils@0.3.6: + '@commitlint/ensure@19.5.0': dependencies: - arr-union: 3.1.0 - define-property: 0.2.5 - isobject: 3.0.1 - static-extend: 0.1.2 - - clean-stack@2.2.0: {} - - cli-boxes@2.2.1: {} + '@commitlint/types': 19.5.0 + lodash.camelcase: 4.3.0 + lodash.kebabcase: 4.1.1 + lodash.snakecase: 4.1.1 + lodash.startcase: 4.4.0 + lodash.upperfirst: 4.3.1 - cli-cursor@2.1.0: - dependencies: - restore-cursor: 2.0.0 + '@commitlint/execute-rule@19.5.0': {} - cli-cursor@3.1.0: + '@commitlint/format@19.5.0': dependencies: - restore-cursor: 3.1.0 - - cli-spinners@2.6.1: {} + '@commitlint/types': 19.5.0 + chalk: 5.4.1 - cli-truncate@2.1.0: + '@commitlint/is-ignored@19.7.1': dependencies: - slice-ansi: 3.0.0 - string-width: 4.2.3 + '@commitlint/types': 19.5.0 + semver: 7.7.1 - cli-truncate@3.1.0: + '@commitlint/lint@19.7.1': dependencies: - slice-ansi: 5.0.0 - string-width: 5.0.1 + '@commitlint/is-ignored': 19.7.1 + '@commitlint/parse': 19.5.0 + '@commitlint/rules': 19.6.0 + '@commitlint/types': 19.5.0 - cli-width@3.0.0: {} - - cliui@7.0.4: + '@commitlint/load@19.6.1(@types/node@22.13.1)(typescript@5.7.3)': dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 + '@commitlint/config-validator': 19.5.0 + '@commitlint/execute-rule': 19.5.0 + '@commitlint/resolve-extends': 19.5.0 + '@commitlint/types': 19.5.0 + chalk: 5.4.1 + cosmiconfig: 9.0.0(typescript@5.7.3) + cosmiconfig-typescript-loader: 6.1.0(@types/node@22.13.1)(cosmiconfig@9.0.0(typescript@5.7.3))(typescript@5.7.3) + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + lodash.uniq: 4.5.0 + transitivePeerDependencies: + - '@types/node' + - typescript - clone-deep@4.0.1: - dependencies: - is-plain-object: 2.0.4 - kind-of: 6.0.3 - shallow-clone: 3.0.1 + '@commitlint/message@19.5.0': {} - clone-response@1.0.2: + '@commitlint/parse@19.5.0': dependencies: - mimic-response: 1.0.1 - - clone@1.0.4: {} + '@commitlint/types': 19.5.0 + conventional-changelog-angular: 7.0.0 + conventional-commits-parser: 5.0.0 - clone@2.1.2: {} - - cmd-shim@3.0.3: + '@commitlint/read@19.5.0': dependencies: - graceful-fs: 4.2.9 - mkdirp: 0.5.5 + '@commitlint/top-level': 19.5.0 + '@commitlint/types': 19.5.0 + git-raw-commits: 4.0.0 + minimist: 1.2.8 + tinyexec: 0.3.2 - coa@2.0.2: + '@commitlint/resolve-extends@19.5.0': dependencies: - '@types/q': 1.5.5 - chalk: 2.4.2 - q: 1.5.1 + '@commitlint/config-validator': 19.5.0 + '@commitlint/types': 19.5.0 + global-directory: 4.0.1 + import-meta-resolve: 4.1.0 + lodash.mergewith: 4.6.2 + resolve-from: 5.0.0 - codemirror-textmate@1.1.0(codemirror@5.65.7)(onigasm@2.2.5): + '@commitlint/rules@19.6.0': dependencies: - codemirror: 5.65.7 - lru-cache: 4.1.5 - monaco-textmate: 3.0.1(onigasm@2.2.5) - onigasm: 2.2.5 - p-cancelable: 1.1.0 + '@commitlint/ensure': 19.5.0 + '@commitlint/message': 19.5.0 + '@commitlint/to-lines': 19.5.0 + '@commitlint/types': 19.5.0 - codemirror@5.65.7: {} - - collection-visit@1.0.0: - dependencies: - map-visit: 1.0.0 - object-visit: 1.0.1 + '@commitlint/to-lines@19.5.0': {} - color-convert@1.9.3: + '@commitlint/top-level@19.5.0': dependencies: - color-name: 1.1.3 + find-up: 7.0.0 - color-convert@2.0.1: + '@commitlint/types@19.5.0': dependencies: - color-name: 1.1.4 - - color-name@1.1.3: {} - - color-name@1.1.4: {} + '@types/conventional-commits-parser': 5.0.1 + chalk: 5.4.1 - color-string@1.9.0: + '@develar/schema-utils@2.6.5': dependencies: - color-name: 1.1.4 - simple-swizzle: 0.2.2 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) - color@3.2.1: + '@electron/asar@3.2.18': dependencies: - color-convert: 1.9.3 - color-string: 1.9.0 - - colorette@2.0.16: {} - - colors@1.0.3: {} - - colors@1.1.2: {} - - colors@1.4.0: {} + commander: 5.1.0 + glob: 7.2.3 + minimatch: 3.1.2 - combined-stream@1.0.8: + '@electron/get@2.0.3': dependencies: - delayed-stream: 1.0.0 + debug: 4.4.0(supports-color@5.5.0) + env-paths: 2.2.1 + fs-extra: 8.1.0 + got: 11.8.6 + progress: 2.0.3 + semver: 6.3.1 + sumchecker: 3.0.1 + optionalDependencies: + global-agent: 3.0.0 + transitivePeerDependencies: + - supports-color - command-line-args@5.2.0: + '@electron/node-gyp@https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2': dependencies: - array-back: 3.1.0 - find-replace: 3.0.0 - lodash.camelcase: 4.3.0 - typical: 4.0.0 - - commander@1.0.0: {} - - commander@2.20.3: {} + env-paths: 2.2.1 + exponential-backoff: 3.1.2 + glob: 8.1.0 + graceful-fs: 4.2.11 + make-fetch-happen: 10.2.1 + nopt: 6.0.0 + proc-log: 2.0.1 + semver: 7.7.1 + tar: 6.2.1 + which: 2.0.2 + transitivePeerDependencies: + - bluebird + - supports-color - commander@2.9.0: + '@electron/notarize@2.5.0': dependencies: - graceful-readlink: 1.0.1 - - commander@3.0.2: {} - - commander@5.1.0: {} - - commander@7.2.0: {} - - commander@8.3.0: {} - - commondir@1.0.1: {} + debug: 4.4.0(supports-color@5.5.0) + fs-extra: 9.1.0 + promise-retry: 2.0.1 + transitivePeerDependencies: + - supports-color - compare-func@2.0.0: + '@electron/osx-sign@1.3.1': dependencies: - array-ify: 1.0.0 - dot-prop: 5.3.0 - - compare-version@0.1.2: {} + compare-version: 0.1.2 + debug: 4.4.0(supports-color@5.5.0) + fs-extra: 10.1.0 + isbinaryfile: 4.0.10 + minimist: 1.2.8 + plist: 3.1.0 + transitivePeerDependencies: + - supports-color - component-emitter@1.3.0: {} + '@electron/rebuild@3.6.1': + dependencies: + '@malept/cross-spawn-promise': 2.0.0 + chalk: 4.1.2 + debug: 4.4.0(supports-color@5.5.0) + detect-libc: 2.0.3 + fs-extra: 10.1.0 + got: 11.8.6 + node-abi: 3.74.0 + node-api-version: 0.2.0 + node-gyp: 9.4.1 + ora: 5.4.1 + read-binary-file-arch: 1.0.6 + semver: 7.7.1 + tar: 6.2.1 + yargs: 17.7.2 + transitivePeerDependencies: + - bluebird + - supports-color - compressible@2.0.18: + '@electron/rebuild@3.7.1': dependencies: - mime-db: 1.52.0 + '@electron/node-gyp': https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2 + '@malept/cross-spawn-promise': 2.0.0 + chalk: 4.1.2 + debug: 4.4.0(supports-color@5.5.0) + detect-libc: 2.0.3 + fs-extra: 10.1.0 + got: 11.8.6 + node-abi: 3.74.0 + node-api-version: 0.2.0 + ora: 5.4.1 + read-binary-file-arch: 1.0.6 + semver: 7.7.1 + tar: 6.2.1 + yargs: 17.7.2 + transitivePeerDependencies: + - bluebird + - supports-color - compression@1.7.4: + '@electron/universal@2.0.1': dependencies: - accepts: 1.3.8 - bytes: 3.0.0 - compressible: 2.0.18 - debug: 2.6.9 - on-headers: 1.0.2 - safe-buffer: 5.1.2 - vary: 1.1.2 + '@electron/asar': 3.2.18 + '@malept/cross-spawn-promise': 2.0.0 + debug: 4.4.0(supports-color@5.5.0) + dir-compare: 4.2.0 + fs-extra: 11.3.0 + minimatch: 9.0.5 + plist: 3.1.0 transitivePeerDependencies: - supports-color - concat-map@0.0.1: {} + '@elysiajs/cors@1.2.0(elysia@1.2.15(@sinclair/typebox@0.34.27)(openapi-types@12.1.3)(typescript@5.7.3))': + dependencies: + elysia: 1.2.15(@sinclair/typebox@0.34.27)(openapi-types@12.1.3)(typescript@5.7.3) - concat-stream@1.6.2: + '@elysiajs/node@1.2.5(elysia@1.2.15(@sinclair/typebox@0.34.27)(openapi-types@12.1.3)(typescript@5.7.3))(formidable@3.5.2)(ws@8.18.1)': dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 2.3.7 - typedarray: 0.0.6 + elysia: 1.2.15(@sinclair/typebox@0.34.27)(openapi-types@12.1.3)(typescript@5.7.3) + formidable: 3.5.2 + ws: 8.18.1 - conf@10.1.1: + '@elysiajs/swagger@1.2.2(elysia@1.2.15(@sinclair/typebox@0.34.27)(openapi-types@12.1.3)(typescript@5.7.3))': dependencies: - ajv: 8.8.2 - ajv-formats: 2.1.1(ajv@8.8.2) - atomically: 1.7.0 - debounce-fn: 4.0.0 - dot-prop: 6.0.1 - env-paths: 2.2.1 - json-schema-typed: 7.0.3 - onetime: 5.1.2 - pkg-up: 3.1.0 - semver: 7.3.5 + '@scalar/themes': 0.9.68 + '@scalar/types': 0.0.12 + elysia: 1.2.15(@sinclair/typebox@0.34.27)(openapi-types@12.1.3)(typescript@5.7.3) + openapi-types: 12.1.3 + pathe: 1.1.2 - config-chain@1.1.13: + '@es-joy/jsdoccomment@0.49.0': dependencies: - ini: 1.3.8 - proto-list: 1.2.4 + comment-parser: 1.4.1 + esquery: 1.6.0 + jsdoc-type-pratt-parser: 4.1.0 - configstore@5.0.1: + '@es-joy/jsdoccomment@0.50.0': dependencies: - dot-prop: 5.3.0 - graceful-fs: 4.2.10 - make-dir: 3.1.0 - unique-string: 2.0.0 - write-file-atomic: 3.0.3 - xdg-basedir: 4.0.0 + '@types/eslint': 9.6.1 + '@types/estree': 1.0.6 + '@typescript-eslint/types': 8.23.0 + comment-parser: 1.4.1 + esquery: 1.6.0 + jsdoc-type-pratt-parser: 4.1.0 - connect-pause@0.1.1: {} + '@esbuild/aix-ppc64@0.24.2': + optional: true - constantinople@4.0.1: - dependencies: - '@babel/parser': 7.17.9 - '@babel/types': 7.17.0 + '@esbuild/android-arm64@0.24.2': + optional: true - content-disposition@0.5.4: - dependencies: - safe-buffer: 5.2.1 + '@esbuild/android-arm@0.24.2': + optional: true - content-type@1.0.4: {} + '@esbuild/android-x64@0.24.2': + optional: true - conventional-changelog-angular@5.0.13: - dependencies: - compare-func: 2.0.0 - q: 1.5.1 + '@esbuild/darwin-arm64@0.24.2': + optional: true - conventional-changelog-conventionalcommits@4.6.2: - dependencies: - compare-func: 2.0.0 - lodash: 4.17.21 - q: 1.5.1 + '@esbuild/darwin-x64@0.24.2': + optional: true - conventional-commits-parser@3.2.3: - dependencies: - JSONStream: 1.3.5 - is-text-path: 1.0.1 - lodash: 4.17.21 - meow: 8.1.2 - split2: 3.2.2 - through2: 4.0.2 + '@esbuild/freebsd-arm64@0.24.2': + optional: true - convert-source-map@1.8.0: - dependencies: - safe-buffer: 5.1.2 + '@esbuild/freebsd-x64@0.24.2': + optional: true - cookie-signature@1.0.6: {} + '@esbuild/linux-arm64@0.24.2': + optional: true - cookie@0.4.1: {} + '@esbuild/linux-arm@0.24.2': + optional: true - cookie@0.4.2: {} + '@esbuild/linux-ia32@0.24.2': + optional: true - cookie@0.5.0: {} + '@esbuild/linux-loong64@0.24.2': + optional: true - copy-descriptor@0.1.1: {} + '@esbuild/linux-mips64el@0.24.2': + optional: true - copyfiles@2.4.1: - dependencies: - glob: 7.2.3 - minimatch: 3.1.2 - mkdirp: 1.0.4 - noms: 0.0.0 - through2: 2.0.5 - untildify: 4.0.0 - yargs: 16.2.0 + '@esbuild/linux-ppc64@0.24.2': + optional: true - core-js-compat@3.20.1: - dependencies: - browserslist: 4.20.2 - semver: 7.0.0 + '@esbuild/linux-riscv64@0.24.2': + optional: true - core-js-pure@3.22.2: {} + '@esbuild/linux-s390x@0.24.2': + optional: true - core-util-is@1.0.2: {} + '@esbuild/linux-x64@0.24.2': + optional: true - core-util-is@1.0.3: {} + '@esbuild/netbsd-arm64@0.24.2': + optional: true - cors@2.8.5: - dependencies: - object-assign: 4.1.1 - vary: 1.1.2 + '@esbuild/netbsd-x64@0.24.2': + optional: true - cosmiconfig@5.2.1: - dependencies: - import-fresh: 2.0.0 - is-directory: 0.3.1 - js-yaml: 3.14.1 - parse-json: 4.0.0 + '@esbuild/openbsd-arm64@0.24.2': + optional: true - cosmiconfig@7.0.1: - dependencies: - '@types/parse-json': 4.0.0 - import-fresh: 3.3.0 - parse-json: 5.2.0 - path-type: 4.0.0 - yaml: 1.10.2 + '@esbuild/openbsd-x64@0.24.2': + optional: true - crc@3.8.0: - dependencies: - buffer: 5.7.1 + '@esbuild/sunos-x64@0.24.2': optional: true - create-require@1.1.1: {} + '@esbuild/win32-arm64@0.24.2': + optional: true - cross-env@7.0.3: - dependencies: - cross-spawn: 7.0.3 + '@esbuild/win32-ia32@0.24.2': + optional: true - cross-spawn@5.1.0: - dependencies: - lru-cache: 4.1.5 - shebang-command: 1.2.0 - which: 1.3.1 + '@esbuild/win32-x64@0.24.2': + optional: true - cross-spawn@6.0.5: + '@eslint-community/eslint-plugin-eslint-comments@4.4.1(eslint@9.19.0(jiti@2.4.2))': dependencies: - nice-try: 1.0.5 - path-key: 2.0.1 - semver: 5.7.1 - shebang-command: 1.2.0 - which: 1.3.1 + escape-string-regexp: 4.0.0 + eslint: 9.19.0(jiti@2.4.2) + ignore: 5.3.2 - cross-spawn@7.0.3: + '@eslint-community/eslint-utils@4.4.1(eslint@9.19.0(jiti@2.4.2))': dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 + eslint: 9.19.0(jiti@2.4.2) + eslint-visitor-keys: 3.4.3 - crypto-js@4.1.1: {} + '@eslint-community/regexpp@4.12.1': {} - crypto-random-string@2.0.0: {} - - css-color-names@0.0.4: {} + '@eslint/compat@1.2.6(eslint@9.19.0(jiti@2.4.2))': + optionalDependencies: + eslint: 9.19.0(jiti@2.4.2) - css-declaration-sorter@4.0.1: + '@eslint/config-array@0.19.2': dependencies: - postcss: 7.0.39 - timsort: 0.3.0 - - css-select-base-adapter@0.1.1: {} + '@eslint/object-schema': 2.1.6 + debug: 4.4.0(supports-color@5.5.0) + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color - css-select@2.1.0: + '@eslint/core@0.10.0': dependencies: - boolbase: 1.0.0 - css-what: 3.4.2 - domutils: 1.7.0 - nth-check: 1.0.2 + '@types/json-schema': 7.0.15 - css-select@4.2.1: + '@eslint/eslintrc@3.2.0': dependencies: - boolbase: 1.0.0 - css-what: 5.1.0 - domhandler: 4.3.0 - domutils: 2.8.0 - nth-check: 2.0.1 + ajv: 6.12.6 + debug: 4.4.0(supports-color@5.5.0) + espree: 10.3.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color - css-tree@1.0.0-alpha.28: + '@eslint/js@9.19.0': {} + + '@eslint/markdown@6.2.2': dependencies: - mdn-data: 1.1.4 - source-map: 0.5.7 + '@eslint/core': 0.10.0 + '@eslint/plugin-kit': 0.2.5 + mdast-util-from-markdown: 2.0.2 + mdast-util-gfm: 3.0.0 + micromark-extension-gfm: 3.0.0 + transitivePeerDependencies: + - supports-color + + '@eslint/object-schema@2.1.6': {} - css-tree@1.0.0-alpha.29: + '@eslint/plugin-kit@0.2.5': dependencies: - mdn-data: 1.1.4 - source-map: 0.5.7 + '@eslint/core': 0.10.0 + levn: 0.4.1 - css-tree@1.0.0-alpha.37: + '@floating-ui/core@1.6.9': dependencies: - mdn-data: 2.0.4 - source-map: 0.6.1 + '@floating-ui/utils': 0.2.9 - css-tree@1.1.3: + '@floating-ui/dom@1.6.13': dependencies: - mdn-data: 2.0.14 - source-map: 0.6.1 + '@floating-ui/core': 1.6.9 + '@floating-ui/utils': 0.2.9 - css-url-regex@1.1.0: {} + '@floating-ui/utils@0.2.9': {} - css-what@3.4.2: {} + '@floating-ui/vue@1.1.6(vue@3.5.13(typescript@5.7.3))': + dependencies: + '@floating-ui/dom': 1.6.13 + '@floating-ui/utils': 0.2.9 + vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.3)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue - css-what@5.1.0: {} + '@gar/promisify@1.1.3': {} - cssesc@3.0.0: {} + '@gera2ld/jsx-dom@2.2.2': + dependencies: + '@babel/runtime': 7.26.10 - cssfilter@0.0.10: {} + '@humanfs/core@0.19.1': {} - cssnano-preset-default@4.0.8: + '@humanfs/node@0.16.6': dependencies: - css-declaration-sorter: 4.0.1 - cssnano-util-raw-cache: 4.0.1 - postcss: 7.0.39 - postcss-calc: 7.0.5 - postcss-colormin: 4.0.3 - postcss-convert-values: 4.0.1 - postcss-discard-comments: 4.0.2 - postcss-discard-duplicates: 4.0.2 - postcss-discard-empty: 4.0.1 - postcss-discard-overridden: 4.0.1 - postcss-merge-longhand: 4.0.11 - postcss-merge-rules: 4.0.3 - postcss-minify-font-values: 4.0.2 - postcss-minify-gradients: 4.0.2 - postcss-minify-params: 4.0.2 - postcss-minify-selectors: 4.0.2 - postcss-normalize-charset: 4.0.1 - postcss-normalize-display-values: 4.0.2 - postcss-normalize-positions: 4.0.2 - postcss-normalize-repeat-style: 4.0.2 - postcss-normalize-string: 4.0.2 - postcss-normalize-timing-functions: 4.0.2 - postcss-normalize-unicode: 4.0.1 - postcss-normalize-url: 4.0.1 - postcss-normalize-whitespace: 4.0.2 - postcss-ordered-values: 4.1.2 - postcss-reduce-initial: 4.0.3 - postcss-reduce-transforms: 4.0.2 - postcss-svgo: 4.0.3 - postcss-unique-selectors: 4.0.1 + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.3.1': {} - cssnano-util-get-arguments@4.0.0: {} + '@humanwhocodes/retry@0.4.1': {} - cssnano-util-get-match@4.0.0: {} + '@iconify/types@2.0.0': {} - cssnano-util-raw-cache@4.0.1: + '@iconify/utils@2.3.0': dependencies: - postcss: 7.0.39 + '@antfu/install-pkg': 1.0.0 + '@antfu/utils': 8.1.1 + '@iconify/types': 2.0.0 + debug: 4.4.0(supports-color@5.5.0) + globals: 15.14.0 + kolorist: 1.8.0 + local-pkg: 1.0.0 + mlly: 1.7.4 + transitivePeerDependencies: + - supports-color - cssnano-util-same-parent@4.0.1: {} + '@interactjs/types@1.10.27': {} - cssnano@4.1.11: + '@internationalized/date@3.7.0': dependencies: - cosmiconfig: 5.2.1 - cssnano-preset-default: 4.0.8 - is-resolvable: 1.1.0 - postcss: 7.0.39 + '@swc/helpers': 0.5.15 - csso@3.5.1: + '@internationalized/number@3.6.0': dependencies: - css-tree: 1.0.0-alpha.29 + '@swc/helpers': 0.5.15 - csso@4.2.0: + '@isaacs/cliui@8.0.2': dependencies: - css-tree: 1.1.3 + 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 - csstype@2.6.20: {} + '@jridgewell/sourcemap-codec@1.5.0': {} - csv-parser@1.12.1: + '@malept/cross-spawn-promise@2.0.0': dependencies: - buffer-alloc: 1.2.0 - buffer-from: 1.1.2 - generate-function: 1.1.0 - generate-object-property: 1.2.0 - inherits: 2.0.4 - minimist: 1.2.6 - ndjson: 1.5.0 + cross-spawn: 7.0.6 - d3-array@1.2.4: {} + '@malept/flatpak-bundler@0.4.0': + dependencies: + debug: 4.4.0(supports-color@5.5.0) + fs-extra: 9.1.0 + lodash: 4.17.21 + tmp-promise: 3.0.3 + transitivePeerDependencies: + - supports-color - d3-array@3.2.0: + '@mermaid-js/parser@0.4.0': dependencies: - internmap: 2.0.3 + langium: 3.3.1 - d3-axis@1.0.12: {} + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 - d3-axis@3.0.0: {} + '@nodelib/fs.stat@2.0.5': {} - d3-brush@1.1.6: + '@nodelib/fs.walk@1.2.8': dependencies: - d3-dispatch: 1.0.6 - d3-drag: 1.2.5 - d3-interpolate: 1.4.0 - d3-selection: 1.4.2 - d3-transition: 1.3.2 + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.19.0 - d3-brush@3.0.0: + '@npmcli/fs@2.1.2': dependencies: - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) + '@gar/promisify': 1.1.3 + semver: 7.7.1 - d3-chord@1.0.6: + '@npmcli/move-file@2.0.1': dependencies: - d3-array: 1.2.4 - d3-path: 1.0.9 + mkdirp: 1.0.4 + rimraf: 3.0.2 - d3-chord@3.0.1: - dependencies: - d3-path: 3.0.1 + '@parcel/watcher-android-arm64@2.5.1': + optional: true - d3-collection@1.0.7: {} + '@parcel/watcher-darwin-arm64@2.5.1': + optional: true - d3-color@1.4.1: {} + '@parcel/watcher-darwin-x64@2.5.1': + optional: true - d3-color@3.1.0: {} + '@parcel/watcher-freebsd-x64@2.5.1': + optional: true - d3-contour@1.3.2: - dependencies: - d3-array: 1.2.4 + '@parcel/watcher-linux-arm-glibc@2.5.1': + optional: true - d3-contour@4.0.0: - dependencies: - d3-array: 3.2.0 + '@parcel/watcher-linux-arm-musl@2.5.1': + optional: true - d3-delaunay@6.0.2: - dependencies: - delaunator: 5.0.0 + '@parcel/watcher-linux-arm64-glibc@2.5.1': + optional: true - d3-dispatch@1.0.6: {} + '@parcel/watcher-linux-arm64-musl@2.5.1': + optional: true - d3-dispatch@3.0.1: {} + '@parcel/watcher-linux-x64-glibc@2.5.1': + optional: true - d3-drag@1.2.5: - dependencies: - d3-dispatch: 1.0.6 - d3-selection: 1.4.2 + '@parcel/watcher-linux-x64-musl@2.5.1': + optional: true - d3-drag@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-selection: 3.0.0 + '@parcel/watcher-win32-arm64@2.5.1': + optional: true - d3-dsv@1.2.0: - dependencies: - commander: 2.20.3 - iconv-lite: 0.4.24 - rw: 1.3.3 + '@parcel/watcher-win32-ia32@2.5.1': + optional: true - d3-dsv@3.0.1: + '@parcel/watcher-win32-x64@2.5.1': + optional: true + + '@parcel/watcher@2.5.1': dependencies: - commander: 7.2.0 - iconv-lite: 0.6.3 - rw: 1.3.3 + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.8 + node-addon-api: 7.1.1 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.5.1 + '@parcel/watcher-darwin-arm64': 2.5.1 + '@parcel/watcher-darwin-x64': 2.5.1 + '@parcel/watcher-freebsd-x64': 2.5.1 + '@parcel/watcher-linux-arm-glibc': 2.5.1 + '@parcel/watcher-linux-arm-musl': 2.5.1 + '@parcel/watcher-linux-arm64-glibc': 2.5.1 + '@parcel/watcher-linux-arm64-musl': 2.5.1 + '@parcel/watcher-linux-x64-glibc': 2.5.1 + '@parcel/watcher-linux-x64-musl': 2.5.1 + '@parcel/watcher-win32-arm64': 2.5.1 + '@parcel/watcher-win32-ia32': 2.5.1 + '@parcel/watcher-win32-x64': 2.5.1 + optional: true - d3-ease@1.0.7: {} + '@pkgjs/parseargs@0.11.0': + optional: true - d3-ease@3.0.1: {} + '@pkgr/core@0.1.1': {} - d3-fetch@1.2.0: - dependencies: - d3-dsv: 1.2.0 + '@rollup/rollup-android-arm-eabi@4.34.8': + optional: true - d3-fetch@3.0.1: - dependencies: - d3-dsv: 3.0.1 + '@rollup/rollup-android-arm64@4.34.8': + optional: true - d3-flextree@2.1.2: - dependencies: - d3-hierarchy: 1.1.9 + '@rollup/rollup-darwin-arm64@4.34.8': + optional: true - d3-force@1.2.1: - dependencies: - d3-collection: 1.0.7 - d3-dispatch: 1.0.6 - d3-quadtree: 1.0.7 - d3-timer: 1.0.10 + '@rollup/rollup-darwin-x64@4.34.8': + optional: true - d3-force@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-quadtree: 3.0.1 - d3-timer: 3.0.1 + '@rollup/rollup-freebsd-arm64@4.34.8': + optional: true - d3-format@1.4.5: {} + '@rollup/rollup-freebsd-x64@4.34.8': + optional: true - d3-format@3.1.0: {} + '@rollup/rollup-linux-arm-gnueabihf@4.34.8': + optional: true - d3-geo@1.12.1: - dependencies: - d3-array: 1.2.4 + '@rollup/rollup-linux-arm-musleabihf@4.34.8': + optional: true - d3-geo@3.0.1: - dependencies: - d3-array: 3.2.0 + '@rollup/rollup-linux-arm64-gnu@4.34.8': + optional: true - d3-hierarchy@1.1.9: {} + '@rollup/rollup-linux-arm64-musl@4.34.8': + optional: true - d3-hierarchy@3.1.2: {} + '@rollup/rollup-linux-loongarch64-gnu@4.34.8': + optional: true - d3-interpolate@1.4.0: - dependencies: - d3-color: 1.4.1 + '@rollup/rollup-linux-powerpc64le-gnu@4.34.8': + optional: true - d3-interpolate@3.0.1: - dependencies: - d3-color: 3.1.0 + '@rollup/rollup-linux-riscv64-gnu@4.34.8': + optional: true - d3-path@1.0.9: {} + '@rollup/rollup-linux-s390x-gnu@4.34.8': + optional: true - d3-path@3.0.1: {} + '@rollup/rollup-linux-x64-gnu@4.34.8': + optional: true - d3-polygon@1.0.6: {} + '@rollup/rollup-linux-x64-musl@4.34.8': + optional: true - d3-polygon@3.0.1: {} + '@rollup/rollup-win32-arm64-msvc@4.34.8': + optional: true - d3-quadtree@1.0.7: {} + '@rollup/rollup-win32-ia32-msvc@4.34.8': + optional: true - d3-quadtree@3.0.1: {} + '@rollup/rollup-win32-x64-msvc@4.34.8': + optional: true - d3-random@1.1.2: {} + '@scalar/openapi-types@0.1.1': {} - d3-random@3.0.1: {} + '@scalar/openapi-types@0.1.8': {} - d3-scale-chromatic@1.5.0: + '@scalar/themes@0.9.68': dependencies: - d3-color: 1.4.1 - d3-interpolate: 1.4.0 + '@scalar/types': 0.0.34 - d3-scale-chromatic@3.0.0: + '@scalar/types@0.0.12': dependencies: - d3-color: 3.1.0 - d3-interpolate: 3.0.1 + '@scalar/openapi-types': 0.1.1 + '@unhead/schema': 1.11.19 - d3-scale@2.2.2: + '@scalar/types@0.0.34': dependencies: - d3-array: 1.2.4 - d3-collection: 1.0.7 - d3-format: 1.4.5 - d3-interpolate: 1.4.0 - d3-time: 1.1.0 - d3-time-format: 2.3.0 + '@scalar/openapi-types': 0.1.8 + '@unhead/schema': 1.11.19 - d3-scale@4.0.2: - dependencies: - d3-array: 3.2.0 - d3-format: 3.1.0 - d3-interpolate: 3.0.1 - d3-time: 3.0.0 - d3-time-format: 4.1.0 + '@sinclair/typebox@0.34.27': {} - d3-selection@1.4.2: {} + '@sindresorhus/is@4.6.0': {} - d3-selection@3.0.0: {} + '@stylistic/eslint-plugin@2.13.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)': + dependencies: + '@typescript-eslint/utils': 8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + eslint: 9.19.0(jiti@2.4.2) + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 + estraverse: 5.3.0 + picomatch: 4.0.2 + transitivePeerDependencies: + - supports-color + - typescript - d3-shape@1.3.7: + '@swc/helpers@0.5.15': dependencies: - d3-path: 1.0.9 + tslib: 2.8.1 + + '@szmarczak/http-timer@4.0.6': + dependencies: + defer-to-connect: 2.0.1 - d3-shape@3.1.0: + '@tailwindcss/node@4.0.9': dependencies: - d3-path: 3.0.1 + enhanced-resolve: 5.18.1 + jiti: 2.4.2 + tailwindcss: 4.0.9 + + '@tailwindcss/oxide-android-arm64@4.0.9': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.0.9': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.0.9': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.0.9': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.9': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.0.9': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.0.9': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.0.9': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.0.9': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.0.9': + optional: true - d3-time-format@2.3.0: - dependencies: - d3-time: 1.1.0 + '@tailwindcss/oxide-win32-x64-msvc@4.0.9': + optional: true - d3-time-format@4.1.0: - dependencies: - d3-time: 3.0.0 + '@tailwindcss/oxide@4.0.9': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.0.9 + '@tailwindcss/oxide-darwin-arm64': 4.0.9 + '@tailwindcss/oxide-darwin-x64': 4.0.9 + '@tailwindcss/oxide-freebsd-x64': 4.0.9 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.0.9 + '@tailwindcss/oxide-linux-arm64-gnu': 4.0.9 + '@tailwindcss/oxide-linux-arm64-musl': 4.0.9 + '@tailwindcss/oxide-linux-x64-gnu': 4.0.9 + '@tailwindcss/oxide-linux-x64-musl': 4.0.9 + '@tailwindcss/oxide-win32-arm64-msvc': 4.0.9 + '@tailwindcss/oxide-win32-x64-msvc': 4.0.9 + + '@tailwindcss/postcss@4.0.9': + dependencies: + '@alloc/quick-lru': 5.2.0 + '@tailwindcss/node': 4.0.9 + '@tailwindcss/oxide': 4.0.9 + lightningcss: 1.29.1 + postcss: 8.5.3 + tailwindcss: 4.0.9 + + '@tailwindcss/vite@4.0.9(vite@6.1.1(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)(sass@1.85.1)(yaml@2.7.0))': + dependencies: + '@tailwindcss/node': 4.0.9 + '@tailwindcss/oxide': 4.0.9 + lightningcss: 1.29.1 + tailwindcss: 4.0.9 + vite: 6.1.1(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)(sass@1.85.1)(yaml@2.7.0) + + '@tanstack/virtual-core@3.13.2': {} + + '@tanstack/vue-virtual@3.13.2(vue@3.5.13(typescript@5.7.3))': + dependencies: + '@tanstack/virtual-core': 3.13.2 + vue: 3.5.13(typescript@5.7.3) - d3-time@1.1.0: {} + '@tootallnate/once@2.0.0': {} - d3-time@3.0.0: + '@types/better-sqlite3@7.6.12': dependencies: - d3-array: 3.2.0 + '@types/node': 22.13.1 - d3-timer@1.0.10: {} + '@types/cacheable-request@6.0.3': + dependencies: + '@types/http-cache-semantics': 4.0.4 + '@types/keyv': 3.1.4 + '@types/node': 22.13.1 + '@types/responselike': 1.0.3 - d3-timer@3.0.1: {} + '@types/chroma-js@3.1.1': {} - d3-transition@1.3.2: + '@types/codemirror@5.60.15': dependencies: - d3-color: 1.4.1 - d3-dispatch: 1.0.6 - d3-ease: 1.0.7 - d3-interpolate: 1.4.0 - d3-selection: 1.4.2 - d3-timer: 1.0.10 + '@types/tern': 0.23.9 - d3-transition@3.0.1(d3-selection@3.0.0): + '@types/conventional-commits-parser@5.0.1': dependencies: - d3-color: 3.1.0 - d3-dispatch: 3.0.1 - d3-ease: 3.0.1 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-timer: 3.0.1 + '@types/node': 22.13.1 + + '@types/crypto-js@4.2.2': {} - d3-voronoi@1.1.4: {} + '@types/d3-array@3.2.1': {} - d3-zoom@1.8.3: + '@types/d3-axis@3.0.6': dependencies: - d3-dispatch: 1.0.6 - d3-drag: 1.2.5 - d3-interpolate: 1.4.0 - d3-selection: 1.4.2 - d3-transition: 1.3.2 + '@types/d3-selection': 3.0.11 - d3-zoom@3.0.0: + '@types/d3-brush@3.0.6': dependencies: - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) + '@types/d3-selection': 3.0.11 - d3@5.16.0: - dependencies: - d3-array: 1.2.4 - d3-axis: 1.0.12 - d3-brush: 1.1.6 - d3-chord: 1.0.6 - d3-collection: 1.0.7 - d3-color: 1.4.1 - d3-contour: 1.3.2 - d3-dispatch: 1.0.6 - d3-drag: 1.2.5 - d3-dsv: 1.2.0 - d3-ease: 1.0.7 - d3-fetch: 1.2.0 - d3-force: 1.2.1 - d3-format: 1.4.5 - d3-geo: 1.12.1 - d3-hierarchy: 1.1.9 - d3-interpolate: 1.4.0 - d3-path: 1.0.9 - d3-polygon: 1.0.6 - d3-quadtree: 1.0.7 - d3-random: 1.1.2 - d3-scale: 2.2.2 - d3-scale-chromatic: 1.5.0 - d3-selection: 1.4.2 - d3-shape: 1.3.7 - d3-time: 1.1.0 - d3-time-format: 2.3.0 - d3-timer: 1.0.10 - d3-transition: 1.3.2 - d3-voronoi: 1.1.4 - d3-zoom: 1.8.3 + '@types/d3-chord@3.0.6': {} - d3@7.8.5: - dependencies: - d3-array: 3.2.0 - d3-axis: 3.0.0 - d3-brush: 3.0.0 - d3-chord: 3.0.1 - d3-color: 3.1.0 - d3-contour: 4.0.0 - d3-delaunay: 6.0.2 - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-dsv: 3.0.1 - d3-ease: 3.0.1 - d3-fetch: 3.0.1 - d3-force: 3.0.0 - d3-format: 3.1.0 - d3-geo: 3.0.1 - d3-hierarchy: 3.1.2 - d3-interpolate: 3.0.1 - d3-path: 3.0.1 - d3-polygon: 3.0.1 - d3-quadtree: 3.0.1 - d3-random: 3.0.1 - d3-scale: 4.0.2 - d3-scale-chromatic: 3.0.0 - d3-selection: 3.0.0 - d3-shape: 3.1.0 - d3-time: 3.0.0 - d3-time-format: 4.1.0 - d3-timer: 3.0.1 - d3-transition: 3.0.1(d3-selection@3.0.0) - d3-zoom: 3.0.0 + '@types/d3-color@3.1.3': {} - dagre-d3@0.6.4: + '@types/d3-contour@3.0.6': dependencies: - d3: 5.16.0 - dagre: 0.8.5 - graphlib: 2.1.8 - lodash: 4.17.21 + '@types/d3-array': 3.2.1 + '@types/geojson': 7946.0.16 - dagre@0.8.5: - dependencies: - graphlib: 2.1.8 - lodash: 4.17.21 + '@types/d3-delaunay@6.0.4': {} - dargs@7.0.0: {} + '@types/d3-dispatch@3.0.6': {} - dashdash@1.14.1: + '@types/d3-drag@3.0.7': dependencies: - assert-plus: 1.0.0 + '@types/d3-selection': 3.0.11 - date-fns@2.28.0: {} + '@types/d3-dsv@3.0.7': {} - debounce-fn@4.0.0: - dependencies: - mimic-fn: 3.1.0 + '@types/d3-ease@3.0.2': {} - debug@2.6.9: + '@types/d3-fetch@3.0.7': dependencies: - ms: 2.0.0 + '@types/d3-dsv': 3.0.7 - debug@3.1.0: - dependencies: - ms: 2.0.0 + '@types/d3-force@3.0.10': {} - debug@3.2.7: - dependencies: - ms: 2.1.3 + '@types/d3-format@3.0.4': {} - debug@4.3.4(supports-color@9.2.1): + '@types/d3-geo@3.1.0': dependencies: - ms: 2.1.2 - supports-color: 9.2.1 + '@types/geojson': 7946.0.16 - decamelize-keys@1.1.0: - dependencies: - decamelize: 1.2.0 - map-obj: 1.0.1 + '@types/d3-hierarchy@3.1.7': {} - decamelize@1.2.0: {} + '@types/d3-interpolate@3.0.4': + dependencies: + '@types/d3-color': 3.1.3 - decode-uri-component@0.2.0: {} + '@types/d3-path@3.1.1': {} - decode-uri-component@0.4.1: {} + '@types/d3-polygon@3.0.2': {} - decompress-response@3.3.0: - dependencies: - mimic-response: 1.0.1 + '@types/d3-quadtree@3.0.6': {} - decompress-tar@4.1.1: - dependencies: - file-type: 5.2.0 - is-stream: 1.1.0 - tar-stream: 1.6.2 + '@types/d3-random@3.0.3': {} - decompress-tarbz2@4.1.1: - dependencies: - decompress-tar: 4.1.1 - file-type: 6.2.0 - is-stream: 1.1.0 - seek-bzip: 1.0.6 - unbzip2-stream: 1.4.3 + '@types/d3-scale-chromatic@3.1.0': {} - decompress-targz@4.1.1: + '@types/d3-scale@4.0.9': dependencies: - decompress-tar: 4.1.1 - file-type: 5.2.0 - is-stream: 1.1.0 + '@types/d3-time': 3.0.4 - decompress-unzip@4.0.1: - dependencies: - file-type: 3.9.0 - get-stream: 2.3.1 - pify: 2.3.0 - yauzl: 2.10.0 + '@types/d3-selection@3.0.11': {} - decompress@4.2.1: + '@types/d3-shape@3.1.7': dependencies: - decompress-tar: 4.1.1 - decompress-tarbz2: 4.1.1 - decompress-targz: 4.1.1 - decompress-unzip: 4.0.1 - graceful-fs: 4.2.10 - make-dir: 1.3.0 - pify: 2.3.0 - strip-dirs: 2.1.0 + '@types/d3-path': 3.1.1 - deep-extend@0.6.0: {} + '@types/d3-time-format@4.0.3': {} - deep-is@0.1.4: {} + '@types/d3-time@3.0.4': {} - deepmerge@4.2.2: {} + '@types/d3-timer@3.0.2': {} - defaults@1.0.3: + '@types/d3-transition@3.0.9': dependencies: - clone: 1.0.4 - - defer-to-connect@1.1.3: {} + '@types/d3-selection': 3.0.11 - define-properties@1.1.3: + '@types/d3-zoom@3.0.8': dependencies: - object-keys: 1.1.1 + '@types/d3-interpolate': 3.0.4 + '@types/d3-selection': 3.0.11 - define-properties@1.1.4: + '@types/d3@7.4.3': dependencies: - has-property-descriptors: 1.0.0 - object-keys: 1.1.1 + '@types/d3-array': 3.2.1 + '@types/d3-axis': 3.0.6 + '@types/d3-brush': 3.0.6 + '@types/d3-chord': 3.0.6 + '@types/d3-color': 3.1.3 + '@types/d3-contour': 3.0.6 + '@types/d3-delaunay': 6.0.4 + '@types/d3-dispatch': 3.0.6 + '@types/d3-drag': 3.0.7 + '@types/d3-dsv': 3.0.7 + '@types/d3-ease': 3.0.2 + '@types/d3-fetch': 3.0.7 + '@types/d3-force': 3.0.10 + '@types/d3-format': 3.0.4 + '@types/d3-geo': 3.1.0 + '@types/d3-hierarchy': 3.1.7 + '@types/d3-interpolate': 3.0.4 + '@types/d3-path': 3.1.1 + '@types/d3-polygon': 3.0.2 + '@types/d3-quadtree': 3.0.6 + '@types/d3-random': 3.0.3 + '@types/d3-scale': 4.0.9 + '@types/d3-scale-chromatic': 3.1.0 + '@types/d3-selection': 3.0.11 + '@types/d3-shape': 3.1.7 + '@types/d3-time': 3.0.4 + '@types/d3-time-format': 4.0.3 + '@types/d3-timer': 3.0.2 + '@types/d3-transition': 3.0.9 + '@types/d3-zoom': 3.0.8 - define-property@0.2.5: + '@types/debug@4.1.12': dependencies: - is-descriptor: 0.1.6 + '@types/ms': 2.1.0 - define-property@1.0.0: - dependencies: - is-descriptor: 1.0.2 + '@types/doctrine@0.0.9': {} - define-property@2.0.2: - dependencies: - is-descriptor: 1.0.2 - isobject: 3.0.1 + '@types/dom-to-image@2.6.7': {} - delaunator@5.0.0: + '@types/eslint@9.6.1': dependencies: - robust-predicates: 3.0.1 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 - delayed-stream@1.0.0: {} + '@types/estree@1.0.6': {} - depd@1.1.2: {} + '@types/fs-extra@11.0.4': + dependencies: + '@types/jsonfile': 6.1.4 + '@types/node': 22.13.1 - depd@2.0.0: {} + '@types/fs-extra@9.0.13': + dependencies: + '@types/node': 22.13.1 - deprecated-decorator@0.1.6: {} + '@types/geojson@7946.0.16': {} - destroy@1.0.4: {} + '@types/http-cache-semantics@4.0.4': {} - destroy@1.2.0: {} + '@types/js-yaml@4.0.9': {} - detect-node@2.1.0: - optional: true + '@types/json-schema@7.0.15': {} - dicer@0.3.0: + '@types/jsonfile@6.1.4': dependencies: - streamsearch: 0.1.2 + '@types/node': 22.13.1 - diff@4.0.2: {} - - dir-compare@2.4.0: + '@types/keyv@3.1.4': dependencies: - buffer-equal: 1.0.0 - colors: 1.0.3 - commander: 2.9.0 - minimatch: 3.0.4 + '@types/node': 22.13.1 - dir-glob@2.2.2: + '@types/mdast@4.0.4': dependencies: - path-type: 3.0.0 + '@types/unist': 3.0.3 - dir-glob@3.0.1: - dependencies: - path-type: 4.0.0 + '@types/ms@2.1.0': {} - dmg-builder@23.1.0: + '@types/node@20.17.17': dependencies: - app-builder-lib: 23.1.0 - builder-util: 23.0.9 - builder-util-runtime: 9.0.2 - fs-extra: 10.1.0 - iconv-lite: 0.6.3 - js-yaml: 4.1.0 - optionalDependencies: - dmg-license: 1.0.11 - transitivePeerDependencies: - - supports-color + undici-types: 6.19.8 - dmg-license@1.0.11: + '@types/node@22.13.1': dependencies: - '@types/plist': 3.0.2 - '@types/verror': 1.10.5 - ajv: 6.12.6 - crc: 3.8.0 - iconv-corefoundation: 1.1.7 - plist: 3.0.5 - smart-buffer: 4.2.0 - verror: 1.10.1 - optional: true + undici-types: 6.20.0 - doctrine@2.1.0: - dependencies: - esutils: 2.0.3 + '@types/normalize-package-data@2.4.4': {} - doctrine@3.0.0: + '@types/plist@3.0.5': dependencies: - esutils: 2.0.3 - - doctypes@1.1.0: {} + '@types/node': 22.13.1 + xmlbuilder: 15.1.1 + optional: true - dom-serializer@0.2.2: + '@types/responselike@1.0.3': dependencies: - domelementtype: 2.2.0 - entities: 2.2.0 + '@types/node': 22.13.1 - dom-serializer@1.3.2: + '@types/sanitize-html@2.15.0': dependencies: - domelementtype: 2.2.0 - domhandler: 4.3.0 - entities: 2.2.0 + htmlparser2: 8.0.2 - dom-to-image@2.6.0: {} + '@types/tern@0.23.9': + dependencies: + '@types/estree': 1.0.6 - domelementtype@1.3.1: {} + '@types/trusted-types@2.0.7': + optional: true - domelementtype@2.2.0: {} + '@types/unist@3.0.3': {} - domelementtype@2.3.0: {} + '@types/verror@1.10.10': + optional: true - domhandler@4.3.0: - dependencies: - domelementtype: 2.2.0 + '@types/web-bluetooth@0.0.20': {} - domhandler@4.3.1: + '@types/yauzl@2.10.3': dependencies: - domelementtype: 2.3.0 + '@types/node': 22.13.1 + optional: true - dompurify@2.3.8: {} + '@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/scope-manager': 8.23.0 + '@typescript-eslint/type-utils': 8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/utils': 8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.23.0 + eslint: 9.19.0(jiti@2.4.2) + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + ts-api-utils: 2.0.1(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color - domutils@1.7.0: + '@typescript-eslint/parser@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)': dependencies: - dom-serializer: 0.2.2 - domelementtype: 1.3.1 + '@typescript-eslint/scope-manager': 8.23.0 + '@typescript-eslint/types': 8.23.0 + '@typescript-eslint/typescript-estree': 8.23.0(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.23.0 + debug: 4.4.0(supports-color@5.5.0) + eslint: 9.19.0(jiti@2.4.2) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color - domutils@2.8.0: + '@typescript-eslint/scope-manager@8.23.0': dependencies: - dom-serializer: 1.3.2 - domelementtype: 2.2.0 - domhandler: 4.3.0 + '@typescript-eslint/types': 8.23.0 + '@typescript-eslint/visitor-keys': 8.23.0 - dot-prop@5.3.0: + '@typescript-eslint/type-utils@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)': dependencies: - is-obj: 2.0.0 + '@typescript-eslint/typescript-estree': 8.23.0(typescript@5.7.3) + '@typescript-eslint/utils': 8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + debug: 4.4.0(supports-color@5.5.0) + eslint: 9.19.0(jiti@2.4.2) + ts-api-utils: 2.0.1(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color - dot-prop@6.0.1: + '@typescript-eslint/types@8.23.0': {} + + '@typescript-eslint/typescript-estree@8.23.0(typescript@5.7.3)': dependencies: - is-obj: 2.0.0 + '@typescript-eslint/types': 8.23.0 + '@typescript-eslint/visitor-keys': 8.23.0 + debug: 4.4.0(supports-color@5.5.0) + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.1 + ts-api-utils: 2.0.1(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color - dotenv-expand@5.1.0: {} + '@typescript-eslint/utils@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)': + dependencies: + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.23.0 + '@typescript-eslint/types': 8.23.0 + '@typescript-eslint/typescript-estree': 8.23.0(typescript@5.7.3) + eslint: 9.19.0(jiti@2.4.2) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color - dotenv@16.0.1: {} + '@typescript-eslint/visitor-keys@8.23.0': + dependencies: + '@typescript-eslint/types': 8.23.0 + eslint-visitor-keys: 4.2.0 - dotenv@9.0.2: {} + '@unhead/schema@1.11.19': + dependencies: + hookable: 5.5.3 + zhead: 2.2.4 - download-git-repo@3.0.2: + '@vitejs/plugin-vue@5.2.1(vite@6.1.1(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)(sass@1.85.1)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))': dependencies: - download: 7.1.0 - git-clone: 0.1.0 - rimraf: 3.0.2 + vite: 6.1.1(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)(sass@1.85.1)(yaml@2.7.0) + vue: 3.5.13(typescript@5.7.3) - download@7.1.0: + '@vitest/eslint-plugin@1.1.25(@typescript-eslint/utils@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)': dependencies: - archive-type: 4.0.0 - caw: 2.0.1 - content-disposition: 0.5.4 - decompress: 4.2.1 - ext-name: 5.0.0 - file-type: 8.1.0 - filenamify: 2.1.0 - get-stream: 3.0.0 - got: 8.3.2 - make-dir: 1.3.0 - p-event: 2.3.1 - pify: 3.0.0 + '@typescript-eslint/utils': 8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + eslint: 9.19.0(jiti@2.4.2) + optionalDependencies: + typescript: 5.7.3 - duplexer2@0.1.4: + '@vscode/markdown-it-katex@1.1.1': dependencies: - readable-stream: 2.3.7 + katex: 0.16.22 - duplexer3@0.1.4: {} + '@vue/compiler-core@3.5.13': + dependencies: + '@babel/parser': 7.26.7 + '@vue/shared': 3.5.13 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.1 - duplexer@0.1.2: {} + '@vue/compiler-dom@3.5.13': + dependencies: + '@vue/compiler-core': 3.5.13 + '@vue/shared': 3.5.13 - easy-stack@1.0.1: {} + '@vue/compiler-sfc@3.5.13': + dependencies: + '@babel/parser': 7.26.7 + '@vue/compiler-core': 3.5.13 + '@vue/compiler-dom': 3.5.13 + '@vue/compiler-ssr': 3.5.13 + '@vue/shared': 3.5.13 + estree-walker: 2.0.2 + magic-string: 0.30.17 + postcss: 8.5.3 + source-map-js: 1.2.1 - ecc-jsbn@0.1.2: + '@vue/compiler-ssr@3.5.13': dependencies: - jsbn: 0.1.1 - safer-buffer: 2.1.2 + '@vue/compiler-dom': 3.5.13 + '@vue/shared': 3.5.13 - ee-first@1.1.1: {} + '@vue/devtools-api@6.6.4': {} - ejs@2.7.4: {} + '@vue/reactivity@3.5.13': + dependencies: + '@vue/shared': 3.5.13 - ejs@3.1.8: + '@vue/runtime-core@3.5.13': dependencies: - jake: 10.8.5 + '@vue/reactivity': 3.5.13 + '@vue/shared': 3.5.13 - electron-builder@23.1.0: + '@vue/runtime-dom@3.5.13': dependencies: - '@types/yargs': 17.0.10 - app-builder-lib: 23.1.0 - builder-util: 23.0.9 - builder-util-runtime: 9.0.2 - chalk: 4.1.2 - dmg-builder: 23.1.0 - fs-extra: 10.1.0 - is-ci: 3.0.1 - lazy-val: 1.0.5 - read-config-file: 6.2.0 - update-notifier: 5.1.0 - yargs: 17.5.1 - transitivePeerDependencies: - - supports-color + '@vue/reactivity': 3.5.13 + '@vue/runtime-core': 3.5.13 + '@vue/shared': 3.5.13 + csstype: 3.1.3 - electron-notarize@1.2.1: + '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.7.3))': dependencies: - debug: 4.3.4(supports-color@9.2.1) - fs-extra: 9.1.0 - transitivePeerDependencies: - - supports-color + '@vue/compiler-ssr': 3.5.13 + '@vue/shared': 3.5.13 + vue: 3.5.13(typescript@5.7.3) - electron-osx-sign@0.6.0: + '@vue/shared@3.5.13': {} + + '@vueuse/core@10.11.1(vue@3.5.13(typescript@5.7.3))': dependencies: - bluebird: 3.7.2 - compare-version: 0.1.2 - debug: 2.6.9 - isbinaryfile: 3.0.3 - minimist: 1.2.6 - plist: 3.0.5 + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.11.1 + '@vueuse/shared': 10.11.1(vue@3.5.13(typescript@5.7.3)) + vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.3)) transitivePeerDependencies: - - supports-color + - '@vue/composition-api' + - vue - electron-publish@23.0.9: + '@vueuse/core@12.7.0(typescript@5.7.3)': dependencies: - '@types/fs-extra': 9.0.13 - builder-util: 23.0.9 - builder-util-runtime: 9.0.2 - chalk: 4.1.2 - fs-extra: 10.1.0 - lazy-val: 1.0.5 - mime: 2.6.0 + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 12.7.0 + '@vueuse/shared': 12.7.0(typescript@5.7.3) + vue: 3.5.13(typescript@5.7.3) transitivePeerDependencies: - - supports-color + - typescript - electron-store@8.0.1: - dependencies: - conf: 10.1.1 - type-fest: 1.4.0 + '@vueuse/metadata@10.11.1': {} - electron-to-chromium@1.4.87: {} + '@vueuse/metadata@12.7.0': {} - electron@12.2.3: + '@vueuse/shared@10.11.1(vue@3.5.13(typescript@5.7.3))': dependencies: - '@electron/get': 1.14.1 - '@types/node': 14.18.2 - extract-zip: 1.7.0 + vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.3)) transitivePeerDependencies: - - supports-color + - '@vue/composition-api' + - vue - electron@16.2.3: + '@vueuse/shared@12.7.0(typescript@5.7.3)': dependencies: - '@electron/get': 1.14.1 - '@types/node': 14.18.2 - extract-zip: 1.7.0 + vue: 3.5.13(typescript@5.7.3) transitivePeerDependencies: - - supports-color - - emmet@2.3.6: - dependencies: - '@emmetio/abbreviation': 2.2.3 - '@emmetio/css-abbreviation': 2.1.4 - - emoji-regex@8.0.0: {} - - emoji-regex@9.2.2: {} + - typescript - encodeurl@1.0.2: {} + '@xmldom/xmldom@0.8.10': {} - end-of-stream@1.4.4: + JSONStream@1.3.5: dependencies: - once: 1.4.0 + jsonparse: 1.3.1 + through: 2.3.8 - engine.io-client@6.1.1(utf-8-validate@5.0.9): - dependencies: - '@socket.io/component-emitter': 3.0.0 - debug: 4.3.4(supports-color@9.2.1) - engine.io-parser: 5.0.3 - has-cors: 1.1.0 - parseqs: 0.0.6 - parseuri: 0.0.6 - ws: 8.2.3(utf-8-validate@5.0.9) - xmlhttprequest-ssl: 2.0.0 - yeast: 0.1.2 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate + abbrev@1.1.1: {} - engine.io-parser@5.0.3: + acorn-jsx@5.3.2(acorn@8.14.0): dependencies: - '@socket.io/base64-arraybuffer': 1.0.2 + acorn: 8.14.0 - engine.io@6.1.3(utf-8-validate@5.0.9): + acorn@8.14.0: {} + + agent-base@6.0.2: dependencies: - '@types/cookie': 0.4.1 - '@types/cors': 2.8.12 - '@types/node': 17.0.22 - accepts: 1.3.8 - base64id: 2.0.0 - cookie: 0.4.2 - cors: 2.8.5 - debug: 4.3.4(supports-color@9.2.1) - engine.io-parser: 5.0.3 - ws: 8.2.3(utf-8-validate@5.0.9) + debug: 4.4.0(supports-color@5.5.0) transitivePeerDependencies: - - bufferutil - supports-color - - utf-8-validate - enhanced-resolve@0.9.1: - dependencies: - graceful-fs: 4.2.10 - memory-fs: 0.2.0 - tapable: 0.1.10 + agent-base@7.1.3: {} - enhanced-resolve@5.9.2: + agentkeepalive@4.6.0: dependencies: - graceful-fs: 4.2.10 - tapable: 2.2.1 + humanize-ms: 1.2.1 - enquirer@2.3.6: + aggregate-error@3.1.0: dependencies: - ansi-colors: 4.1.1 - - entities@2.2.0: {} - - entities@3.0.1: {} - - env-paths@2.2.1: {} + clean-stack: 2.2.0 + indent-string: 4.0.0 - envinfo@7.8.1: {} + ajv-formats@2.1.1(ajv@8.17.1): + optionalDependencies: + ajv: 8.17.1 - error-ex@1.3.2: + ajv-keywords@3.5.2(ajv@6.12.6): dependencies: - is-arrayish: 0.2.1 + ajv: 6.12.6 - errorhandler@1.5.1: - dependencies: - accepts: 1.3.8 - escape-html: 1.0.3 - - es-abstract@1.19.1: - dependencies: - call-bind: 1.0.2 - es-to-primitive: 1.2.1 - function-bind: 1.1.1 - get-intrinsic: 1.1.1 - get-symbol-description: 1.0.0 - has: 1.0.3 - has-symbols: 1.0.2 - internal-slot: 1.0.3 - is-callable: 1.2.4 - is-negative-zero: 2.0.2 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.1 - is-string: 1.0.7 - is-weakref: 1.0.2 - object-inspect: 1.12.0 - object-keys: 1.1.1 - object.assign: 4.1.2 - string.prototype.trimend: 1.0.4 - string.prototype.trimstart: 1.0.4 - unbox-primitive: 1.0.1 + 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 - es-module-lexer@0.9.3: {} + ajv@8.17.1: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.0.6 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 - es-to-primitive@1.2.1: + ansi-escapes@7.0.0: dependencies: - is-callable: 1.2.4 - is-date-object: 1.0.5 - is-symbol: 1.0.4 + environment: 1.1.0 - es6-error@4.1.1: - optional: true + ansi-regex@5.0.1: {} - esbuild-android-64@0.14.27: - optional: true + ansi-regex@6.1.0: {} - esbuild-android-arm64@0.14.27: - optional: true + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 - esbuild-darwin-64@0.14.27: - optional: true + ansi-styles@6.2.1: {} - esbuild-darwin-arm64@0.14.27: - optional: true + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 - esbuild-freebsd-64@0.14.27: - optional: true + app-builder-bin@5.0.0-alpha.10: {} - esbuild-freebsd-arm64@0.14.27: - optional: true + app-builder-lib@25.1.8(dmg-builder@25.1.8)(electron-builder-squirrel-windows@25.1.8): + dependencies: + '@develar/schema-utils': 2.6.5 + '@electron/notarize': 2.5.0 + '@electron/osx-sign': 1.3.1 + '@electron/rebuild': 3.6.1 + '@electron/universal': 2.0.1 + '@malept/flatpak-bundler': 0.4.0 + '@types/fs-extra': 9.0.13 + async-exit-hook: 2.0.1 + bluebird-lst: 1.0.9 + builder-util: 25.1.7 + builder-util-runtime: 9.2.10 + chromium-pickle-js: 0.2.0 + config-file-ts: 0.2.8-rc1 + debug: 4.4.0(supports-color@5.5.0) + dmg-builder: 25.1.8(electron-builder-squirrel-windows@25.1.8) + dotenv: 16.4.7 + dotenv-expand: 11.0.7 + ejs: 3.1.10 + electron-builder-squirrel-windows: 25.1.8(dmg-builder@25.1.8) + electron-publish: 25.1.7 + form-data: 4.0.1 + fs-extra: 10.1.0 + hosted-git-info: 4.1.0 + is-ci: 3.0.1 + isbinaryfile: 5.0.4 + js-yaml: 4.1.0 + json5: 2.2.3 + lazy-val: 1.0.5 + minimatch: 10.0.1 + resedit: 1.7.2 + sanitize-filename: 1.6.3 + semver: 7.7.1 + tar: 6.2.1 + temp-file: 3.4.0 + transitivePeerDependencies: + - bluebird + - supports-color - esbuild-linux-32@0.14.27: - optional: true + aproba@2.0.0: {} - esbuild-linux-64@0.14.27: - optional: true + archiver-utils@2.1.0: + dependencies: + glob: 7.2.3 + graceful-fs: 4.2.11 + lazystream: 1.0.1 + lodash.defaults: 4.2.0 + lodash.difference: 4.5.0 + lodash.flatten: 4.4.0 + lodash.isplainobject: 4.0.6 + lodash.union: 4.6.0 + normalize-path: 3.0.0 + readable-stream: 2.3.8 - esbuild-linux-arm64@0.14.27: - optional: true + archiver-utils@3.0.4: + dependencies: + glob: 7.2.3 + graceful-fs: 4.2.11 + lazystream: 1.0.1 + lodash.defaults: 4.2.0 + lodash.difference: 4.5.0 + lodash.flatten: 4.4.0 + lodash.isplainobject: 4.0.6 + lodash.union: 4.6.0 + normalize-path: 3.0.0 + readable-stream: 3.6.2 - esbuild-linux-arm@0.14.27: - optional: true + archiver@5.3.2: + dependencies: + archiver-utils: 2.1.0 + async: 3.2.6 + buffer-crc32: 0.2.13 + readable-stream: 3.6.2 + readdir-glob: 1.1.3 + tar-stream: 2.2.0 + zip-stream: 4.1.1 - esbuild-linux-mips64le@0.14.27: - optional: true + are-docs-informative@0.0.2: {} - esbuild-linux-ppc64le@0.14.27: - optional: true + are-we-there-yet@3.0.1: + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 - esbuild-linux-riscv64@0.14.27: - optional: true + argparse@2.0.1: {} - esbuild-linux-s390x@0.14.27: - optional: true + aria-hidden@1.2.4: + dependencies: + tslib: 2.8.1 - esbuild-netbsd-64@0.14.27: - optional: true + array-ify@1.0.0: {} - esbuild-openbsd-64@0.14.27: - optional: true + asap@2.0.6: {} - esbuild-sunos-64@0.14.27: + assert-plus@1.0.0: optional: true - esbuild-windows-32@0.14.27: + astral-regex@2.0.0: optional: true - esbuild-windows-64@0.14.27: - optional: true + async-exit-hook@2.0.1: {} - esbuild-windows-arm64@0.14.27: - optional: true + async@3.2.6: {} - esbuild@0.14.27: - optionalDependencies: - esbuild-android-64: 0.14.27 - esbuild-android-arm64: 0.14.27 - esbuild-darwin-64: 0.14.27 - esbuild-darwin-arm64: 0.14.27 - esbuild-freebsd-64: 0.14.27 - esbuild-freebsd-arm64: 0.14.27 - esbuild-linux-32: 0.14.27 - esbuild-linux-64: 0.14.27 - esbuild-linux-arm: 0.14.27 - esbuild-linux-arm64: 0.14.27 - esbuild-linux-mips64le: 0.14.27 - esbuild-linux-ppc64le: 0.14.27 - esbuild-linux-riscv64: 0.14.27 - esbuild-linux-s390x: 0.14.27 - esbuild-netbsd-64: 0.14.27 - esbuild-openbsd-64: 0.14.27 - esbuild-sunos-64: 0.14.27 - esbuild-windows-32: 0.14.27 - esbuild-windows-64: 0.14.27 - esbuild-windows-arm64: 0.14.27 - - escalade@3.1.1: {} - - escape-goat@2.1.1: {} - - escape-html@1.0.3: {} + asynckit@0.4.0: {} - escape-string-regexp@1.0.5: {} + at-least-node@1.0.0: {} - escape-string-regexp@4.0.0: {} + atomically@1.7.0: {} - eslint-config-prettier@8.3.0(eslint@8.5.0): + autoprefixer@10.4.20(postcss@8.5.3): dependencies: - eslint: 8.5.0 + browserslist: 4.24.4 + caniuse-lite: 1.0.30001698 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.1 + postcss: 8.5.3 + postcss-value-parser: 4.2.0 - eslint-config-standard@16.0.3(eslint-plugin-import@2.25.3)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@6.0.0)(eslint@8.5.0): - dependencies: - eslint: 8.5.0 - eslint-plugin-import: 2.25.3(@typescript-eslint/parser@5.8.0)(eslint@8.5.0) - eslint-plugin-node: 11.1.0(eslint@8.5.0) - eslint-plugin-promise: 6.0.0(eslint@8.5.0) + balanced-match@1.0.2: {} - eslint-import-resolver-node@0.3.6: - dependencies: - debug: 3.2.7 - resolve: 1.22.0 - transitivePeerDependencies: - - supports-color + base64-js@1.5.1: {} - eslint-import-resolver-webpack@0.13.2(eslint-plugin-import@2.25.3)(webpack@5.70.0): + better-sqlite3@11.8.1: dependencies: - array-find: 1.0.0 - debug: 3.2.7 - enhanced-resolve: 0.9.1 - eslint-plugin-import: 2.25.3(@typescript-eslint/parser@5.8.0)(eslint@8.5.0) - find-root: 1.1.0 - has: 1.0.3 - interpret: 1.4.0 - is-core-module: 2.8.1 - is-regex: 1.1.4 - lodash: 4.17.21 - resolve: 1.22.0 - semver: 5.7.1 - webpack: 5.70.0 - transitivePeerDependencies: - - supports-color + bindings: 1.5.0 + prebuild-install: 7.1.3 - eslint-module-utils@2.7.1(@typescript-eslint/parser@5.8.0)(eslint-import-resolver-node@0.3.6): - dependencies: - '@typescript-eslint/parser': 5.8.0(eslint@8.5.0)(typescript@4.5.4) - debug: 3.2.7 - eslint-import-resolver-node: 0.3.6 - find-up: 2.1.0 - pkg-dir: 2.0.0 - transitivePeerDependencies: - - supports-color + binary-extensions@2.3.0: {} - eslint-plugin-es@3.0.1(eslint@8.5.0): + bindings@1.5.0: dependencies: - eslint: 8.5.0 - eslint-utils: 2.1.0 - regexpp: 3.2.0 + file-uri-to-path: 1.0.0 - eslint-plugin-import@2.25.3(@typescript-eslint/parser@5.8.0)(eslint@8.5.0): + bl@4.1.0: dependencies: - '@typescript-eslint/parser': 5.8.0(eslint@8.5.0)(typescript@4.5.4) - array-includes: 3.1.4 - array.prototype.flat: 1.2.5 - debug: 2.6.9 - doctrine: 2.1.0 - eslint: 8.5.0 - eslint-import-resolver-node: 0.3.6 - eslint-module-utils: 2.7.1(@typescript-eslint/parser@5.8.0)(eslint-import-resolver-node@0.3.6) - has: 1.0.3 - is-core-module: 2.8.1 - is-glob: 4.0.3 - minimatch: 3.0.4 - object.values: 1.1.5 - resolve: 1.22.0 - tsconfig-paths: 3.12.0 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 - eslint-plugin-node@11.1.0(eslint@8.5.0): + bluebird-lst@1.0.9: dependencies: - eslint: 8.5.0 - eslint-plugin-es: 3.0.1(eslint@8.5.0) - eslint-utils: 2.1.0 - ignore: 5.2.0 - minimatch: 3.0.4 - resolve: 1.22.0 - semver: 6.3.0 + bluebird: 3.7.2 - eslint-plugin-prettier@4.0.0(eslint-config-prettier@8.3.0)(eslint@8.5.0)(prettier@2.6.2): - dependencies: - eslint: 8.5.0 - eslint-config-prettier: 8.3.0(eslint@8.5.0) - prettier: 2.6.2 - prettier-linter-helpers: 1.0.0 + bluebird@3.7.2: {} - eslint-plugin-promise@6.0.0(eslint@8.5.0): - dependencies: - eslint: 8.5.0 + boolbase@1.0.0: {} - eslint-plugin-vue@8.2.0(eslint@8.5.0): - dependencies: - eslint: 8.5.0 - eslint-utils: 3.0.0(eslint@8.5.0) - natural-compare: 1.4.0 - semver: 7.3.5 - vue-eslint-parser: 8.0.1(eslint@8.5.0) - transitivePeerDependencies: - - supports-color + boolean@3.2.0: + optional: true - eslint-scope@5.1.1: + brace-expansion@1.1.11: dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 + balanced-match: 1.0.2 + concat-map: 0.0.1 - eslint-scope@6.0.0: + brace-expansion@2.0.1: dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 + balanced-match: 1.0.2 - eslint-scope@7.1.0: + braces@3.0.3: dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 + fill-range: 7.1.1 - eslint-utils@2.1.0: + browserslist@4.24.4: dependencies: - eslint-visitor-keys: 1.3.0 + caniuse-lite: 1.0.30001698 + electron-to-chromium: 1.5.95 + node-releases: 2.0.19 + update-browserslist-db: 1.1.2(browserslist@4.24.4) - eslint-utils@3.0.0(eslint@8.5.0): - dependencies: - eslint: 8.5.0 - eslint-visitor-keys: 2.1.0 + buffer-crc32@0.2.13: {} - eslint-visitor-keys@1.3.0: {} + buffer-from@1.1.2: {} - eslint-visitor-keys@2.1.0: {} + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 - eslint-visitor-keys@3.1.0: {} + builder-util-runtime@9.2.10: + dependencies: + debug: 4.4.0(supports-color@5.5.0) + sax: 1.4.1 + transitivePeerDependencies: + - supports-color - eslint@8.5.0: + builder-util@25.1.7: dependencies: - '@eslint/eslintrc': 1.0.5 - '@humanwhocodes/config-array': 0.9.2 - ajv: 6.12.6 + 7zip-bin: 5.2.0 + '@types/debug': 4.1.12 + app-builder-bin: 5.0.0-alpha.10 + bluebird-lst: 1.0.9 + builder-util-runtime: 9.2.10 chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@9.2.1) - doctrine: 3.0.0 - enquirer: 2.3.6 - escape-string-regexp: 4.0.0 - eslint-scope: 7.1.0 - eslint-utils: 3.0.0(eslint@8.5.0) - eslint-visitor-keys: 3.1.0 - espree: 9.2.0 - esquery: 1.4.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - functional-red-black-tree: 1.0.1 - glob-parent: 6.0.2 - globals: 13.12.0 - ignore: 4.0.6 - import-fresh: 3.3.0 - imurmurhash: 0.1.4 - is-glob: 4.0.3 + cross-spawn: 7.0.6 + debug: 4.4.0(supports-color@5.5.0) + fs-extra: 10.1.0 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + is-ci: 3.0.1 js-yaml: 4.1.0 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.0.4 - natural-compare: 1.4.0 - optionator: 0.9.1 - progress: 2.0.3 - regexpp: 3.2.0 - semver: 7.3.5 - strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 - text-table: 0.2.0 - v8-compile-cache: 2.3.0 + source-map-support: 0.5.21 + stat-mode: 1.0.0 + temp-file: 3.4.0 transitivePeerDependencies: - supports-color - espree@9.2.0: - dependencies: - acorn: 8.7.0 - acorn-jsx: 5.3.2(acorn@8.7.0) - eslint-visitor-keys: 3.1.0 + builtin-modules@3.3.0: {} - esprima@4.0.1: {} + bumpp@9.11.1: + dependencies: + c12: 2.0.1 + cac: 6.7.14 + escalade: 3.2.0 + js-yaml: 4.1.0 + jsonc-parser: 3.3.1 + package-manager-detector: 0.2.9 + prompts: 2.4.2 + semver: 7.7.1 + tiny-conventional-commits-parser: 0.0.1 + tinyexec: 0.3.2 + tinyglobby: 0.2.10 + transitivePeerDependencies: + - magicast - esquery@1.4.0: + c12@2.0.1: dependencies: - estraverse: 5.3.0 + chokidar: 4.0.3 + confbox: 0.1.8 + defu: 6.1.4 + dotenv: 16.4.7 + giget: 1.2.4 + jiti: 2.4.2 + mlly: 1.7.4 + ohash: 1.1.4 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.3.1 + rc9: 2.1.2 - esrecurse@4.3.0: + cac@6.7.14: {} + + cacache@16.1.3: dependencies: - estraverse: 5.3.0 + '@npmcli/fs': 2.1.2 + '@npmcli/move-file': 2.0.1 + chownr: 2.0.0 + fs-minipass: 2.1.0 + glob: 8.1.0 + infer-owner: 1.0.4 + lru-cache: 7.18.3 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + mkdirp: 1.0.4 + p-map: 4.0.0 + promise-inflight: 1.0.1 + rimraf: 3.0.2 + ssri: 9.0.1 + tar: 6.2.1 + unique-filename: 2.0.1 + transitivePeerDependencies: + - bluebird - estraverse@4.3.0: {} + cacheable-lookup@5.0.4: {} - estraverse@5.3.0: {} + cacheable-request@7.0.4: + dependencies: + clone-response: 1.0.3 + get-stream: 5.2.0 + http-cache-semantics: 4.1.1 + keyv: 4.5.4 + lowercase-keys: 2.0.0 + normalize-url: 6.1.0 + responselike: 2.0.1 - estree-walker@2.0.2: {} + callsites@3.1.0: {} - esutils@2.0.3: {} + caniuse-lite@1.0.30001698: {} - etag@1.8.1: {} + ccount@2.0.1: {} - event-pubsub@4.3.0: {} + chalk@3.0.0: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 - event-stream@3.3.4: + chalk@4.1.2: 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 + ansi-styles: 4.3.0 + supports-color: 7.2.0 - eventemitter3@3.1.2: {} + chalk@5.4.1: {} - events@3.3.0: {} + change-case@5.4.4: {} - exec-sh@0.2.2: - dependencies: - merge: 1.2.1 + character-entities@2.0.2: {} - execa@0.9.0: + cheerio-select@2.1.0: dependencies: - cross-spawn: 5.1.0 - get-stream: 3.0.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.7 - strip-eof: 1.0.0 + boolbase: 1.0.0 + css-select: 5.1.0 + css-what: 6.1.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 - execa@1.0.0: + cheerio@1.0.0: dependencies: - cross-spawn: 6.0.5 - get-stream: 4.1.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.7 - strip-eof: 1.0.0 + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.2.2 + encoding-sniffer: 0.2.0 + htmlparser2: 9.1.0 + parse5: 7.2.1 + parse5-htmlparser2-tree-adapter: 7.1.0 + parse5-parser-stream: 7.1.2 + undici: 6.21.2 + whatwg-mimetype: 4.0.0 - execa@3.4.0: + chevrotain-allstar@0.3.1(chevrotain@11.0.3): dependencies: - cross-spawn: 7.0.3 - get-stream: 5.2.0 - human-signals: 1.1.1 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - p-finally: 2.0.1 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 + chevrotain: 11.0.3 + lodash-es: 4.17.21 - execa@5.1.1: + chevrotain@11.0.3: 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.6 - strip-final-newline: 2.0.0 - - expand-brackets@2.1.4: - dependencies: - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - posix-character-classes: 0.1.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color + '@chevrotain/cst-dts-gen': 11.0.3 + '@chevrotain/gast': 11.0.3 + '@chevrotain/regexp-to-ast': 11.0.3 + '@chevrotain/types': 11.0.3 + '@chevrotain/utils': 11.0.3 + lodash-es: 4.17.21 - expand-tilde@2.0.2: + chokidar@3.6.0: dependencies: - homedir-polyfill: 1.0.3 - - express-history-api-fallback@2.2.1: {} + anymatch: 3.1.3 + braces: 3.0.3 + 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 - express-urlrewrite@1.4.0: + chokidar@4.0.3: dependencies: - debug: 4.3.4(supports-color@9.2.1) - path-to-regexp: 1.8.0 - transitivePeerDependencies: - - supports-color - - express@4.17.2: - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.19.1 - content-disposition: 0.5.4 - content-type: 1.0.4 - cookie: 0.4.1 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 1.1.2 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.1.2 - fresh: 0.5.2 - merge-descriptors: 1.0.1 - methods: 1.1.2 - on-finished: 2.3.0 - parseurl: 1.3.3 - path-to-regexp: 0.1.7 - proxy-addr: 2.0.7 - qs: 6.9.6 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.17.2 - serve-static: 1.14.2 - setprototypeof: 1.2.0 - statuses: 1.5.0 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color + readdirp: 4.1.1 - express@4.18.0: - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.0 - content-disposition: 0.5.4 - content-type: 1.0.4 - cookie: 0.5.0 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 2.0.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.2.0 - fresh: 0.5.2 - http-errors: 2.0.0 - merge-descriptors: 1.0.1 - methods: 1.1.2 - on-finished: 2.4.1 - parseurl: 1.3.3 - path-to-regexp: 0.1.7 - proxy-addr: 2.0.7 - qs: 6.10.3 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 - setprototypeof: 1.2.0 - statuses: 2.0.1 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color + chownr@1.1.4: {} - ext-list@2.2.2: - dependencies: - mime-db: 1.52.0 + chownr@2.0.0: {} - ext-name@5.0.0: - dependencies: - ext-list: 2.2.2 - sort-keys-length: 1.0.1 + chroma-js@3.1.2: {} - extend-shallow@2.0.1: - dependencies: - is-extendable: 0.1.1 + chromium-pickle-js@0.2.0: {} - extend-shallow@3.0.2: - dependencies: - assign-symbols: 1.0.0 - is-extendable: 1.0.1 + ci-info@3.9.0: {} - extend@3.0.2: {} + ci-info@4.1.0: {} - external-editor@3.1.0: + citty@0.1.6: dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 + consola: 3.4.0 - extglob@2.0.4: + class-variance-authority@0.7.1: dependencies: - array-unique: 0.3.2 - define-property: 1.0.0 - expand-brackets: 2.1.4 - extend-shallow: 2.0.1 - fragment-cache: 0.2.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color + clsx: 2.1.1 - extract-zip@1.7.0: + clean-regexp@1.0.0: dependencies: - concat-stream: 1.6.2 - debug: 2.6.9 - mkdirp: 0.5.6 - yauzl: 2.10.0 - transitivePeerDependencies: - - supports-color - - extsprintf@1.3.0: {} - - extsprintf@1.4.1: - optional: true - - fast-deep-equal@3.1.3: {} + escape-string-regexp: 1.0.5 - fast-diff@1.2.0: {} + clean-stack@2.2.0: {} - fast-glob@2.2.7: + cli-cursor@3.1.0: dependencies: - '@mrmlnc/readdir-enhanced': 2.2.1 - '@nodelib/fs.stat': 1.1.3 - glob-parent: 3.1.0 - is-glob: 4.0.3 - merge2: 1.4.1 - micromatch: 3.1.10 - transitivePeerDependencies: - - supports-color + restore-cursor: 3.1.0 - fast-glob@3.2.11: + cli-cursor@5.0.0: 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.4 - - fast-json-stable-stringify@2.1.0: {} + restore-cursor: 5.1.0 - fast-levenshtein@2.0.6: {} - - fast-plist@0.1.2: {} + cli-spinners@2.9.2: {} - fastq@1.13.0: + cli-truncate@2.1.0: dependencies: - reusify: 1.0.4 + slice-ansi: 3.0.0 + string-width: 4.2.3 + optional: true - fd-slicer@1.1.0: + cli-truncate@4.0.0: dependencies: - pend: 1.2.0 + slice-ansi: 5.0.0 + string-width: 7.2.0 - figures@3.2.0: + cliui@8.0.1: dependencies: - escape-string-regexp: 1.0.5 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 - file-entry-cache@6.0.1: + clone-response@1.0.3: dependencies: - flat-cache: 3.0.4 - - file-type@3.9.0: {} - - file-type@4.4.0: {} - - file-type@5.2.0: {} + mimic-response: 1.0.1 - file-type@6.2.0: {} + clone@1.0.4: {} - file-type@8.1.0: {} + clsx@2.1.1: {} - filelist@1.0.4: + codemirror-textmate@1.1.0(codemirror@5.65.18)(onigasm@2.2.5): dependencies: - minimatch: 5.1.0 - - filename-reserved-regex@2.0.0: {} + codemirror: 5.65.18 + lru-cache: 4.1.5 + monaco-textmate: 3.0.1(onigasm@2.2.5) + onigasm: 2.2.5 + p-cancelable: 1.1.0 - filenamify@2.1.0: - dependencies: - filename-reserved-regex: 2.0.0 - strip-outer: 1.0.1 - trim-repeated: 1.0.0 + codemirror@5.65.18: {} - fill-range@4.0.0: + color-convert@2.0.1: dependencies: - extend-shallow: 2.0.1 - is-number: 3.0.0 - repeat-string: 1.6.1 - to-regex-range: 2.1.1 + color-name: 1.1.4 - fill-range@7.0.1: - dependencies: - to-regex-range: 5.0.1 + color-name-list@11.22.0: {} - filter-obj@5.1.0: {} + color-name@1.1.4: {} - finalhandler@1.1.2: - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.3.0 - parseurl: 1.3.3 - statuses: 1.5.0 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color + color-support@1.1.3: {} - finalhandler@1.2.0: - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.1 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color + colorette@2.0.20: {} - find-cache-dir@2.1.0: + combined-stream@1.0.8: dependencies: - commondir: 1.0.1 - make-dir: 2.1.0 - pkg-dir: 3.0.0 + delayed-stream: 1.0.0 - find-replace@3.0.0: - dependencies: - array-back: 3.1.0 + commander@13.1.0: {} - find-root@1.1.0: {} + commander@5.1.0: {} - find-up@2.1.0: - dependencies: - locate-path: 2.0.0 + commander@7.2.0: {} - find-up@3.0.0: - dependencies: - locate-path: 3.0.0 + commander@8.3.0: {} - find-up@4.1.0: - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 + comment-parser@1.4.1: {} - find-up@5.0.0: + compare-func@2.0.0: dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 + array-ify: 1.0.0 + dot-prop: 5.3.0 - fkill@6.2.0: - dependencies: - aggregate-error: 3.1.0 - arrify: 2.0.1 - execa: 1.0.0 - pid-from-port: 1.1.3 - process-exists: 3.1.0 - taskkill: 3.1.0 + compare-version@0.1.2: {} - flat-cache@3.0.4: + compress-commons@4.1.2: dependencies: - flatted: 3.2.4 - rimraf: 3.0.2 + buffer-crc32: 0.2.13 + crc32-stream: 4.0.3 + normalize-path: 3.0.0 + readable-stream: 3.6.2 - flatted@3.2.4: {} + concat-map@0.0.1: {} - floating-vue@2.0.0-beta.17(vue@3.2.33): + concurrently@9.1.2: dependencies: - '@floating-ui/dom': 0.1.10 - vue: 3.2.33 - vue-resize: 2.0.0-alpha.1(vue@3.2.33) - - flow-parser@0.168.0: {} + chalk: 4.1.2 + lodash: 4.17.21 + rxjs: 7.8.1 + shell-quote: 1.8.2 + supports-color: 8.1.1 + tree-kill: 1.2.2 + yargs: 17.7.2 - follow-redirects@1.14.9: {} + conf@10.2.0: + dependencies: + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) + atomically: 1.7.0 + debounce-fn: 4.0.0 + dot-prop: 6.0.1 + env-paths: 2.2.1 + json-schema-typed: 7.0.3 + onetime: 5.1.2 + pkg-up: 3.1.0 + semver: 7.7.1 - fontello-cli@0.6.2: - dependencies: - colors: 1.4.0 - commander: 3.0.2 - mkdirp: 1.0.4 - needle: 2.9.1 - open: 7.4.2 - unzipper: 0.10.11 - transitivePeerDependencies: - - supports-color + confbox@0.1.8: {} - for-each@0.3.3: + config-file-ts@0.2.8-rc1: dependencies: - is-callable: 1.2.4 + glob: 10.4.5 + typescript: 5.7.3 - for-in@1.0.2: {} + consola@3.4.0: {} - forever-agent@0.6.1: {} + console-control-strings@1.1.0: {} - form-data@2.3.3: + conventional-changelog-angular@7.0.0: dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 + compare-func: 2.0.0 - form-data@4.0.0: + conventional-changelog-conventionalcommits@7.0.2: dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - - forwarded@0.2.0: {} + compare-func: 2.0.0 - fragment-cache@0.2.1: + conventional-commits-parser@5.0.0: dependencies: - map-cache: 0.2.2 + JSONStream: 1.3.5 + is-text-path: 2.0.0 + meow: 12.1.1 + split2: 4.2.0 - fresh@0.5.2: {} + cookie@1.0.2: {} - from2@2.3.0: + core-js-compat@3.40.0: dependencies: - inherits: 2.0.4 - readable-stream: 2.3.7 - - from@0.1.7: {} + browserslist: 4.24.4 - fs-capacitor@2.0.4: {} - - fs-constants@1.0.0: {} + core-util-is@1.0.2: + optional: true - fs-exists-sync@0.1.0: {} + core-util-is@1.0.3: {} - fs-extra@10.0.1: + cose-base@1.0.3: dependencies: - graceful-fs: 4.2.9 - jsonfile: 6.1.0 - universalify: 2.0.0 + layout-base: 1.0.2 - fs-extra@10.1.0: + cose-base@2.2.0: dependencies: - graceful-fs: 4.2.10 - jsonfile: 6.1.0 - universalify: 2.0.0 + layout-base: 2.0.1 - fs-extra@7.0.1: + cosmiconfig-typescript-loader@6.1.0(@types/node@22.13.1)(cosmiconfig@9.0.0(typescript@5.7.3))(typescript@5.7.3): dependencies: - graceful-fs: 4.2.9 - jsonfile: 4.0.0 - universalify: 0.1.2 + '@types/node': 22.13.1 + cosmiconfig: 9.0.0(typescript@5.7.3) + jiti: 2.4.2 + typescript: 5.7.3 - fs-extra@8.1.0: + cosmiconfig@9.0.0(typescript@5.7.3): dependencies: - graceful-fs: 4.2.10 - jsonfile: 4.0.0 - universalify: 0.1.2 + env-paths: 2.2.1 + import-fresh: 3.3.1 + js-yaml: 4.1.0 + parse-json: 5.2.0 + optionalDependencies: + typescript: 5.7.3 - fs-extra@9.1.0: + crc-32@1.2.2: {} + + crc32-stream@4.0.3: dependencies: - at-least-node: 1.0.0 - graceful-fs: 4.2.10 - jsonfile: 6.1.0 - universalify: 2.0.0 + crc-32: 1.2.2 + readable-stream: 3.6.2 - fs-minipass@2.1.0: + crc@3.8.0: dependencies: - minipass: 3.3.4 + buffer: 5.7.1 + optional: true - fs-plus@3.1.1: + cross-env@7.0.3: dependencies: - async: 1.5.2 - mkdirp: 0.5.6 - rimraf: 2.7.1 - underscore-plus: 1.7.0 + cross-spawn: 7.0.6 - fs.realpath@1.0.0: {} + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 - fsevents@2.3.2: - optional: true + crypto-js@4.2.0: {} - fstream@1.0.12: + css-select@5.1.0: dependencies: - graceful-fs: 4.2.10 - inherits: 2.0.4 - mkdirp: 0.5.6 - rimraf: 2.7.1 - - fswin@2.17.1227: {} + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.2.2 + nth-check: 2.1.1 - function-bind@1.1.1: {} + css-what@6.1.0: {} - functional-red-black-tree@1.0.1: {} + cssesc@3.0.0: {} - fuse.js@7.0.0: {} + csstype@3.1.3: {} - generate-function@1.1.0: {} + cytoscape-cose-bilkent@4.1.0(cytoscape@3.31.2): + dependencies: + cose-base: 1.0.3 + cytoscape: 3.31.2 - generate-object-property@1.2.0: + cytoscape-fcose@2.2.0(cytoscape@3.31.2): dependencies: - is-property: 1.0.2 + cose-base: 2.2.0 + cytoscape: 3.31.2 - gensync@1.0.0-beta.2: {} + cytoscape@3.31.2: {} - get-caller-file@2.0.5: {} + d3-array@2.12.1: + dependencies: + internmap: 1.0.1 - get-intrinsic@1.1.1: + d3-array@3.2.4: dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-symbols: 1.0.2 + internmap: 2.0.3 - get-proxy@2.1.0: + d3-axis@3.0.0: {} + + d3-brush@3.0.0: dependencies: - npm-conf: 1.1.3 + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) - get-stream@2.3.1: + d3-chord@3.0.1: dependencies: - object-assign: 4.1.1 - pinkie-promise: 2.0.1 + d3-path: 3.1.0 - get-stream@3.0.0: {} + d3-color@3.1.0: {} - get-stream@4.1.0: + d3-contour@4.0.2: dependencies: - pump: 3.0.0 + d3-array: 3.2.4 - get-stream@5.2.0: + d3-delaunay@6.0.4: dependencies: - pump: 3.0.0 + delaunator: 5.0.1 - get-stream@6.0.1: {} + d3-dispatch@3.0.1: {} - get-symbol-description@1.0.0: + d3-drag@3.0.0: dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.1.1 - - get-value@2.0.6: {} + d3-dispatch: 3.0.1 + d3-selection: 3.0.0 - getpass@0.1.7: + d3-dsv@3.0.1: dependencies: - assert-plus: 1.0.0 + commander: 7.2.0 + iconv-lite: 0.6.3 + rw: 1.3.3 - git-clone@0.1.0: {} + d3-ease@3.0.1: {} - git-config-path@1.0.1: + d3-fetch@3.0.1: dependencies: - extend-shallow: 2.0.1 - fs-exists-sync: 0.1.0 - homedir-polyfill: 1.0.3 + d3-dsv: 3.0.1 - git-raw-commits@2.0.10: + d3-force@3.0.0: dependencies: - dargs: 7.0.0 - lodash: 4.17.21 - meow: 8.1.2 - split2: 3.2.2 - through2: 4.0.2 + d3-dispatch: 3.0.1 + d3-quadtree: 3.0.1 + d3-timer: 3.0.1 - glob-parent@3.1.0: - dependencies: - is-glob: 3.1.0 - path-dirname: 1.0.2 + d3-format@3.1.0: {} - glob-parent@5.1.2: + d3-geo@3.1.1: dependencies: - is-glob: 4.0.3 + d3-array: 3.2.4 - glob-parent@6.0.2: + d3-hierarchy@3.1.2: {} + + d3-interpolate@3.0.1: dependencies: - is-glob: 4.0.3 + d3-color: 3.1.0 + + d3-path@1.0.9: {} - glob-to-regexp@0.3.0: {} + d3-path@3.1.0: {} - glob-to-regexp@0.4.1: {} + d3-polygon@3.0.1: {} - glob@7.2.0: - 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 + d3-quadtree@3.0.1: {} - 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 + d3-random@3.0.1: {} - global-agent@3.0.0: + d3-sankey@0.12.3: dependencies: - boolean: 3.1.4 - es6-error: 4.1.1 - matcher: 3.0.0 - roarr: 2.15.4 - semver: 7.3.5 - serialize-error: 7.0.1 - optional: true + d3-array: 2.12.1 + d3-shape: 1.3.7 - global-dirs@0.1.1: + d3-scale-chromatic@3.1.0: dependencies: - ini: 1.3.8 + d3-color: 3.1.0 + d3-interpolate: 3.0.1 - global-dirs@3.0.0: + d3-scale@4.0.2: dependencies: - ini: 2.0.0 + d3-array: 3.2.4 + d3-format: 3.1.0 + d3-interpolate: 3.0.1 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + + d3-selection@3.0.0: {} - global-tunnel-ng@2.7.1: + d3-shape@1.3.7: dependencies: - encodeurl: 1.0.2 - lodash: 4.17.21 - npm-conf: 1.1.3 - tunnel: 0.0.6 - optional: true + d3-path: 1.0.9 - globals@11.12.0: {} + d3-shape@3.2.0: + dependencies: + d3-path: 3.1.0 - globals@13.12.0: + d3-time-format@4.1.0: dependencies: - type-fest: 0.20.2 + d3-time: 3.1.0 - globalthis@1.0.2: + d3-time@3.1.0: dependencies: - define-properties: 1.1.3 - optional: true + d3-array: 3.2.4 + + d3-timer@3.0.1: {} - globby@11.0.4: + d3-transition@3.0.1(d3-selection@3.0.0): dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.2.11 - ignore: 5.2.0 - merge2: 1.4.1 - slash: 3.0.0 + d3-color: 3.1.0 + d3-dispatch: 3.0.1 + d3-ease: 3.0.1 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-timer: 3.0.1 - globby@9.2.0: + d3-zoom@3.0.0: dependencies: - '@types/glob': 7.2.0 - array-union: 1.0.2 - dir-glob: 2.2.2 - fast-glob: 2.2.7 - glob: 7.2.0 - ignore: 4.0.6 - pify: 4.0.1 - slash: 2.0.0 - transitivePeerDependencies: - - supports-color + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) - got@8.3.2: + d3@7.9.0: dependencies: - '@sindresorhus/is': 0.7.0 - '@types/keyv': 3.1.4 - '@types/responselike': 1.0.0 - cacheable-request: 2.1.4 - decompress-response: 3.3.0 - duplexer3: 0.1.4 - get-stream: 3.0.0 - into-stream: 3.1.0 - is-retry-allowed: 1.2.0 - isurl: 1.0.0 - lowercase-keys: 1.0.1 - mimic-response: 1.0.1 - p-cancelable: 0.4.1 - p-timeout: 2.0.1 - pify: 3.0.0 - safe-buffer: 5.2.1 - timed-out: 4.0.1 - url-parse-lax: 3.0.0 - url-to-options: 1.0.1 + d3-array: 3.2.4 + d3-axis: 3.0.0 + d3-brush: 3.0.0 + d3-chord: 3.0.1 + d3-color: 3.1.0 + d3-contour: 4.0.2 + d3-delaunay: 6.0.4 + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-dsv: 3.0.1 + d3-ease: 3.0.1 + d3-fetch: 3.0.1 + d3-force: 3.0.0 + d3-format: 3.1.0 + d3-geo: 3.1.1 + d3-hierarchy: 3.1.2 + d3-interpolate: 3.0.1 + d3-path: 3.1.0 + d3-polygon: 3.0.1 + d3-quadtree: 3.0.1 + d3-random: 3.0.1 + d3-scale: 4.0.2 + d3-scale-chromatic: 3.1.0 + d3-selection: 3.0.0 + d3-shape: 3.2.0 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + d3-timer: 3.0.1 + d3-transition: 3.0.1(d3-selection@3.0.0) + d3-zoom: 3.0.0 - got@9.6.0: + dagre-d3-es@7.0.11: dependencies: - '@sindresorhus/is': 0.14.0 - '@szmarczak/http-timer': 1.1.2 - '@types/keyv': 3.1.4 - '@types/responselike': 1.0.0 - cacheable-request: 6.1.0 - decompress-response: 3.3.0 - duplexer3: 0.1.4 - get-stream: 4.1.0 - lowercase-keys: 1.0.1 - mimic-response: 1.0.1 - p-cancelable: 1.1.0 - to-readable-stream: 1.0.0 - url-parse-lax: 3.0.0 + d3: 7.9.0 + lodash-es: 4.17.21 - graceful-fs@4.2.10: {} + dargs@8.1.0: {} - graceful-fs@4.2.9: {} + date-fns@4.1.0: {} - graceful-readlink@1.0.1: {} + dayjs@1.11.13: {} - graphlib@2.1.8: + debounce-fn@4.0.0: dependencies: - lodash: 4.17.21 + mimic-fn: 3.1.0 - graphql-extensions@0.15.0(graphql@14.7.0): + debug@3.2.7: dependencies: - '@apollographql/apollo-tools': 0.5.3(graphql@14.7.0) - apollo-server-env: 3.1.0 - apollo-server-types: 0.9.0(graphql@14.7.0) - graphql: 14.7.0 - transitivePeerDependencies: - - encoding + ms: 2.1.3 - graphql-subscriptions@1.2.1(graphql@14.7.0): + debug@4.4.0(supports-color@5.5.0): dependencies: - graphql: 14.7.0 - iterall: 1.3.0 + ms: 2.1.3 + optionalDependencies: + supports-color: 5.5.0 - graphql-tag@2.12.6(graphql@14.7.0): + decode-named-character-reference@1.0.2: dependencies: - graphql: 14.7.0 - tslib: 2.4.0 + character-entities: 2.0.2 - graphql-tools@4.0.8(graphql@14.7.0): + decompress-response@6.0.0: dependencies: - apollo-link: 1.2.14(graphql@14.7.0) - apollo-utilities: 1.3.4(graphql@14.7.0) - deprecated-decorator: 0.1.6 - graphql: 14.7.0 - iterall: 1.3.0 - uuid: 3.4.0 + mimic-response: 3.1.0 - graphql-type-json@0.3.2(graphql@14.7.0): - dependencies: - graphql: 14.7.0 + deep-extend@0.6.0: {} - graphql@14.7.0: - dependencies: - iterall: 1.3.0 + deep-is@0.1.4: {} - growly@1.3.0: {} + deepmerge@4.3.1: {} - handlebars@4.7.7: + defaults@1.0.4: dependencies: - minimist: 1.2.6 - neo-async: 2.6.2 - source-map: 0.6.1 - wordwrap: 1.0.0 - optionalDependencies: - uglify-js: 3.16.3 + clone: 1.0.4 - har-schema@2.0.0: {} + defer-to-connect@2.0.1: {} - har-validator@5.1.5: + define-data-property@1.1.4: dependencies: - ajv: 6.12.6 - har-schema: 2.0.0 + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + optional: true - hard-rejection@2.1.0: {} + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + optional: true - has-bigints@1.0.1: {} + defu@6.1.4: {} - has-cors@1.1.0: {} + delaunator@5.0.1: + dependencies: + robust-predicates: 3.0.2 - has-flag@3.0.0: {} + delayed-stream@1.0.0: {} - has-flag@4.0.0: {} + delegates@1.0.0: {} - has-property-descriptors@1.0.0: - dependencies: - get-intrinsic: 1.1.1 + dequal@2.0.3: {} - has-symbol-support-x@1.4.2: {} + destr@2.0.3: {} - has-symbols@1.0.2: {} + detect-libc@1.0.3: {} - has-symbols@1.0.3: {} + detect-libc@2.0.3: {} - has-to-string-tag-x@1.4.1: - dependencies: - has-symbol-support-x: 1.4.2 + detect-node@2.1.0: + optional: true - has-tostringtag@1.0.0: + devlop@1.1.0: dependencies: - has-symbols: 1.0.2 + dequal: 2.0.3 - has-value@0.3.1: + dezalgo@1.0.4: dependencies: - get-value: 2.0.6 - has-values: 0.1.4 - isobject: 2.1.0 + asap: 2.0.6 + wrappy: 1.0.2 - has-value@1.0.0: + dir-compare@4.2.0: dependencies: - get-value: 2.0.6 - has-values: 1.0.0 - isobject: 3.0.1 - - has-values@0.1.4: {} + minimatch: 3.1.2 + p-limit: 3.1.0 - has-values@1.0.0: + dmg-builder@25.1.8(electron-builder-squirrel-windows@25.1.8): dependencies: - is-number: 3.0.0 - kind-of: 4.0.0 + app-builder-lib: 25.1.8(dmg-builder@25.1.8)(electron-builder-squirrel-windows@25.1.8) + builder-util: 25.1.7 + builder-util-runtime: 9.2.10 + fs-extra: 10.1.0 + iconv-lite: 0.6.3 + js-yaml: 4.1.0 + optionalDependencies: + dmg-license: 1.0.11 + transitivePeerDependencies: + - bluebird + - electron-builder-squirrel-windows + - supports-color - has-yarn@2.1.0: {} + dmg-license@1.0.11: + dependencies: + '@types/plist': 3.0.5 + '@types/verror': 1.10.10 + ajv: 6.12.6 + crc: 3.8.0 + iconv-corefoundation: 1.1.7 + plist: 3.1.0 + smart-buffer: 4.2.0 + verror: 1.10.1 + optional: true - has@1.0.3: + doctrine@3.0.0: dependencies: - function-bind: 1.1.1 + esutils: 2.0.3 - hex-color-regex@1.1.0: {} + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 - highlight.js@11.5.1: {} + dom-to-image@2.6.0: {} - highlight.js@11.9.0: {} + domelementtype@2.3.0: {} - homedir-polyfill@1.0.3: + domhandler@5.0.3: dependencies: - parse-passwd: 1.0.0 + domelementtype: 2.3.0 - hosted-git-info@2.8.9: {} + dompurify@3.2.5: + optionalDependencies: + '@types/trusted-types': 2.0.7 - hosted-git-info@4.0.2: + domutils@3.2.2: dependencies: - lru-cache: 6.0.0 + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 - hosted-git-info@4.1.0: + dot-prop@5.3.0: dependencies: - lru-cache: 6.0.0 - - hsl-regex@1.0.0: {} - - hsla-regex@1.0.0: {} + is-obj: 2.0.0 - htmlparser2@6.1.0: + dot-prop@6.0.1: dependencies: - domelementtype: 2.2.0 - domhandler: 4.3.0 - domutils: 2.8.0 - entities: 2.2.0 + is-obj: 2.0.0 - htmlparser2@7.2.0: + dotenv-expand@11.0.7: dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - domutils: 2.8.0 - entities: 3.0.1 + dotenv: 16.4.7 + + dotenv@16.4.7: {} - http-cache-semantics@3.8.1: {} + eastasianwidth@0.2.0: {} - http-cache-semantics@4.1.0: {} + ejs@3.1.10: + dependencies: + jake: 10.9.2 - http-errors@1.8.1: + electron-builder-squirrel-windows@25.1.8(dmg-builder@25.1.8): dependencies: - depd: 1.1.2 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 1.5.0 - toidentifier: 1.0.1 + app-builder-lib: 25.1.8(dmg-builder@25.1.8)(electron-builder-squirrel-windows@25.1.8) + archiver: 5.3.2 + builder-util: 25.1.7 + fs-extra: 10.1.0 + transitivePeerDependencies: + - bluebird + - dmg-builder + - supports-color - http-errors@2.0.0: + electron-builder@25.1.8(electron-builder-squirrel-windows@25.1.8): dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 + app-builder-lib: 25.1.8(dmg-builder@25.1.8)(electron-builder-squirrel-windows@25.1.8) + builder-util: 25.1.7 + builder-util-runtime: 9.2.10 + chalk: 4.1.2 + dmg-builder: 25.1.8(electron-builder-squirrel-windows@25.1.8) + fs-extra: 10.1.0 + is-ci: 3.0.1 + lazy-val: 1.0.5 + simple-update-notifier: 2.0.0 + yargs: 17.7.2 + transitivePeerDependencies: + - bluebird + - electron-builder-squirrel-windows + - supports-color - http-proxy-agent@5.0.0: + electron-publish@25.1.7: dependencies: - '@tootallnate/once': 2.0.0 - agent-base: 6.0.2 - debug: 4.3.4(supports-color@9.2.1) + '@types/fs-extra': 9.0.13 + builder-util: 25.1.7 + builder-util-runtime: 9.2.10 + chalk: 4.1.2 + fs-extra: 10.1.0 + lazy-val: 1.0.5 + mime: 2.6.0 transitivePeerDependencies: - supports-color - http-signature@1.2.0: + electron-store@8.2.0: dependencies: - assert-plus: 1.0.0 - jsprim: 1.4.2 - sshpk: 1.17.0 + conf: 10.2.0 + type-fest: 2.19.0 - https-proxy-agent@5.0.1: + electron-to-chromium@1.5.95: {} + + electron@34.1.1: dependencies: - agent-base: 6.0.2 - debug: 4.3.4(supports-color@9.2.1) + '@electron/get': 2.0.3 + '@types/node': 20.17.17 + extract-zip: 2.0.1 transitivePeerDependencies: - supports-color - human-signals@1.1.1: {} + electronmon@2.0.3: + dependencies: + chalk: 3.0.0 + import-from: 3.0.0 + runtime-required: 1.1.0 + watchboy: 0.4.3 + + elysia@1.2.15(@sinclair/typebox@0.34.27)(openapi-types@12.1.3)(typescript@5.7.3): + dependencies: + '@sinclair/typebox': 0.34.27 + cookie: 1.0.2 + memoirist: 0.3.0 + optionalDependencies: + openapi-types: 12.1.3 + typescript: 5.7.3 - human-signals@2.1.0: {} + emoji-regex@10.4.0: {} - husky@7.0.4: {} + emoji-regex@8.0.0: {} - i18next-fs-backend@1.1.4: {} + emoji-regex@9.2.2: {} - i18next@21.8.14: + encoding-sniffer@0.2.0: dependencies: - '@babel/runtime': 7.18.9 + iconv-lite: 0.6.3 + whatwg-encoding: 3.1.1 - iconv-corefoundation@1.1.7: + encoding@0.1.13: dependencies: - cli-truncate: 2.1.0 - node-addon-api: 1.7.2 + iconv-lite: 0.6.3 optional: true - iconv-lite@0.4.24: + end-of-stream@1.4.4: dependencies: - safer-buffer: 2.1.2 + once: 1.4.0 - iconv-lite@0.6.3: + enhanced-resolve@5.18.1: dependencies: - safer-buffer: 2.1.2 - - ieee754@1.2.1: {} + graceful-fs: 4.2.11 + tapable: 2.2.1 - ignore@4.0.6: {} + entities@4.5.0: {} - ignore@5.2.0: {} + env-paths@2.2.1: {} - immutable@4.0.0: {} + environment@1.1.0: {} - import-fresh@2.0.0: - dependencies: - caller-path: 2.0.0 - resolve-from: 3.0.0 + err-code@2.0.3: {} - import-fresh@3.3.0: + error-ex@1.3.2: dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 + is-arrayish: 0.2.1 - import-global@0.1.0: - dependencies: - global-dirs: 0.1.1 + es-define-property@1.0.1: + optional: true - import-lazy@2.1.0: {} + es-errors@1.3.0: + optional: true - imurmurhash@0.1.4: {} + es-module-lexer@1.6.0: {} - indent-string@4.0.0: {} + es6-error@4.1.1: + optional: true - indexes-of@1.0.1: {} + esbuild@0.24.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.24.2 + '@esbuild/android-arm': 0.24.2 + '@esbuild/android-arm64': 0.24.2 + '@esbuild/android-x64': 0.24.2 + '@esbuild/darwin-arm64': 0.24.2 + '@esbuild/darwin-x64': 0.24.2 + '@esbuild/freebsd-arm64': 0.24.2 + '@esbuild/freebsd-x64': 0.24.2 + '@esbuild/linux-arm': 0.24.2 + '@esbuild/linux-arm64': 0.24.2 + '@esbuild/linux-ia32': 0.24.2 + '@esbuild/linux-loong64': 0.24.2 + '@esbuild/linux-mips64el': 0.24.2 + '@esbuild/linux-ppc64': 0.24.2 + '@esbuild/linux-riscv64': 0.24.2 + '@esbuild/linux-s390x': 0.24.2 + '@esbuild/linux-x64': 0.24.2 + '@esbuild/netbsd-arm64': 0.24.2 + '@esbuild/netbsd-x64': 0.24.2 + '@esbuild/openbsd-arm64': 0.24.2 + '@esbuild/openbsd-x64': 0.24.2 + '@esbuild/sunos-x64': 0.24.2 + '@esbuild/win32-arm64': 0.24.2 + '@esbuild/win32-ia32': 0.24.2 + '@esbuild/win32-x64': 0.24.2 + + escalade@3.2.0: {} - inflight@1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 + escape-string-regexp@1.0.5: {} - inherits@2.0.4: {} + escape-string-regexp@4.0.0: {} - ini@1.3.8: {} + escape-string-regexp@5.0.0: {} - ini@2.0.0: {} + eslint-compat-utils@0.5.1(eslint@9.19.0(jiti@2.4.2)): + dependencies: + eslint: 9.19.0(jiti@2.4.2) + semver: 7.7.1 - inquirer@7.3.3: + eslint-compat-utils@0.6.4(eslint@9.19.0(jiti@2.4.2)): dependencies: - ansi-escapes: 4.3.2 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-width: 3.0.0 - external-editor: 3.1.0 - figures: 3.2.0 - lodash: 4.17.21 - mute-stream: 0.0.8 - run-async: 2.4.1 - rxjs: 6.6.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - through: 2.3.8 + eslint: 9.19.0(jiti@2.4.2) + semver: 7.7.1 - insertion-query@1.1.0: {} + eslint-config-flat-gitignore@1.0.1(eslint@9.19.0(jiti@2.4.2)): + dependencies: + '@eslint/compat': 1.2.6(eslint@9.19.0(jiti@2.4.2)) + eslint: 9.19.0(jiti@2.4.2) - interactjs@1.10.11: + eslint-flat-config-utils@1.1.0: dependencies: - '@interactjs/types': 1.10.11 + pathe: 2.0.2 - internal-slot@1.0.3: + eslint-import-resolver-node@0.3.9: dependencies: - get-intrinsic: 1.1.1 - has: 1.0.3 - side-channel: 1.0.4 + debug: 3.2.7 + is-core-module: 2.16.1 + resolve: 1.22.10 + transitivePeerDependencies: + - supports-color - internmap@2.0.3: {} + eslint-json-compat-utils@0.2.1(eslint@9.19.0(jiti@2.4.2))(jsonc-eslint-parser@2.4.0): + dependencies: + eslint: 9.19.0(jiti@2.4.2) + esquery: 1.6.0 + jsonc-eslint-parser: 2.4.0 - interpret@1.4.0: {} + eslint-merge-processors@1.0.0(eslint@9.19.0(jiti@2.4.2)): + dependencies: + eslint: 9.19.0(jiti@2.4.2) - into-stream@2.0.1: + eslint-plugin-antfu@2.7.0(eslint@9.19.0(jiti@2.4.2)): dependencies: - from2: 2.3.0 + '@antfu/utils': 0.7.10 + eslint: 9.19.0(jiti@2.4.2) - into-stream@3.1.0: + eslint-plugin-command@2.1.0(eslint@9.19.0(jiti@2.4.2)): dependencies: - from2: 2.3.0 - p-is-promise: 1.1.0 + '@es-joy/jsdoccomment': 0.50.0 + eslint: 9.19.0(jiti@2.4.2) - ip@1.1.5: {} + eslint-plugin-es-x@7.8.0(eslint@9.19.0(jiti@2.4.2)): + dependencies: + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@2.4.2)) + '@eslint-community/regexpp': 4.12.1 + eslint: 9.19.0(jiti@2.4.2) + eslint-compat-utils: 0.5.1(eslint@9.19.0(jiti@2.4.2)) - ipaddr.js@1.9.1: {} + eslint-plugin-import-x@4.6.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3): + dependencies: + '@types/doctrine': 0.0.9 + '@typescript-eslint/scope-manager': 8.23.0 + '@typescript-eslint/utils': 8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + debug: 4.4.0(supports-color@5.5.0) + doctrine: 3.0.0 + enhanced-resolve: 5.18.1 + eslint: 9.19.0(jiti@2.4.2) + eslint-import-resolver-node: 0.3.9 + get-tsconfig: 4.10.0 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.1 + stable-hash: 0.0.4 + tslib: 2.8.1 + transitivePeerDependencies: + - supports-color + - typescript - is-absolute-url@2.1.0: {} + eslint-plugin-jsdoc@50.6.3(eslint@9.19.0(jiti@2.4.2)): + dependencies: + '@es-joy/jsdoccomment': 0.49.0 + are-docs-informative: 0.0.2 + comment-parser: 1.4.1 + debug: 4.4.0(supports-color@5.5.0) + escape-string-regexp: 4.0.0 + eslint: 9.19.0(jiti@2.4.2) + espree: 10.3.0 + esquery: 1.6.0 + parse-imports: 2.2.1 + semver: 7.7.1 + spdx-expression-parse: 4.0.0 + synckit: 0.9.2 + transitivePeerDependencies: + - supports-color - is-accessor-descriptor@0.1.6: + eslint-plugin-jsonc@2.19.1(eslint@9.19.0(jiti@2.4.2)): dependencies: - kind-of: 3.2.2 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@2.4.2)) + eslint: 9.19.0(jiti@2.4.2) + eslint-compat-utils: 0.6.4(eslint@9.19.0(jiti@2.4.2)) + eslint-json-compat-utils: 0.2.1(eslint@9.19.0(jiti@2.4.2))(jsonc-eslint-parser@2.4.0) + espree: 9.6.1 + graphemer: 1.4.0 + jsonc-eslint-parser: 2.4.0 + natural-compare: 1.4.0 + synckit: 0.6.2 + transitivePeerDependencies: + - '@eslint/json' - is-accessor-descriptor@1.0.0: + eslint-plugin-n@17.15.1(eslint@9.19.0(jiti@2.4.2)): dependencies: - kind-of: 6.0.3 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@2.4.2)) + enhanced-resolve: 5.18.1 + eslint: 9.19.0(jiti@2.4.2) + eslint-plugin-es-x: 7.8.0(eslint@9.19.0(jiti@2.4.2)) + get-tsconfig: 4.10.0 + globals: 15.14.0 + ignore: 5.3.2 + minimatch: 9.0.5 + semver: 7.7.1 - is-arrayish@0.2.1: {} + eslint-plugin-no-only-tests@3.3.0: {} - is-arrayish@0.3.2: {} + eslint-plugin-perfectionist@4.8.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3): + dependencies: + '@typescript-eslint/types': 8.23.0 + '@typescript-eslint/utils': 8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + eslint: 9.19.0(jiti@2.4.2) + natural-orderby: 5.0.0 + transitivePeerDependencies: + - supports-color + - typescript - is-bigint@1.0.4: + eslint-plugin-regexp@2.7.0(eslint@9.19.0(jiti@2.4.2)): dependencies: - has-bigints: 1.0.1 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@2.4.2)) + '@eslint-community/regexpp': 4.12.1 + comment-parser: 1.4.1 + eslint: 9.19.0(jiti@2.4.2) + jsdoc-type-pratt-parser: 4.1.0 + refa: 0.12.1 + regexp-ast-analysis: 0.7.1 + scslre: 0.3.0 - is-binary-path@2.1.0: + eslint-plugin-toml@0.12.0(eslint@9.19.0(jiti@2.4.2)): dependencies: - binary-extensions: 2.2.0 + debug: 4.4.0(supports-color@5.5.0) + eslint: 9.19.0(jiti@2.4.2) + eslint-compat-utils: 0.6.4(eslint@9.19.0(jiti@2.4.2)) + lodash: 4.17.21 + toml-eslint-parser: 0.10.0 + transitivePeerDependencies: + - supports-color - is-boolean-object@1.1.2: + eslint-plugin-unicorn@56.0.1(eslint@9.19.0(jiti@2.4.2)): dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 + '@babel/helper-validator-identifier': 7.25.9 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@2.4.2)) + ci-info: 4.1.0 + clean-regexp: 1.0.0 + core-js-compat: 3.40.0 + eslint: 9.19.0(jiti@2.4.2) + esquery: 1.6.0 + globals: 15.14.0 + indent-string: 4.0.0 + is-builtin-module: 3.2.1 + jsesc: 3.1.0 + pluralize: 8.0.0 + read-pkg-up: 7.0.1 + regexp-tree: 0.1.27 + regjsparser: 0.10.0 + semver: 7.7.1 + strip-indent: 3.0.0 - is-buffer@1.1.6: {} + eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2)): + dependencies: + eslint: 9.19.0(jiti@2.4.2) + optionalDependencies: + '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) - is-callable@1.2.4: {} + eslint-plugin-vue@9.32.0(eslint@9.19.0(jiti@2.4.2)): + dependencies: + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@2.4.2)) + eslint: 9.19.0(jiti@2.4.2) + globals: 13.24.0 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.1.2 + semver: 7.7.1 + vue-eslint-parser: 9.4.3(eslint@9.19.0(jiti@2.4.2)) + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color - is-ci@2.0.0: + eslint-plugin-yml@1.16.0(eslint@9.19.0(jiti@2.4.2)): dependencies: - ci-info: 2.0.0 + debug: 4.4.0(supports-color@5.5.0) + eslint: 9.19.0(jiti@2.4.2) + eslint-compat-utils: 0.6.4(eslint@9.19.0(jiti@2.4.2)) + lodash: 4.17.21 + natural-compare: 1.4.0 + yaml-eslint-parser: 1.2.3 + transitivePeerDependencies: + - supports-color - is-ci@3.0.1: + eslint-processor-vue-blocks@1.0.0(@vue/compiler-sfc@3.5.13)(eslint@9.19.0(jiti@2.4.2)): dependencies: - ci-info: 3.3.2 + '@vue/compiler-sfc': 3.5.13 + eslint: 9.19.0(jiti@2.4.2) - is-color-stop@1.1.0: + eslint-scope@7.2.2: dependencies: - css-color-names: 0.0.4 - hex-color-regex: 1.1.0 - hsl-regex: 1.0.0 - hsla-regex: 1.0.0 - rgb-regex: 1.0.1 - rgba-regex: 1.0.0 + esrecurse: 4.3.0 + estraverse: 5.3.0 - is-core-module@2.8.1: + eslint-scope@8.2.0: dependencies: - has: 1.0.3 + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} - is-data-descriptor@0.1.4: + eslint-visitor-keys@4.2.0: {} + + eslint@9.19.0(jiti@2.4.2): dependencies: - kind-of: 3.2.2 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@2.4.2)) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.19.2 + '@eslint/core': 0.10.0 + '@eslint/eslintrc': 3.2.0 + '@eslint/js': 9.19.0 + '@eslint/plugin-kit': 0.2.5 + '@humanfs/node': 0.16.6 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.1 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.0(supports-color@5.5.0) + escape-string-regexp: 4.0.0 + eslint-scope: 8.2.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 + esquery: 1.6.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 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + optionalDependencies: + jiti: 2.4.2 + transitivePeerDependencies: + - supports-color - is-data-descriptor@1.0.0: + espree@10.3.0: dependencies: - kind-of: 6.0.3 + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) + eslint-visitor-keys: 4.2.0 - is-date-object@1.0.5: + espree@9.6.1: dependencies: - has-tostringtag: 1.0.0 + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) + eslint-visitor-keys: 3.4.3 - is-descriptor@0.1.6: + esquery@1.6.0: dependencies: - is-accessor-descriptor: 0.1.6 - is-data-descriptor: 0.1.4 - kind-of: 5.1.0 + estraverse: 5.3.0 - is-descriptor@1.0.2: + esrecurse@4.3.0: dependencies: - is-accessor-descriptor: 1.0.0 - is-data-descriptor: 1.0.0 - kind-of: 6.0.3 + estraverse: 5.3.0 - is-directory@0.3.1: {} + estraverse@5.3.0: {} - is-docker@2.2.1: {} + estree-walker@2.0.2: {} - is-expression@4.0.0: + estree-walker@3.0.3: dependencies: - acorn: 7.4.1 - object-assign: 4.1.1 + '@types/estree': 1.0.6 - is-extendable@0.1.1: {} + esutils@2.0.3: {} - is-extendable@1.0.1: - dependencies: - is-plain-object: 2.0.4 + eventemitter3@5.0.1: {} - is-extglob@2.1.1: {} + execa@8.0.1: + dependencies: + cross-spawn: 7.0.6 + 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 - is-fullwidth-code-point@3.0.0: {} + expand-template@2.0.3: {} - is-fullwidth-code-point@4.0.0: {} + exponential-backoff@3.1.2: {} - is-glob@3.1.0: + extract-zip@2.0.1: dependencies: - is-extglob: 2.1.1 + debug: 4.4.0(supports-color@5.5.0) + get-stream: 5.2.0 + yauzl: 2.10.0 + optionalDependencies: + '@types/yauzl': 2.10.3 + transitivePeerDependencies: + - supports-color - is-glob@4.0.3: - dependencies: - is-extglob: 2.1.1 + extsprintf@1.4.1: + optional: true + + fast-deep-equal@3.1.3: {} - is-installed-globally@0.4.0: + fast-glob@3.3.3: dependencies: - global-dirs: 3.0.0 - is-path-inside: 3.0.3 + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 - is-natural-number@4.0.1: {} + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} - is-negative-zero@2.0.2: {} + fast-plist@0.1.3: {} - is-npm@5.0.0: {} + fast-uri@3.0.6: {} - is-number-object@1.0.6: + fastq@1.19.0: dependencies: - has-tostringtag: 1.0.0 + reusify: 1.0.4 - is-number@3.0.0: + fd-slicer@1.1.0: dependencies: - kind-of: 3.2.2 + pend: 1.2.0 - is-number@7.0.0: {} + fdir@6.4.3(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 - is-obj@2.0.0: {} + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 - is-object@1.0.2: {} + file-uri-to-path@1.0.0: {} - is-path-inside@3.0.3: {} + filelist@1.0.4: + dependencies: + minimatch: 5.1.6 - is-plain-obj@1.1.0: {} + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 - is-plain-object@2.0.4: + find-up@3.0.0: dependencies: - isobject: 3.0.1 + locate-path: 3.0.0 - is-plain-object@5.0.0: {} + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 - is-promise@2.2.2: {} + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 - is-property@1.0.2: {} + find-up@7.0.0: + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + unicorn-magic: 0.1.0 - is-regex@1.1.4: + flat-cache@4.0.1: dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 + flatted: 3.3.2 + keyv: 4.5.4 - is-resolvable@1.1.0: {} + flatted@3.3.2: {} + + foreground-child@3.3.0: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 - is-retry-allowed@1.2.0: {} + form-data@4.0.1: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 - is-shared-array-buffer@1.0.1: {} + formidable@3.5.2: + dependencies: + dezalgo: 1.0.4 + hexoid: 2.0.0 + once: 1.4.0 - is-stream@1.1.0: {} + fraction.js@4.3.7: {} - is-stream@2.0.1: {} + fs-constants@1.0.0: {} - is-string@1.0.7: + fs-extra@10.1.0: dependencies: - has-tostringtag: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 - is-symbol@1.0.4: + fs-extra@11.3.0: dependencies: - has-symbols: 1.0.2 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 - is-text-path@1.0.1: + fs-extra@8.1.0: dependencies: - text-extensions: 1.9.0 + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 - is-typedarray@1.0.0: {} + 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 - is-weakref@1.0.2: + fs-minipass@2.1.0: dependencies: - call-bind: 1.0.2 + minipass: 3.3.6 + + fs.realpath@1.0.0: {} - is-windows@1.0.2: {} + fsevents@2.3.3: + optional: true - is-wsl@1.1.0: {} + function-bind@1.1.2: {} - is-wsl@2.2.0: + gauge@4.0.4: dependencies: - is-docker: 2.2.1 - - is-yarn-global@0.3.0: {} + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 - isarray@0.0.1: {} + get-caller-file@2.0.5: {} - isarray@1.0.0: {} + get-east-asian-width@1.3.0: {} - isbinaryfile@3.0.3: + get-stream@5.2.0: dependencies: - buffer-alloc: 1.2.0 + pump: 3.0.2 - isbinaryfile@4.0.10: {} + get-stream@8.0.1: {} - isbinaryfile@4.0.8: {} + get-tsconfig@4.10.0: + dependencies: + resolve-pkg-maps: 1.0.0 - isexe@2.0.0: {} + giget@1.2.4: + dependencies: + citty: 0.1.6 + consola: 3.4.0 + defu: 6.1.4 + node-fetch-native: 1.6.6 + nypm: 0.5.2 + ohash: 1.1.4 + pathe: 2.0.2 + tar: 6.2.1 - isobject@2.1.0: + git-raw-commits@4.0.0: dependencies: - isarray: 1.0.0 + dargs: 8.1.0 + meow: 12.1.1 + split2: 4.2.0 - isobject@3.0.1: {} + github-from-package@0.0.0: {} - isstream@0.1.2: {} + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 - isurl@1.0.0: + glob-parent@6.0.2: dependencies: - has-to-string-tag-x: 1.4.1 - is-object: 1.0.2 + is-glob: 4.0.3 - iterall@1.3.0: {} + glob@10.4.5: + dependencies: + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 - jake@10.8.5: + glob@7.2.3: dependencies: - async: 3.2.4 - chalk: 4.1.2 - filelist: 1.0.4 + 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 - java-parser@2.0.1: + glob@8.1.0: dependencies: - chevrotain: 6.5.0 - lodash: 4.17.21 - - javascript-stringify@1.6.0: {} + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 - jest-worker@27.5.1: + global-agent@3.0.0: dependencies: - '@types/node': 17.0.45 - merge-stream: 2.0.0 - supports-color: 8.1.1 + boolean: 3.2.0 + es6-error: 4.1.1 + matcher: 3.0.0 + roarr: 2.15.4 + semver: 7.7.1 + serialize-error: 7.0.1 + optional: true - jju@1.4.0: {} + global-directory@4.0.1: + dependencies: + ini: 4.1.1 - js-message@1.0.7: {} + globals@13.24.0: + dependencies: + type-fest: 0.20.2 - js-stringify@1.0.2: {} + globals@14.0.0: {} - js-tokens@4.0.0: {} + globals@15.14.0: {} - js-yaml@3.14.1: + globalthis@1.0.4: dependencies: - argparse: 1.0.10 - esprima: 4.0.1 + define-properties: 1.2.1 + gopd: 1.2.0 + optional: true - js-yaml@4.1.0: - dependencies: - argparse: 2.0.1 + gopd@1.2.0: + optional: true - jsbn@0.1.1: {} - - jscodeshift@0.11.0(@babel/preset-env@7.16.5): - dependencies: - '@babel/core': 7.16.5 - '@babel/parser': 7.17.9 - '@babel/plugin-proposal-class-properties': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-proposal-optional-chaining': 7.16.5(@babel/core@7.16.5) - '@babel/plugin-transform-modules-commonjs': 7.16.5(@babel/core@7.16.5) - '@babel/preset-env': 7.16.5(@babel/core@7.16.5) - '@babel/preset-flow': 7.16.5(@babel/core@7.16.5) - '@babel/preset-typescript': 7.16.5(@babel/core@7.16.5) - '@babel/register': 7.16.5(@babel/core@7.16.5) - babel-core: 7.0.0-bridge.0(@babel/core@7.16.5) - colors: 1.4.0 - flow-parser: 0.168.0 - graceful-fs: 4.2.10 - micromatch: 3.1.10 - neo-async: 2.6.2 - node-dir: 0.1.17 - recast: 0.20.5 - temp: 0.8.4 - write-file-atomic: 2.4.3 - transitivePeerDependencies: - - supports-color + got@11.8.6: + dependencies: + '@sindresorhus/is': 4.6.0 + '@szmarczak/http-timer': 4.0.6 + '@types/cacheable-request': 6.0.3 + '@types/responselike': 1.0.3 + cacheable-lookup: 5.0.4 + cacheable-request: 7.0.4 + decompress-response: 6.0.0 + http2-wrapper: 1.0.3 + lowercase-keys: 2.0.0 + p-cancelable: 2.1.1 + responselike: 2.0.1 - jsesc@0.5.0: {} + graceful-fs@4.2.11: {} - jsesc@2.5.2: {} + graphemer@1.4.0: {} - json-buffer@3.0.0: {} + hachure-fill@0.5.2: {} - json-parse-better-errors@1.0.2: {} + has-flag@3.0.0: {} - json-parse-even-better-errors@2.3.1: {} + has-flag@4.0.0: {} - json-parse-helpfulerror@1.0.3: + has-property-descriptors@1.0.2: dependencies: - jju: 1.4.0 + es-define-property: 1.0.1 + optional: true - json-schema-traverse@0.4.1: {} + has-unicode@2.0.1: {} - json-schema-traverse@1.0.0: {} + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 - json-schema-typed@7.0.3: {} + hexoid@2.0.0: {} - json-schema@0.4.0: {} + highlight.js@11.11.1: {} - json-stable-stringify-without-jsonify@1.0.1: {} + hookable@5.5.3: {} - json-stringify-safe@5.0.1: {} + hosted-git-info@2.8.9: {} - json5@1.0.1: + hosted-git-info@4.1.0: dependencies: - minimist: 1.2.6 + lru-cache: 6.0.0 - json5@2.2.0: + htmlparser2@8.0.2: dependencies: - minimist: 1.2.6 - - json5@2.2.1: {} - - jsonc-parser@2.3.1: {} + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + entities: 4.5.0 - jsonc-parser@3.0.0: {} + htmlparser2@9.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + entities: 4.5.0 - jsonfile@4.0.0: - optionalDependencies: - graceful-fs: 4.2.10 + http-cache-semantics@4.1.1: {} - jsonfile@6.1.0: + http-proxy-agent@5.0.0: dependencies: - universalify: 2.0.0 - optionalDependencies: - graceful-fs: 4.2.10 - - jsonparse@1.3.1: {} + '@tootallnate/once': 2.0.0 + agent-base: 6.0.2 + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color - jsprim@1.4.2: + http-proxy-agent@7.0.2: dependencies: - assert-plus: 1.0.0 - extsprintf: 1.3.0 - json-schema: 0.4.0 - verror: 1.10.0 + agent-base: 7.1.3 + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color - jstransformer@1.0.0: + http2-wrapper@1.0.3: dependencies: - is-promise: 2.2.2 - promise: 7.3.1 + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 - katex@0.16.9: + https-proxy-agent@5.0.1: dependencies: - commander: 8.3.0 + agent-base: 6.0.2 + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color - keyv@3.0.0: + https-proxy-agent@7.0.6: dependencies: - json-buffer: 3.0.0 + agent-base: 7.1.3 + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + + human-signals@5.0.0: {} - keyv@3.1.0: + humanize-ms@1.2.1: dependencies: - json-buffer: 3.0.0 + ms: 2.1.3 + + i18next-fs-backend@2.6.0: {} - khroma@2.0.0: {} + i18next@24.2.2(typescript@5.7.3): + dependencies: + '@babel/runtime': 7.26.10 + optionalDependencies: + typescript: 5.7.3 - kind-of@3.2.2: + iconv-corefoundation@1.1.7: dependencies: - is-buffer: 1.1.6 + cli-truncate: 2.1.0 + node-addon-api: 1.7.2 + optional: true - kind-of@4.0.0: + iconv-lite@0.6.3: dependencies: - is-buffer: 1.1.6 + safer-buffer: 2.1.2 - kind-of@5.1.0: {} + ieee754@1.2.1: {} - kind-of@6.0.3: {} + ignore-by-default@1.0.1: {} - kleur@3.0.3: {} + ignore@5.3.2: {} - kolorist@1.5.1: {} + immutable@5.0.3: {} - latest-version@5.1.0: + import-fresh@3.3.1: dependencies: - package-json: 6.5.0 + parent-module: 1.0.1 + resolve-from: 4.0.0 - launch-editor@2.3.0: + import-from@3.0.0: dependencies: - picocolors: 1.0.0 - shell-quote: 1.7.3 + resolve-from: 5.0.0 - lazy-val@1.0.5: {} + import-meta-resolve@4.1.0: {} - leven@3.1.0: {} + imurmurhash@0.1.4: {} - levn@0.4.1: + indent-string@4.0.0: {} + + infer-owner@1.0.4: {} + + inflight@1.0.6: dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 + once: 1.4.0 + wrappy: 1.0.2 - lilconfig@2.0.4: {} + inherits@2.0.4: {} - lines-and-columns@1.2.4: {} + ini@1.3.8: {} - linguist-languages@7.15.0: {} + ini@4.1.1: {} - lint-staged@12.1.4: + interactjs@1.10.27: dependencies: - cli-truncate: 3.1.0 - colorette: 2.0.16 - commander: 8.3.0 - debug: 4.3.4(supports-color@9.2.1) - execa: 5.1.1 - lilconfig: 2.0.4 - listr2: 3.13.5 - micromatch: 4.0.4 - normalize-path: 3.0.0 - object-inspect: 1.12.0 - string-argv: 0.3.1 - supports-color: 9.2.1 - yaml: 1.10.2 - transitivePeerDependencies: - - enquirer + '@interactjs/types': 1.10.27 - listenercount@1.0.1: {} + internmap@1.0.1: {} - listr2@3.13.5: - dependencies: - cli-truncate: 2.1.0 - colorette: 2.0.16 - log-update: 4.0.0 - p-map: 4.0.0 - rfdc: 1.3.0 - rxjs: 7.4.0 - through: 2.3.8 - wrap-ansi: 7.0.0 + internmap@2.0.3: {} - load-json-file@4.0.0: + ip-address@9.0.5: dependencies: - graceful-fs: 4.2.10 - parse-json: 4.0.0 - pify: 3.0.0 - strip-bom: 3.0.0 + jsbn: 1.1.0 + sprintf-js: 1.1.3 - loader-runner@4.2.0: {} - - local-pkg@0.4.1: {} + is-arrayish@0.2.1: {} - locate-path@2.0.0: + is-binary-path@2.1.0: dependencies: - p-locate: 2.0.0 - path-exists: 3.0.0 + binary-extensions: 2.3.0 - locate-path@3.0.0: + is-builtin-module@3.2.1: dependencies: - p-locate: 3.0.0 - path-exists: 3.0.0 + builtin-modules: 3.3.0 - locate-path@5.0.0: + is-ci@3.0.1: dependencies: - p-locate: 4.1.0 + ci-info: 3.9.0 - locate-path@6.0.0: + is-core-module@2.16.1: dependencies: - p-locate: 5.0.0 + hasown: 2.0.2 - lodash-id@0.14.1: {} + is-extglob@2.1.1: {} - lodash.camelcase@4.3.0: {} + is-fullwidth-code-point@3.0.0: {} + + is-fullwidth-code-point@4.0.0: {} - lodash.clonedeep@4.5.0: {} + is-fullwidth-code-point@5.0.0: + dependencies: + get-east-asian-width: 1.3.0 - lodash.debounce@4.0.8: {} + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 - lodash.get@4.4.2: {} + is-interactive@1.0.0: {} - lodash.memoize@4.1.2: {} + is-lambda@1.0.1: {} - lodash.merge@4.6.2: {} + is-number@7.0.0: {} - lodash.sortby@4.7.0: {} + is-obj@2.0.0: {} - lodash.uniq@4.5.0: {} + is-plain-object@5.0.0: {} - lodash@4.17.21: {} + is-stream@3.0.0: {} - log-symbols@2.2.0: + is-text-path@2.0.0: dependencies: - chalk: 2.4.2 + text-extensions: 2.4.0 - log-update@4.0.0: - dependencies: - ansi-escapes: 4.3.2 - cli-cursor: 3.1.0 - slice-ansi: 4.0.0 - wrap-ansi: 6.2.0 + is-unicode-supported@0.1.0: {} - loglevel@1.8.0: {} + isarray@1.0.0: {} - long@4.0.0: {} + isbinaryfile@4.0.10: {} - lowdb@1.0.0: - dependencies: - graceful-fs: 4.2.10 - is-promise: 2.2.2 - lodash: 4.17.21 - pify: 3.0.0 - steno: 0.4.4 + isbinaryfile@5.0.4: {} + + isexe@2.0.0: {} - lowdb@3.0.0: + jackspeak@3.4.3: dependencies: - steno: 2.1.0 + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 - lowercase-keys@1.0.0: {} + jake@10.9.2: + dependencies: + async: 3.2.6 + chalk: 4.1.2 + filelist: 1.0.4 + minimatch: 3.1.2 - lowercase-keys@1.0.1: {} + jiti@2.4.2: {} - lowercase-keys@2.0.0: {} + js-tokens@4.0.0: {} - lru-cache@4.1.5: - dependencies: - pseudomap: 1.0.2 - yallist: 2.1.2 + js-tokens@9.0.1: {} - lru-cache@5.1.1: + js-yaml@4.1.0: dependencies: - yallist: 3.1.1 + argparse: 2.0.1 - lru-cache@6.0.0: - dependencies: - yallist: 4.0.0 + jsbn@1.1.0: {} - magic-string@0.25.9: - dependencies: - sourcemap-codec: 1.4.8 + jsdoc-type-pratt-parser@4.1.0: {} - magic-string@0.26.1: - dependencies: - sourcemap-codec: 1.4.8 + jsesc@0.5.0: {} - make-dir@1.3.0: - dependencies: - pify: 3.0.0 + jsesc@3.1.0: {} - make-dir@2.1.0: - dependencies: - pify: 4.0.1 - semver: 5.7.1 + json-buffer@3.0.1: {} - make-dir@3.1.0: - dependencies: - semver: 6.3.0 + json-parse-even-better-errors@2.3.1: {} - make-error@1.3.6: {} + json-schema-traverse@0.4.1: {} - map-age-cleaner@0.1.3: - dependencies: - p-defer: 1.0.0 + json-schema-traverse@1.0.0: {} - map-cache@0.2.2: {} + json-schema-typed@7.0.3: {} - map-obj@1.0.1: {} + json-stable-stringify-without-jsonify@1.0.1: {} - map-obj@4.3.0: {} + json-stringify-safe@5.0.1: + optional: true - map-stream@0.1.0: {} + json5@2.2.3: {} - map-visit@1.0.0: + jsonc-eslint-parser@2.4.0: dependencies: - object-visit: 1.0.1 + acorn: 8.14.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + semver: 7.7.1 - marked@4.0.17: {} + jsonc-parser@3.3.1: {} - markmap-common@0.15.3: - dependencies: - '@babel/runtime': 7.23.1 - '@gera2ld/jsx-dom': 2.2.2 - npm2url: 0.2.1 + jsonfile@4.0.0: + optionalDependencies: + graceful-fs: 4.2.11 - markmap-lib@0.15.4(markmap-common@0.15.3): + jsonfile@6.1.0: dependencies: - '@babel/runtime': 7.23.1 - highlight.js: 11.9.0 - js-yaml: 4.1.0 - katex: 0.16.9 - markmap-common: 0.15.3 - prismjs: 1.29.0 - remarkable: 2.0.1 - remarkable-katex: 1.2.1 + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + jsonparse@1.3.1: {} - markmap-view@0.15.4(markmap-common@0.15.3): + katex@0.16.22: dependencies: - '@babel/runtime': 7.23.1 - '@gera2ld/jsx-dom': 2.2.2 - '@types/d3': 7.4.1 - d3: 7.8.5 - d3-flextree: 2.1.2 - markmap-common: 0.15.3 + commander: 8.3.0 - matcher@3.0.0: + keyv@4.5.4: dependencies: - escape-string-regexp: 4.0.0 - optional: true + json-buffer: 3.0.1 - mdn-data@1.1.4: {} + khroma@2.1.0: {} - mdn-data@2.0.14: {} + kleur@3.0.3: {} - mdn-data@2.0.4: {} + kolorist@1.8.0: {} - media-typer@0.3.0: {} + ky@1.7.5: {} - mem@8.1.1: + langium@3.3.1: dependencies: - map-age-cleaner: 0.1.3 - mimic-fn: 3.1.0 + chevrotain: 11.0.3 + chevrotain-allstar: 0.3.1(chevrotain@11.0.3) + vscode-languageserver: 9.0.1 + vscode-languageserver-textdocument: 1.0.12 + vscode-uri: 3.0.8 - memory-fs@0.2.0: {} + layout-base@1.0.2: {} - memorystream@0.3.1: {} + layout-base@2.0.1: {} - meow@8.1.2: - dependencies: - '@types/minimist': 1.2.2 - camelcase-keys: 6.2.2 - decamelize-keys: 1.1.0 - hard-rejection: 2.1.0 - minimist-options: 4.1.0 - normalize-package-data: 3.0.3 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.18.1 - yargs-parser: 20.2.9 + lazy-val@1.0.5: {} - merge-descriptors@1.0.1: {} + lazystream@1.0.1: + dependencies: + readable-stream: 2.3.8 - merge-stream@2.0.0: {} + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 - merge2@1.4.1: {} + lightningcss-darwin-arm64@1.29.1: + optional: true - merge@1.2.1: {} + lightningcss-darwin-x64@1.29.1: + optional: true - mermaid@9.1.3: - dependencies: - '@braintree/sanitize-url': 6.0.0 - d3: 7.8.5 - dagre: 0.8.5 - dagre-d3: 0.6.4 - dompurify: 2.3.8 - graphlib: 2.1.8 - khroma: 2.0.0 - moment-mini: 2.24.0 - stylis: 4.1.1 + lightningcss-freebsd-x64@1.29.1: + optional: true - method-override@3.0.0: - dependencies: - debug: 3.1.0 - methods: 1.1.2 - parseurl: 1.3.3 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color + lightningcss-linux-arm-gnueabihf@1.29.1: + optional: true - methods@1.1.2: {} - - micromatch@3.1.10: - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - braces: 2.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - extglob: 2.0.4 - fragment-cache: 0.2.1 - kind-of: 6.0.3 - nanomatch: 1.2.13 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color + lightningcss-linux-arm64-gnu@1.29.1: + optional: true - micromatch@4.0.4: - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 + lightningcss-linux-arm64-musl@1.29.1: + optional: true - mime-db@1.52.0: {} + lightningcss-linux-x64-gnu@1.29.1: + optional: true - mime-types@2.1.35: - dependencies: - mime-db: 1.52.0 + lightningcss-linux-x64-musl@1.29.1: + optional: true - mime@1.6.0: {} + lightningcss-win32-arm64-msvc@1.29.1: + optional: true - mime@2.6.0: {} + lightningcss-win32-x64-msvc@1.29.1: + optional: true - mimic-fn@1.2.0: {} + lightningcss@1.29.1: + dependencies: + detect-libc: 1.0.3 + optionalDependencies: + lightningcss-darwin-arm64: 1.29.1 + lightningcss-darwin-x64: 1.29.1 + lightningcss-freebsd-x64: 1.29.1 + lightningcss-linux-arm-gnueabihf: 1.29.1 + lightningcss-linux-arm64-gnu: 1.29.1 + lightningcss-linux-arm64-musl: 1.29.1 + lightningcss-linux-x64-gnu: 1.29.1 + lightningcss-linux-x64-musl: 1.29.1 + lightningcss-win32-arm64-msvc: 1.29.1 + lightningcss-win32-x64-msvc: 1.29.1 + + lilconfig@3.1.3: {} - mimic-fn@2.1.0: {} + lines-and-columns@1.2.4: {} - mimic-fn@3.1.0: {} + linkify-it@5.0.0: + dependencies: + uc.micro: 2.1.0 - mimic-response@1.0.1: {} + lint-staged@15.4.3: + dependencies: + chalk: 5.4.1 + commander: 13.1.0 + debug: 4.4.0(supports-color@5.5.0) + execa: 8.0.1 + lilconfig: 3.1.3 + listr2: 8.2.5 + micromatch: 4.0.8 + pidtree: 0.6.0 + string-argv: 0.3.2 + yaml: 2.7.0 + transitivePeerDependencies: + - supports-color - min-indent@1.0.1: {} + listr2@8.2.5: + dependencies: + cli-truncate: 4.0.0 + colorette: 2.0.20 + eventemitter3: 5.0.1 + log-update: 6.1.0 + rfdc: 1.4.1 + wrap-ansi: 9.0.0 - minimatch@3.0.4: + local-pkg@1.0.0: dependencies: - brace-expansion: 1.1.11 + mlly: 1.7.4 + pkg-types: 1.3.1 - minimatch@3.1.2: + locate-path@3.0.0: dependencies: - brace-expansion: 1.1.11 + p-locate: 3.0.0 + path-exists: 3.0.0 - minimatch@5.0.1: + locate-path@5.0.0: dependencies: - brace-expansion: 2.0.1 + p-locate: 4.1.0 - minimatch@5.1.0: + locate-path@6.0.0: dependencies: - brace-expansion: 2.0.1 + p-locate: 5.0.0 - minimist-options@4.1.0: + locate-path@7.2.0: dependencies: - arrify: 1.0.1 - is-plain-obj: 1.1.0 - kind-of: 6.0.3 + p-locate: 6.0.0 - minimist@1.2.5: {} + lodash-es@4.17.21: {} - minimist@1.2.6: {} + lodash.camelcase@4.3.0: {} - minipass@3.3.4: - dependencies: - yallist: 4.0.0 + lodash.defaults@4.2.0: {} - minizlib@2.1.2: - dependencies: - minipass: 3.3.4 - yallist: 4.0.0 + lodash.difference@4.5.0: {} - mitt@3.0.0: {} + lodash.flatten@4.4.0: {} - mixin-deep@1.3.2: - dependencies: - for-in: 1.0.2 - is-extendable: 1.0.1 + lodash.isplainobject@4.0.6: {} - mkdirp@0.5.5: - dependencies: - minimist: 1.2.5 + lodash.kebabcase@4.1.1: {} - mkdirp@0.5.6: - dependencies: - minimist: 1.2.6 + lodash.merge@4.6.2: {} - mkdirp@1.0.4: {} + lodash.mergewith@4.6.2: {} - moment-mini@2.24.0: {} + lodash.snakecase@4.1.1: {} - monaco-textmate@3.0.1(onigasm@2.2.5): - dependencies: - fast-plist: 0.1.2 - onigasm: 2.2.5 + lodash.startcase@4.4.0: {} - morgan@1.10.0: - dependencies: - basic-auth: 2.0.1 - debug: 2.6.9 - depd: 2.0.0 - on-finished: 2.3.0 - on-headers: 1.0.2 - transitivePeerDependencies: - - supports-color + lodash.union@4.6.0: {} + + lodash.uniq@4.5.0: {} - ms@2.0.0: {} + lodash.upperfirst@4.3.1: {} + + lodash@4.17.21: {} + + log-symbols@4.1.0: + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 - ms@2.1.2: {} + log-update@6.1.0: + dependencies: + ansi-escapes: 7.0.0 + cli-cursor: 5.0.0 + slice-ansi: 7.1.0 + strip-ansi: 7.1.0 + wrap-ansi: 9.0.0 - ms@2.1.3: {} + longest-streak@3.1.0: {} - mute-stream@0.0.8: {} + lowercase-keys@2.0.0: {} - mvdan-sh@0.5.0: {} + lru-cache@10.4.3: {} - nanoid@2.1.11: {} + lru-cache@4.1.5: + dependencies: + pseudomap: 1.0.2 + yallist: 2.1.2 - nanoid@3.3.2: {} + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 - nanomatch@1.2.13: + lru-cache@6.0.0: dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - fragment-cache: 0.2.1 - is-windows: 1.0.2 - kind-of: 6.0.3 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color + yallist: 4.0.0 - natural-compare@1.4.0: {} + lru-cache@7.18.3: {} - ndjson@1.5.0: + lucide-vue-next@0.476.0(vue@3.5.13(typescript@5.7.3)): dependencies: - json-stringify-safe: 5.0.1 - minimist: 1.2.6 - split2: 2.2.0 - through2: 2.0.5 + vue: 3.5.13(typescript@5.7.3) - neat-csv@2.1.0: + magic-string@0.30.17: dependencies: - csv-parser: 1.12.1 - get-stream: 2.3.1 - into-stream: 2.0.1 + '@jridgewell/sourcemap-codec': 1.5.0 - needle@2.9.1: + make-fetch-happen@10.2.1: dependencies: - debug: 3.2.7 - iconv-lite: 0.4.24 - sax: 1.2.4 + agentkeepalive: 4.6.0 + cacache: 16.1.3 + http-cache-semantics: 4.1.1 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-lambda: 1.0.1 + lru-cache: 7.18.3 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-fetch: 2.1.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + negotiator: 0.6.4 + promise-retry: 2.0.1 + socks-proxy-agent: 7.0.0 + ssri: 9.0.1 transitivePeerDependencies: + - bluebird - supports-color - negotiator@0.6.3: {} + markdown-it-ins@4.0.0: {} - neo-async@2.6.2: {} + markdown-it-mark@4.0.0: {} - nice-try@1.0.5: {} + markdown-it-sub@2.0.0: {} - node-addon-api@1.7.2: - optional: true + markdown-it-sup@2.0.0: {} - node-cleanup@2.1.2: {} - - node-dir@0.1.17: + markdown-it@14.1.0: dependencies: - minimatch: 3.1.2 + argparse: 2.0.1 + entities: 4.5.0 + linkify-it: 5.0.0 + mdurl: 2.0.0 + punycode.js: 2.3.1 + uc.micro: 2.1.0 - node-fetch@2.6.7: - dependencies: - whatwg-url: 5.0.0 + markdown-table@3.0.4: {} - node-gyp-build@4.3.0: {} + marked@15.0.8: {} - node-notifier@9.0.1: + markmap-common@0.18.9: dependencies: - growly: 1.3.0 - is-wsl: 2.2.0 - semver: 7.3.7 - shellwords: 0.1.1 - uuid: 8.3.2 - which: 2.0.2 - - node-releases@2.0.2: {} + '@babel/runtime': 7.26.10 + '@gera2ld/jsx-dom': 2.2.2 + npm2url: 0.2.4 - noms@0.0.0: + markmap-html-parser@0.18.11(markmap-common@0.18.9): dependencies: - inherits: 2.0.4 - readable-stream: 1.0.34 + '@babel/runtime': 7.26.10 + cheerio: 1.0.0 + markmap-common: 0.18.9 - normalize-package-data@2.5.0: + markmap-lib@0.18.11(markmap-common@0.18.9): dependencies: - hosted-git-info: 2.8.9 - resolve: 1.22.0 - semver: 5.7.1 - validate-npm-package-license: 3.0.4 + '@babel/runtime': 7.26.10 + '@vscode/markdown-it-katex': 1.1.1 + highlight.js: 11.11.1 + katex: 0.16.22 + markdown-it: 14.1.0 + markdown-it-ins: 4.0.0 + markdown-it-mark: 4.0.0 + markdown-it-sub: 2.0.0 + markdown-it-sup: 2.0.0 + markmap-common: 0.18.9 + markmap-html-parser: 0.18.11(markmap-common@0.18.9) + markmap-view: 0.18.10(markmap-common@0.18.9) + prismjs: 1.30.0 + yaml: 2.7.0 - normalize-package-data@3.0.3: + markmap-view@0.18.10(markmap-common@0.18.9): dependencies: - hosted-git-info: 4.0.2 - is-core-module: 2.8.1 - semver: 7.3.5 - validate-npm-package-license: 3.0.4 - - normalize-path@3.0.0: {} + '@babel/runtime': 7.26.10 + d3: 7.9.0 + markmap-common: 0.18.9 - normalize-url@2.0.1: + matcher@3.0.0: dependencies: - prepend-http: 2.0.0 - query-string: 5.1.1 - sort-keys: 2.0.0 + escape-string-regexp: 4.0.0 + optional: true - normalize-url@3.3.0: {} + mdast-util-find-and-replace@3.0.2: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + mdast-util-from-markdown@2.0.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-decode-string: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color - normalize-url@4.5.1: {} + mdast-util-gfm-autolink-literal@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.2 + micromark-util-character: 2.1.1 - npm-conf@1.1.3: + mdast-util-gfm-footnote@2.0.0: dependencies: - config-chain: 1.1.13 - pify: 3.0.0 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + micromark-util-normalize-identifier: 2.0.1 + transitivePeerDependencies: + - supports-color - npm-run-all@4.1.5: + mdast-util-gfm-strikethrough@2.0.0: dependencies: - ansi-styles: 3.2.1 - chalk: 2.4.2 - cross-spawn: 6.0.5 - memorystream: 0.3.1 - minimatch: 3.0.4 - pidtree: 0.3.1 - read-pkg: 3.0.0 - shell-quote: 1.7.3 - string.prototype.padend: 3.1.3 + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color - npm-run-path@2.0.2: + mdast-util-gfm-table@2.0.0: dependencies: - path-key: 2.0.1 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color - npm-run-path@4.0.1: + mdast-util-gfm-task-list-item@2.0.0: dependencies: - path-key: 3.1.1 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color - npm2url@0.2.1: {} + mdast-util-gfm@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.2 + mdast-util-gfm-autolink-literal: 2.0.1 + 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.2 + transitivePeerDependencies: + - supports-color - nth-check@1.0.2: + mdast-util-phrasing@4.1.0: dependencies: - boolbase: 1.0.0 + '@types/mdast': 4.0.4 + unist-util-is: 6.0.0 - nth-check@2.0.1: + mdast-util-to-markdown@2.1.2: dependencies: - boolbase: 1.0.0 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 - oauth-sign@0.9.0: {} + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 - object-assign@4.1.1: {} + mdurl@2.0.0: {} - object-copy@0.1.0: - dependencies: - copy-descriptor: 0.1.1 - define-property: 0.2.5 - kind-of: 3.2.2 + memoirist@0.3.0: {} - object-inspect@1.12.0: {} + meow@12.1.1: {} - object-keys@1.1.1: {} + merge-stream@2.0.0: {} - object-path@0.11.8: {} + merge2@1.4.1: {} - object-visit@1.0.1: - dependencies: - isobject: 3.0.1 + mermaid@11.6.0: + dependencies: + '@braintree/sanitize-url': 7.1.1 + '@iconify/utils': 2.3.0 + '@mermaid-js/parser': 0.4.0 + '@types/d3': 7.4.3 + cytoscape: 3.31.2 + cytoscape-cose-bilkent: 4.1.0(cytoscape@3.31.2) + cytoscape-fcose: 2.2.0(cytoscape@3.31.2) + d3: 7.9.0 + d3-sankey: 0.12.3 + dagre-d3-es: 7.0.11 + dayjs: 1.11.13 + dompurify: 3.2.5 + katex: 0.16.22 + khroma: 2.1.0 + lodash-es: 4.17.21 + marked: 15.0.8 + roughjs: 4.6.6 + stylis: 4.3.6 + ts-dedent: 2.2.0 + uuid: 11.1.0 + transitivePeerDependencies: + - supports-color - object.assign@4.1.2: + micromark-core-commonmark@2.0.2: dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - has-symbols: 1.0.2 - object-keys: 1.1.1 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.0.1 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.0.4 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - object.getownpropertydescriptors@2.1.3: + micromark-extension-gfm-autolink-literal@2.1.0: dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 + micromark-util-character: 2.1.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - object.pick@1.3.0: + micromark-extension-gfm-footnote@2.1.0: dependencies: - isobject: 3.0.1 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.2 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - object.values@1.1.5: + micromark-extension-gfm-strikethrough@2.1.0: dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - on-finished@2.3.0: + micromark-extension-gfm-table@2.1.1: dependencies: - ee-first: 1.1.1 + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - on-finished@2.4.1: + micromark-extension-gfm-tagfilter@2.0.0: dependencies: - ee-first: 1.1.1 + micromark-util-types: 2.0.1 - on-headers@1.0.2: {} - - once@1.4.0: + micromark-extension-gfm-task-list-item@2.1.0: dependencies: - wrappy: 1.0.2 + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - onetime@2.0.1: + micromark-extension-gfm@3.0.0: dependencies: - mimic-fn: 1.2.0 + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.1 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.1 - onetime@5.1.2: + micromark-factory-destination@2.0.1: dependencies: - mimic-fn: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - onigasm@2.2.5: + micromark-factory-label@2.0.1: dependencies: - lru-cache: 5.1.1 + devlop: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - open@6.4.0: + micromark-factory-space@2.0.1: dependencies: - is-wsl: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.1 - open@7.4.2: + micromark-factory-title@2.0.1: dependencies: - is-docker: 2.2.1 - is-wsl: 2.2.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - optionator@0.9.1: + micromark-factory-whitespace@2.0.1: dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - word-wrap: 1.2.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - ora@3.4.0: + micromark-util-character@2.1.1: dependencies: - chalk: 2.4.2 - cli-cursor: 2.1.0 - cli-spinners: 2.6.1 - log-symbols: 2.2.0 - strip-ansi: 5.2.0 - wcwidth: 1.0.1 - - os-tmpdir@1.0.2: {} - - p-cancelable@0.4.1: {} - - p-cancelable@1.1.0: {} - - p-defer@1.0.0: {} + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - p-event@2.3.1: + micromark-util-chunked@2.0.1: dependencies: - p-timeout: 2.0.1 - - p-finally@1.0.0: {} - - p-finally@2.0.1: {} + micromark-util-symbol: 2.0.1 - p-is-promise@1.1.0: {} - - p-limit@1.3.0: + micromark-util-classify-character@2.0.1: dependencies: - p-try: 1.0.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - p-limit@2.3.0: + micromark-util-combine-extensions@2.0.1: dependencies: - p-try: 2.2.0 + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.1 - p-limit@3.1.0: + micromark-util-decode-numeric-character-reference@2.0.2: dependencies: - yocto-queue: 0.1.0 + micromark-util-symbol: 2.0.1 - p-locate@2.0.0: + micromark-util-decode-string@2.0.1: dependencies: - p-limit: 1.3.0 + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.1.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-symbol: 2.0.1 - p-locate@3.0.0: - dependencies: - p-limit: 2.3.0 + micromark-util-encode@2.0.1: {} - p-locate@4.1.0: - dependencies: - p-limit: 2.3.0 + micromark-util-html-tag-name@2.0.1: {} - p-locate@5.0.0: + micromark-util-normalize-identifier@2.0.1: dependencies: - p-limit: 3.1.0 + micromark-util-symbol: 2.0.1 - p-map@4.0.0: + micromark-util-resolve-all@2.0.1: dependencies: - aggregate-error: 3.1.0 + micromark-util-types: 2.0.1 - p-timeout@2.0.1: + micromark-util-sanitize-uri@2.0.1: dependencies: - p-finally: 1.0.0 - - p-try@1.0.0: {} + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 - p-try@2.2.0: {} - - package-json@6.5.0: + micromark-util-subtokenize@2.0.4: dependencies: - got: 9.6.0 - registry-auth-token: 4.2.1 - registry-url: 5.1.0 - semver: 6.3.0 + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - parent-module@1.0.1: - dependencies: - callsites: 3.1.0 + micromark-util-symbol@2.0.1: {} - parse-git-config@2.0.3: - dependencies: - expand-tilde: 2.0.2 - git-config-path: 1.0.1 - ini: 1.3.8 + micromark-util-types@2.0.1: {} - parse-json@4.0.0: + micromark@4.0.1: dependencies: - error-ex: 1.3.2 - json-parse-better-errors: 1.0.2 + '@types/debug': 4.1.12 + debug: 4.4.0(supports-color@5.5.0) + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.2 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.0.4 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + transitivePeerDependencies: + - supports-color - parse-json@5.2.0: + micromatch@4.0.8: dependencies: - '@babel/code-frame': 7.16.0 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - - parse-passwd@1.0.0: {} - - parse-srcset@1.0.2: {} + braces: 3.0.3 + picomatch: 2.3.1 - parse-svg-path@0.1.2: {} + mime-db@1.52.0: {} - parse5-htmlparser2-tree-adapter@6.0.1: + mime-types@2.1.35: dependencies: - parse5: 6.0.1 + mime-db: 1.52.0 - parse5@6.0.1: {} + mime@2.6.0: {} - parseqs@0.0.6: {} + mimic-fn@2.1.0: {} - parseuri@0.0.6: {} + mimic-fn@3.1.0: {} - parseurl@1.3.3: {} + mimic-fn@4.0.0: {} - pascalcase@0.1.1: {} + mimic-function@5.0.1: {} - path-dirname@1.0.2: {} + mimic-response@1.0.1: {} - path-exists@3.0.0: {} + mimic-response@3.1.0: {} - path-exists@4.0.0: {} + min-indent@1.0.1: {} - path-is-absolute@1.0.1: {} + minimatch@10.0.1: + dependencies: + brace-expansion: 2.0.1 - path-key@2.0.1: {} + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 - path-key@3.1.1: {} + minimatch@5.1.6: + dependencies: + brace-expansion: 2.0.1 - path-parse@1.0.7: {} + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 - path-to-regexp@0.1.7: {} + minimist@1.2.8: {} - path-to-regexp@1.8.0: + minipass-collect@1.0.2: dependencies: - isarray: 0.0.1 + minipass: 3.3.6 - path-type@3.0.0: + minipass-fetch@2.1.2: dependencies: - pify: 3.0.0 + minipass: 3.3.6 + minipass-sized: 1.0.3 + minizlib: 2.1.2 + optionalDependencies: + encoding: 0.1.13 - path-type@4.0.0: {} + minipass-flush@1.0.5: + dependencies: + minipass: 3.3.6 - pause-stream@0.0.11: + minipass-pipeline@1.2.4: dependencies: - through: 2.3.8 + minipass: 3.3.6 - pend@1.2.0: {} + minipass-sized@1.0.3: + dependencies: + minipass: 3.3.6 - perfect-scrollbar@1.5.5: {} + minipass@3.3.6: + dependencies: + yallist: 4.0.0 - performance-now@2.1.0: {} + minipass@5.0.0: {} - php-parser@3.1.0-beta.5: {} + minipass@7.1.2: {} - picocolors@0.2.1: {} + minizlib@2.1.2: + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 - picocolors@1.0.0: {} + mkdirp-classic@0.5.3: {} - picomatch@2.3.1: {} + mkdirp@1.0.4: {} - pid-from-port@1.1.3: + mlly@1.7.4: dependencies: - execa: 0.9.0 + acorn: 8.14.0 + pathe: 2.0.2 + pkg-types: 1.3.1 + ufo: 1.5.4 - pidtree@0.3.1: {} + monaco-textmate@3.0.1(onigasm@2.2.5): + dependencies: + fast-plist: 0.1.3 + onigasm: 2.2.5 - pify@2.3.0: {} + ms@2.1.3: {} - pify@3.0.0: {} + nanoid@3.3.8: {} - pify@4.0.1: {} + nanoid@5.1.5: {} - pinia@2.0.13(typescript@4.5.4)(vue@3.2.33): - dependencies: - '@vue/devtools-api': 6.1.4 - typescript: 4.5.4 - vue: 3.2.33 - vue-demi: 0.12.4(vue@3.2.33) + napi-build-utils@2.0.0: {} - pinkie-promise@2.0.1: - dependencies: - pinkie: 2.0.4 + natural-compare@1.4.0: {} - pinkie@2.0.4: {} + natural-orderby@5.0.0: {} - pirates@4.0.4: {} + nearest-color@0.4.4: {} - pkg-dir@2.0.0: - dependencies: - find-up: 2.1.0 + negotiator@0.6.4: {} - pkg-dir@3.0.0: + node-abi@3.74.0: dependencies: - find-up: 3.0.0 + semver: 7.7.1 - pkg-up@3.1.0: - dependencies: - find-up: 3.0.0 + node-addon-api@1.7.2: + optional: true - please-upgrade-node@3.2.0: - dependencies: - semver-compare: 1.0.0 + node-addon-api@7.1.1: + optional: true - plist@3.0.5: + node-api-version@0.2.0: dependencies: - base64-js: 1.5.1 - xmlbuilder: 9.0.7 + semver: 7.7.1 - pluralize@8.0.0: {} + node-fetch-native@1.6.6: {} - portfinder@1.0.28: + node-gyp@9.4.1: dependencies: - async: 2.6.4 - debug: 3.2.7 - mkdirp: 0.5.6 + env-paths: 2.2.1 + exponential-backoff: 3.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + make-fetch-happen: 10.2.1 + nopt: 6.0.0 + npmlog: 6.0.2 + rimraf: 3.0.2 + semver: 7.7.1 + tar: 6.2.1 + which: 2.0.2 transitivePeerDependencies: + - bluebird - supports-color - posix-character-classes@0.1.1: {} + node-releases@2.0.19: {} - postcss-calc@7.0.5: + nodemon@3.1.9: dependencies: - postcss: 7.0.39 - postcss-selector-parser: 6.0.10 - postcss-value-parser: 4.2.0 + chokidar: 3.6.0 + debug: 4.4.0(supports-color@5.5.0) + ignore-by-default: 1.0.1 + minimatch: 3.1.2 + pstree.remy: 1.1.8 + semver: 7.7.1 + simple-update-notifier: 2.0.0 + supports-color: 5.5.0 + touch: 3.1.1 + undefsafe: 2.0.5 - postcss-colormin@4.0.3: + nopt@6.0.0: dependencies: - browserslist: 4.20.2 - color: 3.2.1 - has: 1.0.3 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + abbrev: 1.1.1 - postcss-convert-values@4.0.1: + normalize-package-data@2.5.0: dependencies: - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + hosted-git-info: 2.8.9 + resolve: 1.22.10 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 - postcss-discard-comments@4.0.2: + normalize-path@2.1.1: dependencies: - postcss: 7.0.39 + remove-trailing-separator: 1.1.0 - postcss-discard-duplicates@4.0.2: - dependencies: - postcss: 7.0.39 + normalize-path@3.0.0: {} - postcss-discard-empty@4.0.1: - dependencies: - postcss: 7.0.39 + normalize-range@0.1.2: {} - postcss-discard-overridden@4.0.1: - dependencies: - postcss: 7.0.39 + normalize-url@6.1.0: {} - postcss-import@12.0.1: + npm-run-path@5.3.0: dependencies: - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - read-cache: 1.0.0 - resolve: 1.22.0 + path-key: 4.0.0 - postcss-merge-longhand@4.0.11: - dependencies: - css-color-names: 0.0.4 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - stylehacks: 4.0.3 + npm2url@0.2.4: {} - postcss-merge-rules@4.0.3: + npmlog@6.0.2: dependencies: - browserslist: 4.20.2 - caniuse-api: 3.0.0 - cssnano-util-same-parent: 4.0.1 - postcss: 7.0.39 - postcss-selector-parser: 3.1.2 - vendors: 1.0.4 + are-we-there-yet: 3.0.1 + console-control-strings: 1.1.0 + gauge: 4.0.4 + set-blocking: 2.0.0 - postcss-minify-font-values@4.0.2: + nth-check@2.1.1: dependencies: - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + boolbase: 1.0.0 - postcss-minify-gradients@4.0.2: + nypm@0.5.2: dependencies: - cssnano-util-get-arguments: 4.0.0 - is-color-stop: 1.1.0 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + citty: 0.1.6 + consola: 3.4.0 + pathe: 2.0.2 + pkg-types: 1.3.1 + tinyexec: 0.3.2 + ufo: 1.5.4 - postcss-minify-params@4.0.2: - dependencies: - alphanum-sort: 1.0.2 - browserslist: 4.20.2 - cssnano-util-get-arguments: 4.0.0 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - uniqs: 2.0.0 + object-keys@1.1.1: + optional: true - postcss-minify-selectors@4.0.2: - dependencies: - alphanum-sort: 1.0.2 - has: 1.0.3 - postcss: 7.0.39 - postcss-selector-parser: 3.1.2 + ohash@1.1.4: {} - postcss-normalize-charset@4.0.1: + once@1.4.0: dependencies: - postcss: 7.0.39 + wrappy: 1.0.2 - postcss-normalize-display-values@4.0.2: + onetime@5.1.2: dependencies: - cssnano-util-get-match: 4.0.0 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + mimic-fn: 2.1.0 - postcss-normalize-positions@4.0.2: + onetime@6.0.0: dependencies: - cssnano-util-get-arguments: 4.0.0 - has: 1.0.3 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + mimic-fn: 4.0.0 - postcss-normalize-repeat-style@4.0.2: + onetime@7.0.0: dependencies: - cssnano-util-get-arguments: 4.0.0 - cssnano-util-get-match: 4.0.0 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + mimic-function: 5.0.1 - postcss-normalize-string@4.0.2: + onigasm@2.2.5: dependencies: - has: 1.0.3 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + lru-cache: 5.1.1 - postcss-normalize-timing-functions@4.0.2: - dependencies: - cssnano-util-get-match: 4.0.0 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + openapi-types@12.1.3: {} - postcss-normalize-unicode@4.0.1: + optionator@0.9.4: dependencies: - browserslist: 4.20.2 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 - postcss-normalize-url@4.0.1: + ora@5.4.1: dependencies: - is-absolute-url: 2.1.0 - normalize-url: 3.3.0 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.2 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + + p-cancelable@1.1.0: {} - postcss-normalize-whitespace@4.0.2: + p-cancelable@2.1.1: {} + + p-limit@2.3.0: dependencies: - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + p-try: 2.2.0 - postcss-ordered-values@4.1.2: + p-limit@3.1.0: dependencies: - cssnano-util-get-arguments: 4.0.0 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + yocto-queue: 0.1.0 - postcss-reduce-initial@4.0.3: + p-limit@4.0.0: dependencies: - browserslist: 4.20.2 - caniuse-api: 3.0.0 - has: 1.0.3 - postcss: 7.0.39 + yocto-queue: 1.1.1 - postcss-reduce-transforms@4.0.2: + p-locate@3.0.0: dependencies: - cssnano-util-get-match: 4.0.0 - has: 1.0.3 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + p-limit: 2.3.0 - postcss-selector-parser@3.1.2: + p-locate@4.1.0: dependencies: - dot-prop: 5.3.0 - indexes-of: 1.0.1 - uniq: 1.0.1 + p-limit: 2.3.0 - postcss-selector-parser@6.0.10: + p-locate@5.0.0: dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 + p-limit: 3.1.0 - postcss-svgo@4.0.3: + p-locate@6.0.0: dependencies: - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - svgo: 1.3.2 + p-limit: 4.0.0 - postcss-unique-selectors@4.0.1: + p-map@4.0.0: dependencies: - alphanum-sort: 1.0.2 - postcss: 7.0.39 - uniqs: 2.0.0 + aggregate-error: 3.1.0 - postcss-value-parser@3.3.1: {} + p-try@2.2.0: {} - postcss-value-parser@4.2.0: {} + package-json-from-dist@1.0.1: {} - postcss@7.0.39: + package-manager-detector@0.2.9: {} + + parent-module@1.0.1: dependencies: - picocolors: 0.2.1 - source-map: 0.6.1 + callsites: 3.1.0 - postcss@8.4.12: + parse-gitignore@2.0.0: {} + + parse-imports@2.2.1: dependencies: - nanoid: 3.3.2 - picocolors: 1.0.0 - source-map-js: 1.0.2 + es-module-lexer: 1.6.0 + slashes: 3.0.12 - prelude-ls@1.2.1: {} + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.26.2 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 - prepend-http@2.0.0: {} + parse-srcset@1.0.2: {} - prettier-linter-helpers@1.0.0: + parse5-htmlparser2-tree-adapter@7.1.0: dependencies: - fast-diff: 1.2.0 + domhandler: 5.0.3 + parse5: 7.2.1 - prettier-plugin-java@1.6.1: + parse5-parser-stream@7.1.2: dependencies: - java-parser: 2.0.1 - lodash: 4.17.21 - prettier: 2.3.1 + parse5: 7.2.1 - prettier-plugin-sh@0.8.2(prettier@2.6.2): + parse5@7.2.1: dependencies: - mvdan-sh: 0.5.0 - prettier: 2.6.2 + entities: 4.5.0 + + path-data-parser@0.1.0: {} + + path-exists@3.0.0: {} + + 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: {} - prettier-plugin-toml@0.3.1: + path-scurry@1.11.1: dependencies: - '@toml-tools/parser': 0.3.1 - prettier: 1.19.1 + lru-cache: 10.4.3 + minipass: 7.1.2 - prettier@1.19.1: {} + pathe@1.1.2: {} - prettier@2.3.1: {} + pathe@2.0.2: {} - prettier@2.6.2: {} + pathe@2.0.3: {} - prismjs@1.28.0: {} + pe-library@0.4.1: {} - prismjs@1.29.0: {} + pend@1.2.0: {} - private@0.1.8: {} + perfect-debounce@1.0.0: {} - process-exists@3.1.0: - dependencies: - ps-list: 4.1.0 + perfect-scrollbar@1.5.6: {} - process-nextick-args@2.0.1: {} + picocolors@1.1.1: {} - progress@2.0.3: {} + picomatch@2.3.1: {} - promise@7.3.1: - dependencies: - asap: 2.0.6 + picomatch@4.0.2: {} - prompts@2.4.2: - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 + pidtree@0.6.0: {} - proto-list@1.2.4: {} + pify@4.0.1: {} - proxy-addr@2.0.7: + pkg-types@1.3.1: dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 + confbox: 0.1.8 + mlly: 1.7.4 + pathe: 2.0.2 - ps-list@4.1.0: + pkg-up@3.1.0: dependencies: - pify: 3.0.0 - tasklist: 3.1.1 + find-up: 3.0.0 - ps-tree@1.2.0: + plist@3.1.0: dependencies: - event-stream: 3.3.4 + '@xmldom/xmldom': 0.8.10 + base64-js: 1.5.1 + xmlbuilder: 15.1.1 - pseudomap@1.0.2: {} + pluralize@8.0.0: {} - psl@1.8.0: {} + points-on-curve@0.2.0: {} - pug-attrs@3.0.0: + points-on-path@0.2.1: dependencies: - constantinople: 4.0.1 - js-stringify: 1.0.2 - pug-runtime: 3.0.1 + path-data-parser: 0.1.0 + points-on-curve: 0.2.0 - pug-code-gen@3.0.2: + postcss-selector-parser@6.1.2: dependencies: - constantinople: 4.0.1 - doctypes: 1.1.0 - js-stringify: 1.0.2 - pug-attrs: 3.0.0 - pug-error: 2.0.0 - pug-runtime: 3.0.1 - void-elements: 3.1.0 - with: 7.0.2 - - pug-error@2.0.0: {} + cssesc: 3.0.0 + util-deprecate: 1.0.2 - pug-filters@4.0.0: - dependencies: - constantinople: 4.0.1 - jstransformer: 1.0.0 - pug-error: 2.0.0 - pug-walk: 2.0.0 - resolve: 1.22.0 + postcss-value-parser@4.2.0: {} - pug-lexer@5.0.1: + postcss@8.5.3: dependencies: - character-parser: 2.2.0 - is-expression: 4.0.0 - pug-error: 2.0.0 + nanoid: 3.3.8 + picocolors: 1.1.1 + source-map-js: 1.2.1 - pug-linker@4.0.0: + prebuild-install@7.1.3: dependencies: - pug-error: 2.0.0 - pug-walk: 2.0.0 + detect-libc: 2.0.3 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 2.0.0 + node-abi: 3.74.0 + pump: 3.0.2 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.2 + tunnel-agent: 0.6.0 - pug-load@3.0.0: - dependencies: - object-assign: 4.1.1 - pug-walk: 2.0.0 + prelude-ls@1.2.1: {} - pug-parser@6.0.0: + prettier-plugin-tailwindcss@0.6.11(prettier@3.5.3): dependencies: - pug-error: 2.0.0 - token-stream: 1.0.0 + prettier: 3.5.3 - pug-runtime@3.0.1: {} + prettier@3.5.3: {} - pug-strip-comments@2.0.0: - dependencies: - pug-error: 2.0.0 + prismjs@1.30.0: {} - pug-walk@2.0.0: {} + proc-log@2.0.1: {} - pug@3.0.2: - dependencies: - pug-code-gen: 3.0.2 - pug-filters: 4.0.0 - pug-lexer: 5.0.1 - pug-linker: 4.0.0 - pug-load: 3.0.0 - pug-parser: 6.0.0 - pug-runtime: 3.0.1 - pug-strip-comments: 2.0.0 + process-nextick-args@2.0.1: {} - pump@3.0.0: - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 + progress@2.0.3: {} - punycode@2.1.1: {} + promise-inflight@1.0.1: {} - pupa@2.1.1: + promise-retry@2.0.1: dependencies: - escape-goat: 2.1.1 + err-code: 2.0.3 + retry: 0.12.0 - q@1.5.1: {} - - qs@6.10.3: + prompts@2.4.2: dependencies: - side-channel: 1.0.4 - - qs@6.5.3: {} + kleur: 3.0.3 + sisteransi: 1.0.5 - qs@6.9.6: {} + pseudomap@1.0.2: {} - query-string@5.1.1: - dependencies: - decode-uri-component: 0.2.0 - object-assign: 4.1.1 - strict-uri-encode: 1.1.0 + pstree.remy@1.1.8: {} - query-string@8.1.0: + pump@3.0.2: dependencies: - decode-uri-component: 0.4.1 - filter-obj: 5.1.0 - split-on-first: 3.0.0 + end-of-stream: 1.4.4 + once: 1.4.0 - queue-microtask@1.2.3: {} + punycode.js@2.3.1: {} - quick-lru@4.0.1: {} + punycode@2.3.1: {} - randombytes@2.1.0: - dependencies: - safe-buffer: 5.2.1 + queue-microtask@1.2.3: {} - range-parser@1.2.1: {} + quick-lru@5.1.1: {} - raw-body@2.4.2: + radix-vue@1.9.17(vue@3.5.13(typescript@5.7.3)): dependencies: - bytes: 3.1.1 - http-errors: 1.8.1 - iconv-lite: 0.4.24 - unpipe: 1.0.0 + '@floating-ui/dom': 1.6.13 + '@floating-ui/vue': 1.1.6(vue@3.5.13(typescript@5.7.3)) + '@internationalized/date': 3.7.0 + '@internationalized/number': 3.6.0 + '@tanstack/vue-virtual': 3.13.2(vue@3.5.13(typescript@5.7.3)) + '@vueuse/core': 10.11.1(vue@3.5.13(typescript@5.7.3)) + '@vueuse/shared': 10.11.1(vue@3.5.13(typescript@5.7.3)) + aria-hidden: 1.2.4 + defu: 6.1.4 + fast-deep-equal: 3.1.3 + nanoid: 5.1.5 + vue: 3.5.13(typescript@5.7.3) + transitivePeerDependencies: + - '@vue/composition-api' - raw-body@2.5.1: + rc9@2.1.2: dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - unpipe: 1.0.0 + defu: 6.1.4 + destr: 2.0.3 rc@1.2.8: dependencies: deep-extend: 0.6.0 ini: 1.3.8 - minimist: 1.2.6 + minimist: 1.2.8 strip-json-comments: 2.0.1 - read-cache@1.0.0: - dependencies: - pify: 2.3.0 - - read-config-file@6.2.0: + read-binary-file-arch@1.0.6: dependencies: - dotenv: 9.0.2 - dotenv-expand: 5.1.0 - js-yaml: 4.1.0 - json5: 2.2.1 - lazy-val: 1.0.5 + debug: 4.4.0(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color read-pkg-up@7.0.1: dependencies: @@ -14479,27 +9428,14 @@ snapshots: read-pkg: 5.2.0 type-fest: 0.8.1 - read-pkg@3.0.0: - dependencies: - load-json-file: 4.0.0 - normalize-package-data: 2.5.0 - path-type: 3.0.0 - read-pkg@5.2.0: dependencies: - '@types/normalize-package-data': 2.4.1 + '@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@1.0.34: - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 0.0.1 - string_decoder: 0.10.31 - - readable-stream@2.3.7: + readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -14509,181 +9445,82 @@ snapshots: string_decoder: 1.1.1 util-deprecate: 1.0.2 - readable-stream@3.6.0: + readable-stream@3.6.2: dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - readdirp@3.6.0: - dependencies: - picomatch: 2.3.1 - - recast@0.17.2: - dependencies: - ast-types: 0.12.1 - esprima: 4.0.1 - private: 0.1.8 - source-map: 0.6.1 - - recast@0.18.10: - dependencies: - ast-types: 0.13.3 - esprima: 4.0.1 - private: 0.1.8 - source-map: 0.6.1 - - recast@0.20.5: - dependencies: - ast-types: 0.14.2 - esprima: 4.0.1 - source-map: 0.6.1 - tslib: 2.4.0 - - redent@3.0.0: - dependencies: - indent-string: 4.0.0 - strip-indent: 3.0.0 - - regenerate-unicode-properties@9.0.0: - dependencies: - regenerate: 1.4.2 - - regenerate@1.4.2: {} - - regenerator-runtime@0.13.9: {} - - regenerator-runtime@0.14.0: {} - - regenerator-transform@0.14.5: + readdir-glob@1.1.3: dependencies: - '@babel/runtime': 7.23.1 + minimatch: 5.1.6 - regex-not@1.0.2: + readdirp@3.6.0: dependencies: - extend-shallow: 3.0.2 - safe-regex: 1.1.0 - - regexp-to-ast@0.3.5: {} - - regexp-to-ast@0.4.0: {} - - regexp-to-ast@0.5.0: {} + picomatch: 2.3.1 - regexpp@3.2.0: {} + readdirp@4.1.1: {} - regexpu-core@4.8.0: + refa@0.12.1: dependencies: - regenerate: 1.4.2 - regenerate-unicode-properties: 9.0.0 - regjsgen: 0.5.2 - regjsparser: 0.7.0 - unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.0.0 + '@eslint-community/regexpp': 4.12.1 - registry-auth-token@4.2.1: - dependencies: - rc: 1.2.8 + regenerator-runtime@0.14.1: {} - registry-url@5.1.0: + regexp-ast-analysis@0.7.1: dependencies: - rc: 1.2.8 + '@eslint-community/regexpp': 4.12.1 + refa: 0.12.1 - regjsgen@0.5.2: {} + regexp-tree@0.1.27: {} - regjsparser@0.7.0: + regjsparser@0.10.0: dependencies: jsesc: 0.5.0 - remarkable-katex@1.2.1: {} - - remarkable@2.0.1: - dependencies: - argparse: 1.0.10 - autolinker: 3.16.2 - - repeat-element@1.1.4: {} - - repeat-string@1.6.1: {} - - request@2.88.2: - dependencies: - aws-sign2: 0.7.0 - aws4: 1.11.0 - caseless: 0.12.0 - combined-stream: 1.0.8 - extend: 3.0.2 - forever-agent: 0.6.1 - form-data: 2.3.3 - har-validator: 5.1.5 - http-signature: 1.2.0 - is-typedarray: 1.0.0 - isstream: 0.1.2 - json-stringify-safe: 5.0.1 - mime-types: 2.1.35 - oauth-sign: 0.9.0 - performance-now: 2.1.0 - qs: 6.5.3 - safe-buffer: 5.2.1 - tough-cookie: 2.5.0 - tunnel-agent: 0.6.0 - uuid: 3.4.0 + remove-trailing-separator@1.1.0: {} require-directory@2.1.1: {} require-from-string@2.0.2: {} - resolve-from@3.0.0: {} + resedit@1.7.2: + dependencies: + pe-library: 0.4.1 + + resolve-alpn@1.2.1: {} resolve-from@4.0.0: {} resolve-from@5.0.0: {} - resolve-global@1.0.0: - dependencies: - global-dirs: 0.1.1 - - resolve-url@0.2.1: {} + resolve-pkg-maps@1.0.0: {} - resolve@1.22.0: + resolve@1.22.10: dependencies: - is-core-module: 2.8.1 + is-core-module: 2.16.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - responselike@1.0.2: - dependencies: - lowercase-keys: 1.0.1 - - restore-cursor@2.0.0: + responselike@2.0.1: dependencies: - onetime: 2.0.1 - signal-exit: 3.0.7 + lowercase-keys: 2.0.0 restore-cursor@3.1.0: dependencies: onetime: 5.1.2 - signal-exit: 3.0.6 + signal-exit: 3.0.7 - ret@0.1.15: {} + restore-cursor@5.1.0: + dependencies: + onetime: 7.0.0 + signal-exit: 4.1.0 - retry@0.13.1: {} + retry@0.12.0: {} reusify@1.0.4: {} - rfdc@1.3.0: {} - - rgb-regex@1.0.1: {} - - rgba-regex@1.0.0: {} - - rimraf@2.6.3: - dependencies: - glob: 7.2.3 - - rimraf@2.7.1: - dependencies: - glob: 7.2.3 + rfdc@1.4.1: {} rimraf@3.0.2: dependencies: @@ -14691,437 +9528,220 @@ snapshots: roarr@2.15.4: dependencies: - boolean: 3.1.4 + boolean: 3.2.0 detect-node: 2.1.0 - globalthis: 1.0.2 + globalthis: 1.0.4 json-stringify-safe: 5.0.1 semver-compare: 1.0.0 - sprintf-js: 1.1.2 + sprintf-js: 1.1.3 optional: true - robust-predicates@3.0.1: {} - - rollup@2.70.1: - optionalDependencies: - fsevents: 2.3.2 + robust-predicates@3.0.2: {} - rss-parser@3.12.0: + rollup@4.34.8: dependencies: - entities: 2.2.0 - xml2js: 0.4.23 - - run-async@2.4.1: {} + '@types/estree': 1.0.6 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.34.8 + '@rollup/rollup-android-arm64': 4.34.8 + '@rollup/rollup-darwin-arm64': 4.34.8 + '@rollup/rollup-darwin-x64': 4.34.8 + '@rollup/rollup-freebsd-arm64': 4.34.8 + '@rollup/rollup-freebsd-x64': 4.34.8 + '@rollup/rollup-linux-arm-gnueabihf': 4.34.8 + '@rollup/rollup-linux-arm-musleabihf': 4.34.8 + '@rollup/rollup-linux-arm64-gnu': 4.34.8 + '@rollup/rollup-linux-arm64-musl': 4.34.8 + '@rollup/rollup-linux-loongarch64-gnu': 4.34.8 + '@rollup/rollup-linux-powerpc64le-gnu': 4.34.8 + '@rollup/rollup-linux-riscv64-gnu': 4.34.8 + '@rollup/rollup-linux-s390x-gnu': 4.34.8 + '@rollup/rollup-linux-x64-gnu': 4.34.8 + '@rollup/rollup-linux-x64-musl': 4.34.8 + '@rollup/rollup-win32-arm64-msvc': 4.34.8 + '@rollup/rollup-win32-ia32-msvc': 4.34.8 + '@rollup/rollup-win32-x64-msvc': 4.34.8 + fsevents: 2.3.3 + + roughjs@4.6.6: + dependencies: + hachure-fill: 0.5.2 + path-data-parser: 0.1.0 + points-on-curve: 0.2.0 + points-on-path: 0.2.1 run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - rw@1.3.3: {} + runtime-required@1.1.0: {} - rxjs@6.6.7: - dependencies: - tslib: 1.14.1 + rw@1.3.3: {} - rxjs@7.4.0: + rxjs@7.8.1: dependencies: - tslib: 2.1.0 + tslib: 2.8.1 safe-buffer@5.1.2: {} safe-buffer@5.2.1: {} - safe-regex@1.1.0: - dependencies: - ret: 0.1.15 - safer-buffer@2.1.2: {} sanitize-filename@1.6.3: dependencies: truncate-utf8-bytes: 1.0.2 - sanitize-html@2.7.0: + sanitize-html@2.15.0: dependencies: - deepmerge: 4.2.2 + deepmerge: 4.3.1 escape-string-regexp: 4.0.0 - htmlparser2: 6.1.0 + htmlparser2: 8.0.2 is-plain-object: 5.0.0 parse-srcset: 1.0.2 - postcss: 8.4.12 - - sass@1.45.1: - dependencies: - chokidar: 3.5.3 - immutable: 4.0.0 - source-map-js: 1.0.2 - - sax@1.2.4: {} - - scale-svg-path@0.0.1: {} - - schema-utils@3.1.1: - dependencies: - '@types/json-schema': 7.0.10 - ajv: 6.12.6 - ajv-keywords: 3.5.2(ajv@6.12.6) - - sec@1.0.0: {} - - seek-bzip@1.0.6: - dependencies: - commander: 2.20.3 - - semver-compare@1.0.0: {} - - semver-diff@3.1.1: - dependencies: - semver: 6.3.0 - - semver@5.7.1: {} - - semver@6.3.0: {} - - semver@7.0.0: {} - - semver@7.3.5: - dependencies: - lru-cache: 6.0.0 - - semver@7.3.7: - dependencies: - lru-cache: 6.0.0 - - send@0.17.2: - dependencies: - debug: 2.6.9 - depd: 1.1.2 - destroy: 1.0.4 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 1.8.1 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.3.0 - range-parser: 1.2.1 - statuses: 1.5.0 - transitivePeerDependencies: - - supports-color - - 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-error@7.0.1: - dependencies: - type-fest: 0.13.1 - optional: true - - serialize-javascript@6.0.0: - dependencies: - randombytes: 2.1.0 - - serialize-svg-path@0.1.0: {} - - serve-static@1.14.2: - dependencies: - encodeurl: 1.0.2 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.17.2 - transitivePeerDependencies: - - supports-color - - 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 - - server-destroy@1.0.1: {} - - set-value@2.0.1: - dependencies: - extend-shallow: 2.0.1 - is-extendable: 0.1.1 - is-plain-object: 2.0.4 - split-string: 3.1.0 - - setimmediate@1.0.5: {} - - setprototypeof@1.2.0: {} - - sha.js@2.4.11: - dependencies: - inherits: 2.0.4 - safe-buffer: 5.2.1 - - shallow-clone@3.0.1: - dependencies: - kind-of: 6.0.3 - - shebang-command@1.2.0: - dependencies: - shebang-regex: 1.0.0 - - shebang-command@2.0.0: - dependencies: - shebang-regex: 3.0.0 - - shebang-regex@1.0.0: {} - - shebang-regex@3.0.0: {} - - shell-quote@1.7.3: {} - - shellwords@0.1.1: {} - - shortid@2.2.16: - dependencies: - nanoid: 2.1.11 - - side-channel@1.0.4: - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.1.1 - object-inspect: 1.12.0 - - signal-exit@3.0.6: {} - - signal-exit@3.0.7: {} - - simple-swizzle@0.2.2: - dependencies: - is-arrayish: 0.3.2 + postcss: 8.5.3 - sisteransi@1.0.5: {} - - slash@2.0.0: {} - - slash@3.0.0: {} - - slice-ansi@3.0.0: + sass@1.85.1: dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 + chokidar: 4.0.3 + immutable: 5.0.3 + source-map-js: 1.2.1 + optionalDependencies: + '@parcel/watcher': 2.5.1 - slice-ansi@4.0.0: - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 + sax@1.4.1: {} - slice-ansi@5.0.0: + scslre@0.3.0: dependencies: - ansi-styles: 6.1.0 - is-fullwidth-code-point: 4.0.0 + '@eslint-community/regexpp': 4.12.1 + refa: 0.12.1 + regexp-ast-analysis: 0.7.1 - slugify@1.6.6: {} + scule@1.3.0: {} - smart-buffer@4.2.0: + semver-compare@1.0.0: optional: true - snapdragon-node@2.1.1: - dependencies: - define-property: 1.0.0 - isobject: 3.0.1 - snapdragon-util: 3.0.1 - - snapdragon-util@3.0.1: - dependencies: - kind-of: 3.2.2 - - snapdragon@0.8.2: - dependencies: - base: 0.11.2 - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - map-cache: 0.2.2 - source-map: 0.5.7 - source-map-resolve: 0.5.3 - use: 3.1.1 - transitivePeerDependencies: - - supports-color - - socket.io-adapter@2.3.3: {} - - socket.io-client@4.4.1(utf-8-validate@5.0.9): - dependencies: - '@socket.io/component-emitter': 3.0.0 - backo2: 1.0.2 - debug: 4.3.4(supports-color@9.2.1) - engine.io-client: 6.1.1(utf-8-validate@5.0.9) - parseuri: 0.0.6 - socket.io-parser: 4.1.2 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - - socket.io-parser@4.0.4: - dependencies: - '@types/component-emitter': 1.2.11 - component-emitter: 1.3.0 - debug: 4.3.4(supports-color@9.2.1) - transitivePeerDependencies: - - supports-color - - socket.io-parser@4.1.2: - dependencies: - '@socket.io/component-emitter': 3.0.0 - debug: 4.3.4(supports-color@9.2.1) - transitivePeerDependencies: - - supports-color - - socket.io@4.4.1(utf-8-validate@5.0.9): - dependencies: - accepts: 1.3.8 - base64id: 2.0.0 - debug: 4.3.4(supports-color@9.2.1) - engine.io: 6.1.3(utf-8-validate@5.0.9) - socket.io-adapter: 2.3.3 - socket.io-parser: 4.0.4 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - - sort-keys-length@1.0.1: - dependencies: - sort-keys: 1.1.2 - - sort-keys@1.1.2: - dependencies: - is-plain-obj: 1.1.0 + semver@5.7.2: {} - sort-keys@2.0.0: - dependencies: - is-plain-obj: 1.1.0 + semver@6.3.1: {} - source-map-js@1.0.2: {} + semver@7.7.1: {} - source-map-resolve@0.5.3: + serialize-error@7.0.1: dependencies: - atob: 2.1.2 - decode-uri-component: 0.2.0 - resolve-url: 0.2.1 - source-map-url: 0.4.1 - urix: 0.1.0 + type-fest: 0.13.1 + optional: true - source-map-support@0.5.21: + set-blocking@2.0.0: {} + + shebang-command@2.0.0: dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 + shebang-regex: 3.0.0 - source-map-url@0.4.1: {} + shebang-regex@3.0.0: {} - source-map@0.5.7: {} + shell-quote@1.8.2: {} - source-map@0.6.1: {} + signal-exit@3.0.7: {} - source-map@0.7.3: {} + signal-exit@4.1.0: {} - sourcemap-codec@1.4.8: {} + simple-concat@1.0.1: {} - spdx-correct@3.1.1: + simple-get@4.0.1: dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.11 + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 - spdx-exceptions@2.3.0: {} + simple-git-hooks@2.11.1: {} - spdx-expression-parse@3.0.1: + simple-update-notifier@2.0.0: dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.11 + semver: 7.7.1 - spdx-license-ids@3.0.11: {} + sisteransi@1.0.5: {} - split-on-first@3.0.0: {} + slash@3.0.0: {} - split-string@3.1.0: - dependencies: - extend-shallow: 3.0.2 + slashes@3.0.12: {} - split2@2.2.0: + slice-ansi@3.0.0: dependencies: - through2: 2.0.5 + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + optional: true - split2@3.2.2: + slice-ansi@5.0.0: dependencies: - readable-stream: 3.6.0 + ansi-styles: 6.2.1 + is-fullwidth-code-point: 4.0.0 - split@0.3.3: + slice-ansi@7.1.0: dependencies: - through: 2.3.8 + ansi-styles: 6.2.1 + is-fullwidth-code-point: 5.0.0 - sprintf-js@1.0.3: {} + slugify@1.6.6: {} - sprintf-js@1.1.2: - optional: true + smart-buffer@4.2.0: {} - sshpk@1.17.0: + socks-proxy-agent@7.0.0: dependencies: - asn1: 0.2.6 - assert-plus: 1.0.0 - bcrypt-pbkdf: 1.0.2 - dashdash: 1.14.1 - ecc-jsbn: 0.1.2 - getpass: 0.1.7 - jsbn: 0.1.1 - safer-buffer: 2.1.2 - tweetnacl: 0.14.5 + agent-base: 6.0.2 + debug: 4.4.0(supports-color@5.5.0) + socks: 2.8.3 + transitivePeerDependencies: + - supports-color - stable@0.1.8: {} + socks@2.8.3: + dependencies: + ip-address: 9.0.5 + smart-buffer: 4.2.0 - stat-mode@1.0.0: {} + source-map-js@1.2.1: {} - static-extend@0.1.2: + source-map-support@0.5.21: dependencies: - define-property: 0.2.5 - object-copy: 0.1.0 - - statuses@1.5.0: {} + buffer-from: 1.1.2 + source-map: 0.6.1 - statuses@2.0.1: {} + source-map@0.6.1: {} - steno@0.4.4: + spdx-correct@3.2.0: dependencies: - graceful-fs: 4.2.10 + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.21 - steno@2.1.0: {} + spdx-exceptions@2.5.0: {} + + spdx-expression-parse@3.0.1: + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.21 - stream-combiner@0.0.4: + spdx-expression-parse@4.0.0: dependencies: - duplexer: 0.1.2 + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.21 + + spdx-license-ids@3.0.21: {} + + split2@4.2.0: {} + + sprintf-js@1.1.3: {} - streamsearch@0.1.2: {} + ssri@9.0.1: + dependencies: + minipass: 3.3.6 - strict-uri-encode@1.1.0: {} + stable-hash@0.0.4: {} - string-argv@0.1.2: {} + stat-mode@1.0.0: {} - string-argv@0.3.1: {} + string-argv@0.3.2: {} string-width@4.2.3: dependencies: @@ -15129,29 +9749,17 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - string-width@5.0.1: + string-width@5.1.2: dependencies: + eastasianwidth: 0.2.0 emoji-regex: 9.2.2 - is-fullwidth-code-point: 4.0.0 - strip-ansi: 7.0.1 - - string.prototype.padend@3.1.3: - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 - - string.prototype.trimend@1.0.4: - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 + strip-ansi: 7.1.0 - string.prototype.trimstart@1.0.4: + string-width@7.2.0: dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - - string_decoder@0.10.31: {} + emoji-regex: 10.4.0 + get-east-asian-width: 1.3.0 + strip-ansi: 7.1.0 string_decoder@1.1.1: dependencies: @@ -15161,27 +9769,15 @@ snapshots: dependencies: safe-buffer: 5.2.1 - strip-ansi@5.2.0: - dependencies: - ansi-regex: 4.1.1 - strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 - strip-ansi@7.0.1: - dependencies: - ansi-regex: 6.0.1 - - strip-bom@3.0.0: {} - - strip-dirs@2.1.0: + strip-ansi@7.1.0: dependencies: - is-natural-number: 4.0.1 - - strip-eof@1.0.0: {} + ansi-regex: 6.1.0 - strip-final-newline@2.0.0: {} + strip-final-newline@3.0.0: {} strip-indent@3.0.0: dependencies: @@ -15191,33 +9787,15 @@ snapshots: strip-json-comments@3.1.1: {} - strip-outer@1.0.1: - dependencies: - escape-string-regexp: 1.0.5 - - stylehacks@4.0.3: + strip-literal@3.0.0: dependencies: - browserslist: 4.20.2 - postcss: 7.0.39 - postcss-selector-parser: 3.1.2 - - stylis@4.1.1: {} + js-tokens: 9.0.1 - subscriptions-transport-ws@0.9.19(graphql@14.7.0): - dependencies: - backo2: 1.0.2 - eventemitter3: 3.1.2 - graphql: 14.7.0 - iterall: 1.3.0 - symbol-observable: 1.2.0 - ws: 7.5.7 - transitivePeerDependencies: - - bufferutil - - utf-8-validate + stylis@4.3.6: {} sumchecker@3.0.1: dependencies: - debug: 4.3.4(supports-color@9.2.1) + debug: 4.4.0(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -15233,502 +9811,247 @@ snapshots: dependencies: has-flag: 4.0.0 - supports-color@9.2.1: {} - supports-preserve-symlinks-flag@1.0.0: {} - svgo@1.1.1: - dependencies: - coa: 2.0.2 - colors: 1.1.2 - css-select: 2.1.0 - css-select-base-adapter: 0.1.1 - css-tree: 1.0.0-alpha.28 - css-url-regex: 1.1.0 - csso: 3.5.1 - js-yaml: 3.14.1 - mkdirp: 0.5.6 - object.values: 1.1.5 - sax: 1.2.4 - stable: 0.1.8 - unquote: 1.1.1 - util.promisify: 1.0.1 - - svgo@1.3.2: - dependencies: - chalk: 2.4.2 - coa: 2.0.2 - css-select: 2.1.0 - css-select-base-adapter: 0.1.1 - css-tree: 1.0.0-alpha.37 - csso: 4.2.0 - js-yaml: 3.14.1 - mkdirp: 0.5.6 - object.values: 1.1.5 - sax: 1.2.4 - stable: 0.1.8 - unquote: 1.1.1 - util.promisify: 1.0.1 - - svgstore@3.0.1: - dependencies: - cheerio: 1.0.0-rc.10 - - symbol-observable@1.2.0: {} - - tapable@0.1.10: {} + synckit@0.6.2: + dependencies: + tslib: 2.8.1 + + synckit@0.9.2: + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.8.1 + + tailwind-merge@3.0.2: {} + + tailwindcss@4.0.9: {} tapable@2.2.1: {} - tar-stream@1.6.2: + tar-fs@2.1.2: + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.2 + tar-stream: 2.2.0 + + tar-stream@2.2.0: dependencies: - bl: 1.2.3 - buffer-alloc: 1.2.0 + bl: 4.1.0 end-of-stream: 1.4.4 fs-constants: 1.0.0 - readable-stream: 2.3.7 - to-buffer: 1.1.1 - xtend: 4.0.2 + inherits: 2.0.4 + readable-stream: 3.6.2 - tar@6.1.11: + tar@6.2.1: dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 3.3.4 + minipass: 5.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 - taskkill@3.1.0: - dependencies: - arrify: 2.0.1 - execa: 3.4.0 - - tasklist@3.1.1: - dependencies: - neat-csv: 2.1.0 - pify: 2.3.0 - sec: 1.0.0 - temp-file@3.4.0: dependencies: async-exit-hook: 2.0.1 fs-extra: 10.1.0 - temp@0.8.4: - dependencies: - rimraf: 2.6.3 - - term-size@2.2.1: {} - - terser-webpack-plugin@5.3.1(webpack@5.70.0): - dependencies: - jest-worker: 27.5.1 - schema-utils: 3.1.1 - serialize-javascript: 6.0.0 - source-map: 0.6.1 - terser: 5.12.1 - webpack: 5.70.0 - - terser@5.12.1: - dependencies: - acorn: 8.7.0 - commander: 2.20.3 - source-map: 0.7.3 - source-map-support: 0.5.21 - - text-extensions@1.9.0: {} - - text-table@0.2.0: {} - - through2@2.0.5: - dependencies: - readable-stream: 2.3.7 - xtend: 4.0.2 - - through2@4.0.2: - dependencies: - readable-stream: 3.6.0 + text-extensions@2.4.0: {} through@2.3.8: {} - timed-out@4.0.1: {} - - timsort@0.3.0: {} + tiny-conventional-commits-parser@0.0.1: {} - tmp-promise@3.0.3: - dependencies: - tmp: 0.2.1 + tinyexec@0.3.2: {} - tmp@0.0.33: + tinyglobby@0.2.10: dependencies: - os-tmpdir: 1.0.2 + fdir: 6.4.3(picomatch@4.0.2) + picomatch: 4.0.2 - tmp@0.2.1: + tinyglobby@0.2.12: dependencies: - rimraf: 3.0.2 - - to-buffer@1.1.1: {} + fdir: 6.4.3(picomatch@4.0.2) + picomatch: 4.0.2 - to-fast-properties@2.0.0: {} - - to-object-path@0.3.0: + tmp-promise@3.0.3: dependencies: - kind-of: 3.2.2 + tmp: 0.2.3 - to-readable-stream@1.0.0: {} - - to-regex-range@2.1.1: - dependencies: - is-number: 3.0.0 - repeat-string: 1.6.1 + tmp@0.2.3: {} to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - to-regex@3.0.2: + toml-eslint-parser@0.10.0: dependencies: - define-property: 2.0.2 - extend-shallow: 3.0.2 - regex-not: 1.0.2 - safe-regex: 1.1.0 + eslint-visitor-keys: 3.4.3 - toidentifier@1.0.1: {} + toml@3.0.0: {} - token-stream@1.0.0: {} + touch@3.1.1: {} - tough-cookie@2.5.0: - dependencies: - psl: 1.8.0 - punycode: 2.1.1 - - tr46@0.0.3: {} - - traverse@0.3.9: {} - - trim-newlines@3.0.1: {} - - trim-repeated@1.0.0: - dependencies: - escape-string-regexp: 1.0.5 + tree-kill@1.2.2: {} truncate-utf8-bytes@1.0.2: dependencies: - utf8-byte-length: 1.0.4 - - ts-invariant@0.4.4: - dependencies: - tslib: 1.14.1 - - ts-node@9.1.1(typescript@4.6.3): - dependencies: - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - source-map-support: 0.5.21 - typescript: 4.6.3 - yn: 3.1.1 - - tsc-watch@4.6.0(typescript@4.5.4): - dependencies: - cross-spawn: 7.0.3 - node-cleanup: 2.1.2 - ps-tree: 1.2.0 - string-argv: 0.1.2 - strip-ansi: 6.0.1 - typescript: 4.5.4 + utf8-byte-length: 1.0.5 - tsconfig-paths@3.12.0: + ts-api-utils@2.0.1(typescript@5.7.3): dependencies: - '@types/json5': 0.0.29 - json5: 1.0.1 - minimist: 1.2.5 - strip-bom: 3.0.0 - - tslib@1.14.1: {} + typescript: 5.7.3 - tslib@2.1.0: {} + ts-dedent@2.2.0: {} - tslib@2.3.1: {} - - tslib@2.4.0: {} - - tsutils@3.21.0(typescript@4.5.4): - dependencies: - tslib: 1.14.1 - typescript: 4.5.4 + tslib@2.8.1: {} tunnel-agent@0.6.0: dependencies: safe-buffer: 5.2.1 - tunnel@0.0.6: - optional: true - - tweetnacl@0.14.5: {} - type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - type-detect@4.0.8: {} - type-fest@0.13.1: optional: true - type-fest@0.18.1: {} - type-fest@0.20.2: {} - type-fest@0.21.3: {} - type-fest@0.6.0: {} type-fest@0.8.1: {} - type-fest@1.4.0: {} + type-fest@2.19.0: {} - type-is@1.6.18: - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 + typescript@5.7.3: {} - typedarray-to-buffer@3.1.5: - dependencies: - is-typedarray: 1.0.0 + uc.micro@2.1.0: {} - typedarray@0.0.6: {} + ufo@1.5.4: {} - typescript@4.1.6: {} + undefsafe@2.0.5: {} - typescript@4.5.4: {} + undici-types@6.19.8: {} - typescript@4.6.3: {} + undici-types@6.20.0: {} - typical@4.0.0: {} + undici@6.21.2: {} - uglify-js@3.16.3: - optional: true + unicorn-magic@0.1.0: {} - unbox-primitive@1.0.1: + unimport@4.1.2: dependencies: - function-bind: 1.1.1 - has-bigints: 1.0.1 - has-symbols: 1.0.2 - which-boxed-primitive: 1.0.2 + acorn: 8.14.0 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + local-pkg: 1.0.0 + magic-string: 0.30.17 + mlly: 1.7.4 + pathe: 2.0.3 + picomatch: 4.0.2 + pkg-types: 1.3.1 + scule: 1.3.0 + strip-literal: 3.0.0 + tinyglobby: 0.2.12 + unplugin: 2.2.0 + unplugin-utils: 0.2.4 - unbzip2-stream@1.4.3: + unique-filename@2.0.1: dependencies: - buffer: 5.7.1 - through: 2.3.8 + unique-slug: 3.0.0 - underscore-plus@1.7.0: + unique-slug@3.0.0: dependencies: - underscore: 1.13.2 - - underscore@1.13.2: {} - - unicode-canonical-property-names-ecmascript@2.0.0: {} + imurmurhash: 0.1.4 - unicode-match-property-ecmascript@2.0.0: + unist-util-is@6.0.0: dependencies: - unicode-canonical-property-names-ecmascript: 2.0.0 - unicode-property-aliases-ecmascript: 2.0.0 - - unicode-match-property-value-ecmascript@2.0.0: {} - - unicode-property-aliases-ecmascript@2.0.0: {} + '@types/unist': 3.0.3 - union-value@1.0.1: + unist-util-stringify-position@4.0.0: dependencies: - arr-union: 3.1.0 - get-value: 2.0.6 - is-extendable: 0.1.1 - set-value: 2.0.1 + '@types/unist': 3.0.3 - uniq@1.0.1: {} - - uniqs@2.0.0: {} + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 - unique-string@2.0.0: + unist-util-visit@5.0.0: dependencies: - crypto-random-string: 2.0.0 + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 universalify@0.1.2: {} - universalify@2.0.0: {} - - unpipe@1.0.0: {} - - unplugin-auto-import@0.6.6(@vueuse/core@8.3.1)(vite@2.9.6)(webpack@5.70.0): - dependencies: - '@antfu/utils': 0.5.0 - '@rollup/pluginutils': 4.2.0 - '@vueuse/core': 8.3.1(vue@3.2.33) - local-pkg: 0.4.1 - magic-string: 0.26.1 - resolve: 1.22.0 - unplugin: 0.4.0(vite@2.9.6)(webpack@5.70.0) - transitivePeerDependencies: - - esbuild - - rollup - - vite - - webpack - - unplugin-icons@0.13.4(vite@2.9.6)(webpack@5.70.0): - dependencies: - '@antfu/install-pkg': 0.1.0 - '@antfu/utils': 0.5.0 - '@iconify/utils': 1.0.26 - debug: 4.3.4(supports-color@9.2.1) - kolorist: 1.5.1 - local-pkg: 0.4.1 - unplugin: 0.4.0(vite@2.9.6)(webpack@5.70.0) - transitivePeerDependencies: - - esbuild - - rollup - - supports-color - - vite - - webpack - - unplugin-vue-components@0.18.1(vite@2.9.6)(vue@3.2.33)(webpack@5.70.0): - dependencies: - '@antfu/utils': 0.5.0 - '@rollup/pluginutils': 4.2.0 - chokidar: 3.5.3 - debug: 4.3.4(supports-color@9.2.1) - fast-glob: 3.2.11 - local-pkg: 0.4.1 - magic-string: 0.26.1 - minimatch: 5.0.1 - resolve: 1.22.0 - unplugin: 0.4.0(vite@2.9.6)(webpack@5.70.0) - vue: 3.2.33 - transitivePeerDependencies: - - esbuild - - rollup - - supports-color - - vite - - webpack + universalify@2.0.1: {} - unplugin@0.4.0(vite@2.9.6)(webpack@5.70.0): + unixify@1.0.0: dependencies: - chokidar: 3.5.3 - vite: 2.9.6(sass@1.45.1) - webpack: 5.70.0 - webpack-virtual-modules: 0.4.3 + normalize-path: 2.1.1 - unquote@1.1.1: {} - - unset-value@1.0.0: + unplugin-auto-import@19.1.0(@vueuse/core@12.7.0(typescript@5.7.3)): dependencies: - has-value: 0.3.1 - isobject: 3.0.1 - - untildify@4.0.0: {} + local-pkg: 1.0.0 + magic-string: 0.30.17 + picomatch: 4.0.2 + unimport: 4.1.2 + unplugin: 2.2.0 + unplugin-utils: 0.2.4 + optionalDependencies: + '@vueuse/core': 12.7.0(typescript@5.7.3) - unzipper@0.10.11: + unplugin-utils@0.2.4: dependencies: - big-integer: 1.6.51 - binary: 0.3.0 - bluebird: 3.4.7 - buffer-indexof-polyfill: 1.0.2 - duplexer2: 0.1.4 - fstream: 1.0.12 - graceful-fs: 4.2.10 - listenercount: 1.0.1 - readable-stream: 2.3.7 - setimmediate: 1.0.5 - - upath@2.0.1: {} + pathe: 2.0.2 + picomatch: 4.0.2 - update-notifier@5.1.0: + unplugin-vue-components@28.4.0(@babel/parser@7.26.7)(vue@3.5.13(typescript@5.7.3)): dependencies: - boxen: 5.1.2 - chalk: 4.1.2 - configstore: 5.0.1 - has-yarn: 2.1.0 - import-lazy: 2.1.0 - is-ci: 2.0.0 - is-installed-globally: 0.4.0 - is-npm: 5.0.0 - is-yarn-global: 0.3.0 - latest-version: 5.1.0 - pupa: 2.1.1 - semver: 7.3.5 - semver-diff: 3.1.1 - xdg-basedir: 4.0.0 + chokidar: 3.6.0 + debug: 4.4.0(supports-color@5.5.0) + local-pkg: 1.0.0 + magic-string: 0.30.17 + mlly: 1.7.4 + tinyglobby: 0.2.10 + unplugin: 2.2.0 + unplugin-utils: 0.2.4 + vue: 3.5.13(typescript@5.7.3) + optionalDependencies: + '@babel/parser': 7.26.7 + transitivePeerDependencies: + - supports-color - uri-js@4.4.1: + unplugin@2.2.0: dependencies: - punycode: 2.1.1 - - urix@0.1.0: {} + acorn: 8.14.0 + webpack-virtual-modules: 0.6.2 - url-parse-lax@3.0.0: + update-browserslist-db@1.1.2(browserslist@4.24.4): dependencies: - prepend-http: 2.0.0 + browserslist: 4.24.4 + escalade: 3.2.0 + picocolors: 1.1.1 - url-to-options@1.0.1: {} - - use@3.1.1: {} - - utf-8-validate@5.0.9: + uri-js@4.4.1: dependencies: - node-gyp-build: 4.3.0 + punycode: 2.3.1 - utf8-byte-length@1.0.4: {} + utf8-byte-length@1.0.5: {} util-deprecate@1.0.2: {} - util.promisify@1.0.1: - dependencies: - define-properties: 1.1.3 - es-abstract: 1.19.1 - has-symbols: 1.0.2 - object.getownpropertydescriptors: 2.1.3 - - util.promisify@1.1.1: - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.4 - for-each: 0.3.3 - has-symbols: 1.0.3 - object.getownpropertydescriptors: 2.1.3 - - utils-merge@1.0.1: {} - - uuid@3.4.0: {} - - uuid@8.3.2: {} - - uuid@9.0.1: {} - - v8-compile-cache@2.3.0: {} + uuid@11.1.0: {} validate-npm-package-license@3.0.4: dependencies: - spdx-correct: 3.1.1 + spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - validate-npm-package-name@3.0.0: - dependencies: - builtins: 1.0.3 - - vary@1.1.2: {} - - vendors@1.0.4: {} - - vercel-toast@1.5.5: {} - - verror@1.10.0: - dependencies: - assert-plus: 1.0.0 - core-util-is: 1.0.2 - extsprintf: 1.3.0 - verror@1.10.1: dependencies: assert-plus: 1.0.0 @@ -15736,257 +10059,103 @@ snapshots: extsprintf: 1.4.1 optional: true - vite@2.9.6(sass@1.45.1): + vite@6.1.1(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)(sass@1.85.1)(yaml@2.7.0): dependencies: - esbuild: 0.14.27 - postcss: 8.4.12 - resolve: 1.22.0 - rollup: 2.70.1 - sass: 1.45.1 + esbuild: 0.24.2 + postcss: 8.5.3 + rollup: 4.34.8 optionalDependencies: - fsevents: 2.3.2 - - void-elements@3.1.0: {} - - vscode-css-languageservice@5.4.2: - dependencies: - vscode-languageserver-textdocument: 1.0.4 - vscode-languageserver-types: 3.16.0 - vscode-nls: 5.0.1 - vscode-uri: 3.0.3 - - vscode-html-languageservice@4.2.5: - dependencies: - vscode-languageserver-textdocument: 1.0.4 - vscode-languageserver-types: 3.16.0 - vscode-nls: 5.0.1 - vscode-uri: 3.0.3 - - vscode-json-languageservice@4.2.1: - dependencies: - jsonc-parser: 3.0.0 - vscode-languageserver-textdocument: 1.0.4 - vscode-languageserver-types: 3.16.0 - vscode-nls: 5.0.1 - vscode-uri: 3.0.3 - - vscode-jsonrpc@8.0.0-next.8: {} - - vscode-languageserver-protocol@3.17.0-next.17: - dependencies: - vscode-jsonrpc: 8.0.0-next.8 - vscode-languageserver-types: 3.17.0-next.10 - - vscode-languageserver-textdocument@1.0.4: {} - - vscode-languageserver-types@3.16.0: {} + '@types/node': 22.13.1 + fsevents: 2.3.3 + jiti: 2.4.2 + lightningcss: 1.29.1 + sass: 1.85.1 + yaml: 2.7.0 - vscode-languageserver-types@3.17.0-next.10: {} + vscode-jsonrpc@8.2.0: {} - vscode-nls@5.0.1: {} - - vscode-pug-languageservice@0.30.6: - dependencies: - '@volar/code-gen': 0.30.6 - '@volar/shared': 0.30.6 - '@volar/source-map': 0.30.6 - '@volar/transforms': 0.30.6 - pug-lexer: 5.0.1 - pug-parser: 6.0.0 - vscode-languageserver-textdocument: 1.0.4 - vscode-languageserver-types: 3.17.0-next.10 - - vscode-typescript-languageservice@0.30.6: + vscode-languageserver-protocol@3.17.5: dependencies: - '@volar/shared': 0.30.6 - semver: 7.3.7 - upath: 2.0.1 - vscode-languageserver-protocol: 3.17.0-next.17 - vscode-languageserver-textdocument: 1.0.4 - vscode-nls: 5.0.1 + vscode-jsonrpc: 8.2.0 + vscode-languageserver-types: 3.17.5 - vscode-uri@2.1.2: {} + vscode-languageserver-textdocument@1.0.12: {} - vscode-uri@3.0.3: {} + vscode-languageserver-types@3.17.5: {} - vscode-vue-languageservice@0.30.6: + vscode-languageserver@9.0.1: dependencies: - '@volar/code-gen': 0.30.6 - '@volar/html2pug': 0.30.6 - '@volar/shared': 0.30.6 - '@volar/source-map': 0.30.6 - '@volar/transforms': 0.30.6 - '@volar/vue-code-gen': 0.30.6 - '@vscode/emmet-helper': 2.8.4 - '@vue/reactivity': 3.2.33 - '@vue/shared': 3.2.33 - upath: 2.0.1 - vscode-css-languageservice: 5.4.2 - vscode-html-languageservice: 4.2.5 - vscode-json-languageservice: 4.2.1 - vscode-languageserver-protocol: 3.17.0-next.17 - vscode-languageserver-textdocument: 1.0.4 - vscode-pug-languageservice: 0.30.6 - vscode-typescript-languageservice: 0.30.6 + vscode-languageserver-protocol: 3.17.5 - vue-codemod@0.0.5: - dependencies: - '@babel/core': 7.16.5 - '@babel/preset-env': 7.16.5(@babel/core@7.16.5) - '@babel/types': 7.16.0 - '@types/jscodeshift': 0.7.2 - '@vue/compiler-core': 3.2.31 - '@vue/compiler-dom': 3.2.33 - debug: 4.3.4(supports-color@9.2.1) - globby: 11.0.4 - inquirer: 7.3.3 - jscodeshift: 0.11.0(@babel/preset-env@7.16.5) - lru-cache: 6.0.0 - source-map: 0.6.1 - yargs: 16.2.0 - transitivePeerDependencies: - - supports-color + vscode-uri@3.0.8: {} - vue-demi@0.12.4(vue@3.2.33): + vue-demi@0.14.10(vue@3.5.13(typescript@5.7.3)): dependencies: - vue: 3.2.33 + vue: 3.5.13(typescript@5.7.3) - vue-eslint-parser@8.0.1(eslint@8.5.0): + vue-eslint-parser@9.4.3(eslint@9.19.0(jiti@2.4.2)): dependencies: - debug: 4.3.4(supports-color@9.2.1) - eslint: 8.5.0 - eslint-scope: 6.0.0 - eslint-visitor-keys: 3.1.0 - espree: 9.2.0 - esquery: 1.4.0 + debug: 4.4.0(supports-color@5.5.0) + eslint: 9.19.0(jiti@2.4.2) + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.6.0 lodash: 4.17.21 - semver: 7.3.5 + semver: 7.7.1 transitivePeerDependencies: - supports-color - vue-resize@2.0.0-alpha.1(vue@3.2.33): + vue-router@4.5.0(vue@3.5.13(typescript@5.7.3)): dependencies: - vue: 3.2.33 + '@vue/devtools-api': 6.6.4 + vue: 3.5.13(typescript@5.7.3) - vue-router@4.0.14(vue@3.2.33): - dependencies: - '@vue/devtools-api': 6.1.3 - vue: 3.2.33 - - vue-tsc@0.30.6(typescript@4.5.4): - dependencies: - '@volar/shared': 0.30.6 - typescript: 4.5.4 - vscode-vue-languageservice: 0.30.6 - - vue3-perfect-scrollbar@1.6.0: - dependencies: - cssnano: 4.1.11 - perfect-scrollbar: 1.5.5 - postcss-import: 12.0.1 - - vue@2.6.14: {} + vue-sonner@1.3.0: {} - vue@3.2.33: + vue3-perfect-scrollbar@2.0.0(vue@3.5.13(typescript@5.7.3)): dependencies: - '@vue/compiler-dom': 3.2.33 - '@vue/compiler-sfc': 3.2.33 - '@vue/runtime-dom': 3.2.33 - '@vue/server-renderer': 3.2.33(vue@3.2.33) - '@vue/shared': 3.2.33 + perfect-scrollbar: 1.5.6 + vue: 3.5.13(typescript@5.7.3) - watch@1.0.2: + vue@3.5.13(typescript@5.7.3): dependencies: - exec-sh: 0.2.2 - minimist: 1.2.5 + '@vue/compiler-dom': 3.5.13 + '@vue/compiler-sfc': 3.5.13 + '@vue/runtime-dom': 3.5.13 + '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.7.3)) + '@vue/shared': 3.5.13 + optionalDependencies: + typescript: 5.7.3 - watchpack@2.3.1: + watchboy@0.4.3: dependencies: - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.10 + lodash.difference: 4.5.0 + micromatch: 4.0.8 + pify: 4.0.1 + unixify: 1.0.0 wcwidth@1.0.1: dependencies: - defaults: 1.0.3 - - webidl-conversions@3.0.1: {} - - webpack-sources@3.2.3: {} - - webpack-virtual-modules@0.4.3: {} - - webpack@5.70.0: - dependencies: - '@types/eslint-scope': 3.7.3 - '@types/estree': 0.0.51 - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/wasm-edit': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - acorn: 8.7.0 - acorn-import-assertions: 1.8.0(acorn@8.7.0) - browserslist: 4.20.2 - chrome-trace-event: 1.0.3 - enhanced-resolve: 5.9.2 - es-module-lexer: 0.9.3 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.9 - json-parse-better-errors: 1.0.2 - loader-runner: 4.2.0 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 3.1.1 - tapable: 2.2.1 - terser-webpack-plugin: 5.3.1(webpack@5.70.0) - watchpack: 2.3.1 - webpack-sources: 3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js + defaults: 1.0.4 - whatwg-url@5.0.0: - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 + webpack-virtual-modules@0.6.2: {} - which-boxed-primitive@1.0.2: + whatwg-encoding@3.1.1: dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.6 - is-string: 1.0.7 - is-symbol: 1.0.4 + iconv-lite: 0.6.3 - which@1.3.1: - dependencies: - isexe: 2.0.0 + whatwg-mimetype@4.0.0: {} which@2.0.2: dependencies: isexe: 2.0.0 - widest-line@3.1.0: + wide-align@1.1.5: dependencies: string-width: 4.2.3 - with@7.0.2: - dependencies: - '@babel/parser': 7.17.9 - '@babel/types': 7.17.0 - assert-never: 1.2.1 - babel-walk: 3.0.0-canary-5 - - word-wrap@1.2.3: {} - - wordwrap@1.0.0: {} - - wrap-ansi@6.2.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 + word-wrap@1.2.5: {} wrap-ansi@7.0.0: dependencies: @@ -15994,49 +10163,25 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - wrappy@1.0.2: {} - - write-file-atomic@2.4.3: - dependencies: - graceful-fs: 4.2.10 - imurmurhash: 0.1.4 - signal-exit: 3.0.6 - - write-file-atomic@3.0.3: - dependencies: - imurmurhash: 0.1.4 - is-typedarray: 1.0.0 - signal-exit: 3.0.6 - typedarray-to-buffer: 3.1.5 - - ws@7.5.7: {} - - ws@8.2.3(utf-8-validate@5.0.9): + wrap-ansi@8.1.0: dependencies: - utf-8-validate: 5.0.9 + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 - xdg-basedir@4.0.0: {} - - xml2js@0.4.23: + wrap-ansi@9.0.0: dependencies: - sax: 1.2.4 - xmlbuilder: 11.0.1 - - xmlbuilder@11.0.1: {} - - xmlbuilder@15.1.1: - optional: true + ansi-styles: 6.2.1 + string-width: 7.2.0 + strip-ansi: 7.1.0 - xmlbuilder@9.0.7: {} + wrappy@1.0.2: {} - xmlhttprequest-ssl@2.0.0: {} + ws@8.18.1: {} - xss@1.0.11: - dependencies: - commander: 2.20.3 - cssfilter: 0.0.10 + xml-name-validator@4.0.0: {} - xtend@4.0.2: {} + xmlbuilder@15.1.1: {} y18n@5.0.8: {} @@ -16046,63 +10191,41 @@ snapshots: yallist@4.0.0: {} - yaml-front-matter@3.4.1: + yaml-eslint-parser@1.2.3: dependencies: - commander: 1.0.0 - js-yaml: 3.14.1 - - yaml@1.10.2: {} - - yargs-parser@20.2.9: {} - - yargs-parser@21.0.0: {} - - yargs-parser@21.0.1: {} + eslint-visitor-keys: 3.4.3 + lodash: 4.17.21 + yaml: 2.7.0 - yargs@16.2.0: - dependencies: - cliui: 7.0.4 - escalade: 3.1.1 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 20.2.9 + yaml@2.7.0: {} - yargs@17.3.1: - dependencies: - cliui: 7.0.4 - escalade: 3.1.1 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.0.0 + yargs-parser@21.1.1: {} - yargs@17.5.1: + yargs@17.7.2: dependencies: - cliui: 7.0.4 - escalade: 3.1.1 + cliui: 8.0.1 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 y18n: 5.0.8 - yargs-parser: 21.0.1 + yargs-parser: 21.1.1 yauzl@2.10.0: dependencies: buffer-crc32: 0.2.13 fd-slicer: 1.1.0 - yeast@0.1.2: {} + yocto-queue@0.1.0: {} - yn@3.1.1: {} + yocto-queue@1.1.1: {} - yocto-queue@0.1.0: {} + zhead@2.2.4: {} - zen-observable-ts@0.8.21: + zip-stream@4.1.1: dependencies: - tslib: 1.14.1 - zen-observable: 0.8.15 + archiver-utils: 3.0.4 + compress-commons: 4.1.2 + readable-stream: 3.6.2 - zen-observable@0.8.15: {} + zwitch@2.0.4: {} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 00000000..52b9b4ba --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,5 @@ +module.exports = { + plugins: { + '@tailwindcss/postcss': {}, + }, +} diff --git a/preview.png b/preview.png deleted file mode 100644 index a3127472..00000000 Binary files a/preview.png and /dev/null differ diff --git a/scripts/api-generate.js b/scripts/api-generate.js new file mode 100644 index 00000000..5f19cd0f --- /dev/null +++ b/scripts/api-generate.js @@ -0,0 +1,20 @@ +const child_process = require('node:child_process') +const { styleText } = require('node:util') + +const url = `http://localhost:4321/swagger/json` + +async function generateApi() { + try { + console.log(styleText('blue', 'Generating API...')) + child_process.execSync( + `npx swagger-typescript-api@13.0.23 -p ${url} -o ./src/renderer/services/api/generated -n index.ts`, + ) + console.log(styleText('green', 'API is successfully generated')) + } + catch (err) { + console.log(styleText('red', 'Error generating API')) + console.log(err) + } +} + +generateApi() diff --git a/scripts/build-electron.ts b/scripts/build-electron.ts deleted file mode 100644 index 966c7e7c..00000000 --- a/scripts/build-electron.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { build } from 'electron-builder' -import config from '../config/electron-builder' - -export default function () { - return build({ config }) -} diff --git a/scripts/build-vue.ts b/scripts/build-vue.ts deleted file mode 100644 index 33442fd4..00000000 --- a/scripts/build-vue.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { build } from 'vite' -import config from '../config/vite' - -export default function () { - return build({ - base: './', - ...config, - mode: 'production' - }) -} diff --git a/scripts/build.ts b/scripts/build.ts deleted file mode 100644 index 87389246..00000000 --- a/scripts/build.ts +++ /dev/null @@ -1,24 +0,0 @@ -import buildVue from './build-vue' -import buildElectron from './build-electron' -import chalk from 'chalk' - -const isTestBuild = process.env.TEST_BUILD === 'true' - -process.env.NODE_ENV = 'production' - -const buildType = isTestBuild ? 'Test' : 'Production' - -async function build () { - console.log() - console.log(`${chalk.blueBright(`${buildType} build started...`)}`) - console.log() - - await buildVue() - await buildElectron() - - console.log() - console.log(`${chalk.greenBright(`${buildType} build success!`)}`) - console.log() -} - -build() diff --git a/scripts/copy-locales.js b/scripts/copy-locales.js new file mode 100644 index 00000000..b2d506f5 --- /dev/null +++ b/scripts/copy-locales.js @@ -0,0 +1,32 @@ +const fs = require('node:fs') +const path = require('node:path') +const { styleText } = require('node:util') + +const sourceDir = path.join(__dirname, '../src/main/i18n/locales') +const targetDir = path.join(__dirname, '../build/main/i18n/locales') + +function copyDirRecursive(sourceDir, targetDir) { + if (!fs.existsSync(targetDir)) { + fs.mkdirSync(targetDir, { recursive: true }) + } + + const files = fs.readdirSync(sourceDir) + + for (const file of files) { + const sourcePath = path.join(sourceDir, file) + const targetPath = path.join(targetDir, file) + + const stat = fs.statSync(sourcePath) + + if (stat.isDirectory()) { + copyDirRecursive(sourcePath, targetPath) + } + else { + fs.copyFileSync(sourcePath, targetPath) + } + } +} + +console.log(styleText('blue', 'Localization files copying...')) +copyDirRecursive(sourceDir, targetDir) +console.log(styleText('green', 'Localization files copying completed')) diff --git a/scripts/dev-server.ts b/scripts/dev-server.ts deleted file mode 100644 index 03a08d3e..00000000 --- a/scripts/dev-server.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { spawn } from 'child_process' -import type { ChildProcess } from 'child_process' -import path from 'path' -import chalk from 'chalk' -import chokidar from 'chokidar' -import { createServer } from 'vite' -import viteConfig from '../config/vite' - -process.env.NODE_ENV = 'development' - -let electronProcess: ChildProcess | null -let rendererPort: number | undefined = 0 - -async function startRenderer () { - const server = await createServer({ - ...viteConfig, - mode: 'development' - }) - - return await server.listen() -} - -function startElectron () { - if (electronProcess) return - - electronProcess = spawn('electron', ['.', (rendererPort || 0).toString()], { - shell: true - }) - - electronProcess?.stdout?.on('data', data => { - console.log(chalk.blueBright('[Electron] ') + chalk.white(data.toString())) - }) - - electronProcess?.stderr?.on('data', data => { - console.log(chalk.redBright('[Electron] ') + chalk.white(data.toString())) - }) - - electronProcess?.on('error', error => { - console.log(chalk.redBright('[Electron] ', error)) - }) -} - -function restartElectron () { - if (electronProcess) { - electronProcess.kill() - electronProcess = null - } - - startElectron() -} - -async function start () { - console.log() - console.log(`${chalk.blueBright('Starting Electron + Vite Dev Server...')}`) - console.log() - - const devServer = await startRenderer() - rendererPort = devServer.config.server.port - - startElectron() - - chokidar - .watch(path.resolve(__dirname, '../src/main'), { - ignored: ['renderer'] - }) - .on('change', () => { - restartElectron() - }) -} - -start() diff --git a/scripts/generate-language-readme.ts b/scripts/generate-language-readme.ts deleted file mode 100644 index c7574012..00000000 --- a/scripts/generate-language-readme.ts +++ /dev/null @@ -1,28 +0,0 @@ -import fs from 'fs-extra' -import { join } from 'path' -import Handlebars from 'handlebars' -import { languages } from '../src/renderer/components/editor/languages' - -const sorted = languages.sort((a, b) => - a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1 -) - -const source = `# Languages list - -This is a list of language that supports in massCode. - -{{#each sorted}} -- {{this.name}} -{{/each}} -` - -const template = Handlebars.compile(source) -const result = template({ sorted }) - -fs.writeFile( - join(__dirname, '../../src/renderer/components/editor/README.md'), - result, - { encoding: 'utf-8' } -) - -console.log(`Total languages: ${languages.length}`) diff --git a/scripts/notarize.ts b/scripts/notarize.ts deleted file mode 100644 index 8ec478dc..00000000 --- a/scripts/notarize.ts +++ /dev/null @@ -1,22 +0,0 @@ -import 'dotenv/config' -import { notarize } from 'electron-notarize' -import type { AfterPackContext } from 'electron-builder' - -const notarizing = async (context: AfterPackContext) => { - const { electronPlatformName, appOutDir } = context - - if (electronPlatformName !== 'darwin') { - return - } - - const appName = context.packager.appInfo.productFilename - - return await notarize({ - appBundleId: 'io.masscode.app', - appPath: `${appOutDir}/${appName}.app`, - appleId: process.env.APPLE_ID!, - appleIdPassword: process.env.APPLE_ID_PASSWORD! - }) -} - -export default notarizing diff --git a/src/main/api/dto/common/query.ts b/src/main/api/dto/common/query.ts new file mode 100644 index 00000000..f0f5fc05 --- /dev/null +++ b/src/main/api/dto/common/query.ts @@ -0,0 +1,14 @@ +import { t } from 'elysia' + +const Order = { + ASC: 'ASC', + DESC: 'DESC', +} as const + +export const commonQuery = t.Optional( + t.Object({ + search: t.Optional(t.String()), + sort: t.Optional(t.String()), + order: t.Optional(t.Enum(Order)), + }), +) diff --git a/src/main/api/dto/common/response.ts b/src/main/api/dto/common/response.ts new file mode 100644 index 00000000..078f8cec --- /dev/null +++ b/src/main/api/dto/common/response.ts @@ -0,0 +1,5 @@ +import { t } from 'elysia' + +export const commonAddResponse = t.Object({ + id: t.Union([t.Number(), t.BigInt()]), +}) diff --git a/src/main/api/dto/folders.ts b/src/main/api/dto/folders.ts new file mode 100644 index 00000000..9f2dca9c --- /dev/null +++ b/src/main/api/dto/folders.ts @@ -0,0 +1,48 @@ +import Elysia, { t } from 'elysia' + +const foldersAdd = t.Object({ + name: t.String(), +}) + +const foldersUpdate = t.Object({ + name: t.Optional(t.String()), + icon: t.Optional(t.Union([t.String(), t.Null()])), + defaultLanguage: t.Optional(t.String()), + parentId: t.Optional(t.Union([t.Number(), t.Null()])), + isOpen: t.Optional(t.Number({ minimum: 0, maximum: 1 })), + orderIndex: t.Optional(t.Number()), +}) + +const foldersItem = t.Object({ + id: t.Number(), + name: t.String(), + createdAt: t.Number(), + updatedAt: t.Number(), + icon: t.Union([t.String(), t.Null()]), + parentId: t.Union([t.Number(), t.Null()]), + isOpen: t.Number(), + defaultLanguage: t.String(), + orderIndex: t.Number(), +}) + +const foldersItemWithChildren = t.Recursive(This => + t.Object({ + ...foldersItem.properties, + children: t.Array(This), + }), +) + +const foldersResponse = t.Array(foldersItem) +const foldersTreeResponse = t.Array(foldersItemWithChildren) + +export const foldersDTO = new Elysia().model({ + foldersAdd, + foldersResponse, + foldersUpdate, + foldersTreeResponse, +}) + +export type FoldersAdd = typeof foldersAdd.static +export type FoldersResponse = typeof foldersResponse.static +export type FoldersTree = typeof foldersTreeResponse.static +export type FoldersItem = typeof foldersItem.static diff --git a/src/main/api/dto/snippet-contents.ts b/src/main/api/dto/snippet-contents.ts new file mode 100644 index 00000000..fcc27adc --- /dev/null +++ b/src/main/api/dto/snippet-contents.ts @@ -0,0 +1,14 @@ +import Elysia, { t } from 'elysia' + +const snippetContentsAdd = t.Object({ + snippetId: t.Number(), + label: t.Union([t.String(), t.Null()]), + value: t.Union([t.String(), t.Null()]), + language: t.String(), +}) + +export const snippetContentsDTO = new Elysia().model({ + snippetContentsAdd, +}) + +export type SnippetContentsAdd = typeof snippetContentsAdd.static diff --git a/src/main/api/dto/snippets.ts b/src/main/api/dto/snippets.ts new file mode 100644 index 00000000..6ed63ffb --- /dev/null +++ b/src/main/api/dto/snippets.ts @@ -0,0 +1,85 @@ +import Elysia, { t } from 'elysia' +import { commonQuery } from './common/query' + +const snippetsAdd = t.Object({ + name: t.String(), + folderId: t.Optional(t.Union([t.Number(), t.Null()])), +}) + +const snippetsUpdate = t.Object({ + name: t.Optional(t.String()), + folderId: t.Optional(t.Union([t.Number(), t.Null()])), + description: t.Optional(t.Union([t.String(), t.Null()])), + isDeleted: t.Optional(t.Number({ minimum: 0, maximum: 1 })), + isFavorites: t.Optional(t.Number({ minimum: 0, maximum: 1 })), +}) + +const snippetContentsAdd = t.Object({ + label: t.String(), + value: t.Union([t.String(), t.Null()]), + language: t.String(), // TODO: enum +}) + +const snippetContentsUpdate = t.Object({ + label: t.Optional(t.String()), + value: t.Optional(t.Union([t.String(), t.Null()])), + language: t.Optional(t.String()), // TODO: enum +}) + +const snippetItem = t.Object({ + id: t.Number(), + name: t.String(), + description: t.Union([t.String(), t.Null()]), + tags: t.Array( + t.Object({ + id: t.Number(), + name: t.String(), + }), + ), + folder: t.Nullable( + t.Object({ + id: t.Number(), + name: t.String(), + }), + ), + contents: t.Array( + t.Object({ + id: t.Number(), + label: t.String(), + value: t.Union([t.String(), t.Null()]), + language: t.String(), + }), + ), + isFavorites: t.Number(), + isDeleted: t.Number(), + createdAt: t.Number(), + updatedAt: t.Number(), +}) + +const snippetsResponse = t.Array(snippetItem) + +const snippetsCountsResponse = t.Object({ + total: t.Number(), + trash: t.Number(), +}) + +export const snippetsDTO = new Elysia().model({ + snippetContentsAdd, + snippetContentsUpdate, + snippetsAdd, + snippetsUpdate, + snippetsCountsResponse, + snippetsQuery: t.Object({ + ...commonQuery.properties, + folderId: t.Optional(t.Number()), + tagId: t.Optional(t.Number()), + isFavorites: t.Optional(t.Number({ minimum: 0, maximum: 1 })), + isDeleted: t.Optional(t.Number({ minimum: 0, maximum: 1 })), + isInbox: t.Optional(t.Number({ minimum: 0, maximum: 1 })), + }), + snippetsResponse, +}) + +export type SnippetsAdd = typeof snippetsAdd.static +export type SnippetsResponse = typeof snippetsResponse.static +export type SnippetsCountsResponse = typeof snippetsCountsResponse.static diff --git a/src/main/api/dto/tags.ts b/src/main/api/dto/tags.ts new file mode 100644 index 00000000..326ca89b --- /dev/null +++ b/src/main/api/dto/tags.ts @@ -0,0 +1,24 @@ +import Elysia, { t } from 'elysia' + +const tagsAdd = t.Object({ + name: t.String(), +}) + +const tagsItem = t.Object({ + id: t.Number(), + name: t.String(), +}) + +export const tagsResponse = t.Array(tagsItem) +export const tagsAddResponse = t.Object({ + id: t.Number(), +}) + +export const tagsDTO = new Elysia().model({ + tagsAdd, + tagsResponse, + tagsAddResponse, +}) + +export type TagsAdd = typeof tagsAdd.static +export type TagsResponse = typeof tagsResponse.static diff --git a/src/main/api/index.ts b/src/main/api/index.ts new file mode 100644 index 00000000..5dc7fff5 --- /dev/null +++ b/src/main/api/index.ts @@ -0,0 +1,34 @@ +import { cors } from '@elysiajs/cors' +import { node } from '@elysiajs/node' +import { swagger } from '@elysiajs/swagger' +import { app as electronApp } from 'electron' +import { Elysia } from 'elysia' +import { store } from '../store' +import folders from './routes/folders' +import snippets from './routes/snippets' +import tags from './routes/tags' + +export function initApi() { + const app = new Elysia({ adapter: node() }) + const port = store.preferences.get('apiPort') + + app + .use(cors({ origin: '*' })) + .use( + swagger({ + documentation: { + info: { + title: 'massCode API', + version: electronApp.getVersion(), + }, + }, + }), + ) + .use(snippets) + .use(folders) + .use(tags) + .listen(port) + + // eslint-disable-next-line no-console + console.log(`\nAPI started on port ${port}\n`) +} diff --git a/src/main/api/routes/folders.ts b/src/main/api/routes/folders.ts new file mode 100644 index 00000000..e7ffcc74 --- /dev/null +++ b/src/main/api/routes/folders.ts @@ -0,0 +1,383 @@ +import type { FoldersResponse, FoldersTree } from '../dto/folders' +import { Elysia } from 'elysia' +import { useDB } from '../../db' +import { commonAddResponse } from '../dto/common/response' +import { foldersDTO } from '../dto/folders' + +const app = new Elysia({ prefix: '/folders' }) + +app + .use(foldersDTO) + // Получение списка папок + .get( + '/', + () => { + const db = useDB() + const stmt = db.prepare(` + SELECT + id, + name, + defaultLanguage, + parentId, + orderIndex, + isOpen, + icon, + createdAt, + updatedAt + FROM folders + ORDER BY createdAt DESC + `) + + const result = stmt.all() + + return result as FoldersResponse + }, + { + response: 'foldersResponse', + detail: { + tags: ['Folders'], + }, + }, + ) + // Получение папок в виде древовидной структуры + .get( + '/tree', + () => { + const db = useDB() + const allFolders = db + .prepare( + ` + SELECT * + FROM folders + ORDER BY parentId, orderIndex + `, + ) + .all() as FoldersTree + + // Создаем карту для быстрого доступа к папкам по id + const folderMap = new Map() + + allFolders.forEach((folder) => { + folder.children = [] + folderMap.set(folder.id, folder) + }) + + const rootFolders: FoldersTree = [] + + allFolders.forEach((folder) => { + if (folder.parentId === null) { + rootFolders.push(folder) + } + else { + const parent = folderMap.get(folder.parentId) + if (parent) { + parent.children.push(folder) + } + } + }) + + return rootFolders + }, + { + response: 'foldersTreeResponse', + detail: { + tags: ['Folders'], + }, + }, + ) + // Добавление папки + .post( + '/', + ({ body }) => { + const db = useDB() + const { name } = body + const now = Date.now() + + const { maxOrder } = db + .prepare( + ` + SELECT COALESCE(MAX(orderIndex), -1) as maxOrder + FROM folders + WHERE parentId IS NULL + `, + ) + .get() as { maxOrder: number } + + const newOrder = maxOrder + 1 + + const stmt = db.prepare(` + INSERT INTO folders ( + name, + defaultLanguage, + parentId, + isOpen, + createdAt, + updatedAt, + orderIndex + ) VALUES (?, ?, ?, ?, ?, ?, ?) + `) + + const { lastInsertRowid } = stmt.run( + name, + 'plain_text', + null, + 0, + now, + now, + newOrder, + ) + + return { id: lastInsertRowid } + }, + { + body: 'foldersAdd', + response: commonAddResponse, + detail: { + tags: ['Folders'], + }, + }, + ) + // Обновление папки + .patch( + '/:id', + ({ params, body, error }) => { + const db = useDB() + const { id } = params + const now = Date.now() + + const updateFields: string[] = [] + const updateParams: any[] = [] + let needOrderUpdate = false + let newParentId: number | null | undefined + let newOrderIndex: number | undefined + + if ('name' in body) { + updateFields.push('name = ?') + updateParams.push(body.name) + } + + if ('icon' in body) { + updateFields.push('icon = ?') + updateParams.push(body.icon) + } + + if ('defaultLanguage' in body) { + updateFields.push('defaultLanguage = ?') + updateParams.push(body.defaultLanguage) + } + + if ('isOpen' in body) { + updateFields.push('isOpen = ?') + updateParams.push(body.isOpen) + } + + if ('parentId' in body) { + updateFields.push('parentId = ?') + updateParams.push(body.parentId) + newParentId = body.parentId + needOrderUpdate = true + } + + if ('orderIndex' in body) { + updateFields.push('orderIndex = ?') + updateParams.push(body.orderIndex) + newOrderIndex = body.orderIndex + needOrderUpdate = true + } + + if (updateFields.length === 0) { + return error(400, { message: 'Need at least one field to update' }) + } + + updateFields.push('updatedAt = ?') + + updateParams.push(now) + updateParams.push(id) + + const transaction = db.transaction(() => { + // Получаем текущие данные папки + const folder = db + .prepare('SELECT parentId, orderIndex FROM folders WHERE id = ?') + .get(id) as + | { parentId: number | null, orderIndex: number } + | undefined + + if (!folder) { + return error(404, { message: 'Folder not found' }) + } + + // Обновляем порядок, только если изменился родитель или индекс + if (needOrderUpdate) { + const currentParentId = folder.parentId + const currentOrderIndex = folder.orderIndex + const targetParentId + = newParentId === undefined ? currentParentId : newParentId + const targetOrderIndex + = newOrderIndex === undefined ? currentOrderIndex : newOrderIndex + + if ( + targetParentId !== currentParentId + || targetOrderIndex !== currentOrderIndex + ) { + if (targetParentId === currentParentId) { + // Перемещение в пределах одного родителя + if (targetOrderIndex > currentOrderIndex) { + // Двигаем вниз - уменьшаем индексы папок между старой и новой позицией + db.prepare( + `UPDATE folders + SET orderIndex = orderIndex - 1 + WHERE parentId ${currentParentId === null ? 'IS NULL' : '= ?'} + AND orderIndex > ? + AND orderIndex <= ?`, + ).run( + ...(currentParentId === null + ? [currentOrderIndex, targetOrderIndex] + : [currentParentId, currentOrderIndex, targetOrderIndex]), + ) + } + else { + // Двигаем вверх - увеличиваем индексы папок между новой и старой позицией + db.prepare( + `UPDATE folders + SET orderIndex = orderIndex + 1 + WHERE parentId ${currentParentId === null ? 'IS NULL' : '= ?'} + AND orderIndex >= ? + AND orderIndex < ?`, + ).run( + ...(currentParentId === null + ? [targetOrderIndex, currentOrderIndex] + : [currentParentId, targetOrderIndex, currentOrderIndex]), + ) + } + } + else { + // Перемещение между разными родителями + // 1. Обновляем индексы в старом родителе + db.prepare( + `UPDATE folders + SET orderIndex = orderIndex - 1 + WHERE parentId ${currentParentId === null ? 'IS NULL' : '= ?'} + AND orderIndex > ?`, + ).run( + ...(currentParentId === null + ? [currentOrderIndex] + : [currentParentId, currentOrderIndex]), + ) + + // 2. Обновляем индексы в новом родителе + db.prepare( + `UPDATE folders + SET orderIndex = orderIndex + 1 + WHERE parentId ${targetParentId === null ? 'IS NULL' : '= ?'} + AND orderIndex >= ?`, + ).run( + ...(targetParentId === null + ? [targetOrderIndex] + : [targetParentId, targetOrderIndex]), + ) + } + } + } + + // Обновляем саму папку + const updateStmt = db.prepare(` + UPDATE folders SET ${updateFields.join(', ')} WHERE id = ? + `) + updateStmt.run(...updateParams) + }) + + transaction() + + return { message: 'Folder updated' } + }, + { + body: 'foldersUpdate', + detail: { + tags: ['Folders'], + }, + }, + ) + // Удаление папки + .delete( + '/:id', + ({ params, error }) => { + const db = useDB() + const { id } = params + + const folder = db + .prepare( + ` + SELECT id FROM folders WHERE id = ? + `, + ) + .get(id) + + if (!folder) { + return error(404, { message: 'Folder not found' }) + } + + const transaction = db.transaction(() => { + // Находим все вложенные папки рекурсивно + const findAllSubfolders = (parentId: number): number[] => { + // Получаем непосредственные дочерние папки + const childFolders = db + .prepare( + ` + SELECT id FROM folders WHERE parentId = ? + `, + ) + .all(parentId) as { id: number }[] + + // Рекурсивно собираем ID всех вложенных папок + let allSubfolders: number[] = childFolders.map(f => f.id) + + for (const folder of childFolders) { + allSubfolders = allSubfolders.concat(findAllSubfolders(folder.id)) + } + + return allSubfolders + } + + // Получаем все вложенные папки + const subfolderIds = findAllSubfolders(Number(id)) + const allFolderIds = [Number(id), ...subfolderIds] + + // Мягкое удаление сниппетов во всех папках, а также удаляем связь с папками + db.prepare( + ` + UPDATE snippets + SET isDeleted = 1, + folderId = null + WHERE folderId IN (${allFolderIds.join(',')}) + `, + ).run() + + // Удаляем все вложенные папки + if (subfolderIds.length > 0) { + db.prepare( + ` + DELETE FROM folders WHERE id IN (${subfolderIds.join(',')}) + `, + ).run() + } + + // Удаляем основную папку + db.prepare( + ` + DELETE FROM folders WHERE id = ? + `, + ).run(id) + }) + + transaction() + + return { message: 'Folder deleted' } + }, + { + detail: { + tags: ['Folders'], + }, + }, + ) + +export default app diff --git a/src/main/api/routes/snippets.ts b/src/main/api/routes/snippets.ts new file mode 100644 index 00000000..a8888d8f --- /dev/null +++ b/src/main/api/routes/snippets.ts @@ -0,0 +1,610 @@ +import type { SnippetsCountsResponse, SnippetsResponse } from '../dto/snippets' +import Elysia from 'elysia' +import { useDB } from '../../db' +import { commonAddResponse } from '../dto/common/response' +import { snippetsDTO } from '../dto/snippets' + +const app = new Elysia({ prefix: '/snippets' }) + +app + .use(snippetsDTO) + // Получение списка сниппетов c возможностью фильтрации + .get( + '/', + ({ query }) => { + const db = useDB() + const { + search, + order, + folderId, + tagId, + isFavorites, + isDeleted, + isInbox, + } = query + const searchQuery = search ? `%${query.search}%` : undefined + + const WHERE: any[] = [] + const ORDER = order || 'DESC' + const params: any[] = [] + + if (searchQuery) { + WHERE.push(`( + unicode_lower(s.name) LIKE unicode_lower(?) OR + unicode_lower(s.description) LIKE unicode_lower(?) OR + EXISTS ( + SELECT 1 FROM snippet_contents sc + WHERE sc.snippetId = s.id AND unicode_lower(sc.value) LIKE unicode_lower(?) + ) + )`) + params.push(searchQuery, searchQuery, searchQuery) + } + + if (folderId) { + WHERE.push('s.folderId = ?') + params.push(folderId) + } + else if (isInbox) { + WHERE.push('s.folderId IS NULL') + } + + if (tagId) { + WHERE.push( + 'EXISTS (SELECT 1 FROM snippet_tags st2 WHERE st2.snippetId = s.id AND st2.tagId = ?)', + ) + params.push(tagId) + } + + if (isFavorites) { + WHERE.push('s.isFavorites = 1') + } + + if (isDeleted) { + WHERE.push('s.isDeleted = 1') + } + else { + WHERE.push('s.isDeleted = 0') + } + + const whereCondition = WHERE.length ? `WHERE ${WHERE.join(' AND ')}` : '' + + const stmt = db.prepare(` + WITH snippet_contents_data AS ( + SELECT + snippetId, + json_group_array( + json_object( + 'id', id, + 'label', label, + 'value', value, + 'language', language + ) + ) as contents + FROM snippet_contents + GROUP BY snippetId + ), + snippet_data AS ( + SELECT + s.id, + s.name, + s.description, + s.isFavorites, + s.isDeleted, + s.createdAt, + s.updatedAt, + CASE + WHEN f.id IS NOT NULL THEN json_object( + 'id', f.id, + 'name', f.name + ) + ELSE NULL + END as folder, + json_group_array( + json_object( + 'id', t.id, + 'name', t.name + ) + ) FILTER (WHERE t.id IS NOT NULL) as tags, + COALESCE(scd.contents, '[]') as contents + FROM snippets s + LEFT JOIN folders f ON s.folderId = f.id + LEFT JOIN snippet_tags st ON s.id = st.snippetId + LEFT JOIN tags t ON st.tagId = t.id + LEFT JOIN snippet_contents_data scd ON s.id = scd.snippetId + ${whereCondition} + GROUP BY s.id + ) + SELECT + id, + name, + description, + isFavorites, + isDeleted, + folder, + tags, + contents, + createdAt, + updatedAt + FROM snippet_data + ORDER BY createdAt ${ORDER} + `) + + const result = stmt.all(...params) as SnippetsResponse + + result.forEach((snippet) => { + snippet.contents = JSON.parse(snippet.contents as unknown as string) + snippet.tags = JSON.parse(snippet.tags as unknown as string) + snippet.folder = JSON.parse(snippet.folder as unknown as string) + }) + + return result + }, + { + query: 'snippetsQuery', + response: 'snippetsResponse', + detail: { + tags: ['Snippets'], + }, + }, + ) + // Получение кол-ва сниппетов + .get( + '/counts', + () => { + const db = useDB() + + const stmt = db.prepare(` + SELECT + COUNT(*) as total, + COALESCE(SUM(CASE WHEN isDeleted = 1 THEN 1 ELSE 0 END), 0) as trash + FROM snippets + `) + + return stmt.get() as SnippetsCountsResponse + }, + { + response: 'snippetsCountsResponse', + detail: { + tags: ['Snippets'], + }, + }, + ) + // Создание сниппета + .post( + '/', + ({ body }) => { + const db = useDB() + const { name, folderId } = body + + const stmt = db.prepare(` + INSERT INTO snippets (name, description, folderId, isDeleted, isFavorites, createdAt, updatedAt) + VALUES (?, ?, ?, ?, ?, ?, ?) + `) + + const now = new Date().getTime() + + const { lastInsertRowid } = stmt.run( + name, + null, + folderId, + 0, + 0, + now, + now, + ) + + return { id: lastInsertRowid } + }, + { + body: 'snippetsAdd', + response: commonAddResponse, + detail: { + tags: ['Snippets'], + }, + }, + ) + // Добавление содержимого сниппета + .post( + '/:id/contents', + ({ params, body }) => { + const db = useDB() + const { id } = params + const { label, value, language } = body + + const stmt = db.prepare(` + INSERT INTO snippet_contents (snippetId, label, value, language) + VALUES (?, ?, ?, ?) + `) + + const result = stmt.run(id, label, value || null, language) + + return { id: result.lastInsertRowid } + }, + { + body: 'snippetContentsAdd', + response: commonAddResponse, + detail: { + tags: ['Snippets'], + }, + }, + ) + // Обновление сниппета + .patch( + '/:id', + ({ params, body, error }) => { + const db = useDB() + const { id } = params + + const updateFields: string[] = [] + const updateParams: any[] = [] + + if ('name' in body) { + updateFields.push('name = ?') + updateParams.push(body.name) + } + + if ('description' in body) { + updateFields.push('description = ?') + updateParams.push(body.description) + } + + if ('folderId' in body) { + updateFields.push('folderId = ?') + updateParams.push(body.folderId) + } + + if ('isFavorites' in body) { + updateFields.push('isFavorites = ?') + updateParams.push(body.isFavorites) + } + + if ('isDeleted' in body) { + updateFields.push('isDeleted = ?') + updateParams.push(body.isDeleted) + } + + if (updateFields.length === 0) { + return error(400, { message: 'Need at least one field to update' }) + } + + updateFields.push('updatedAt = ?') + + const now = new Date().getTime() + + updateParams.push(now) + updateParams.push(id) + + const stmt = db.prepare(` + UPDATE snippets SET + ${updateFields.join(', ')} + WHERE id = ? + `) + + const result = stmt.run(...updateParams) + + if (!result.changes) { + return error(404, { message: 'Snippet not found' }) + } + + return { message: 'Snippet updated' } + }, + { + body: 'snippetsUpdate', + detail: { + tags: ['Snippets'], + }, + }, + ) + // Обновление содержимого сниппета + .patch( + '/:id/contents/:contentId', + ({ params, body, error }) => { + const db = useDB() + const { id, contentId } = params + + const updateFields: string[] = [] + const updateParams: any[] = [] + + if ('label' in body) { + updateFields.push('label = ?') + updateParams.push(body.label) + } + + if ('value' in body) { + updateFields.push('value = ?') + updateParams.push(body.value) + } + + if ('language' in body) { + updateFields.push('language = ?') + updateParams.push(body.language) + } + + if (updateFields.length === 0) { + return error(400, { message: 'Need at least one field to update' }) + } + + updateParams.push(contentId) + + const contentsStmt = db.prepare(` + UPDATE snippet_contents SET + ${updateFields.join(', ')} + WHERE id = ? + `) + + const contentsResult = contentsStmt.run(...updateParams) + + if (!contentsResult.changes) { + return error(404, { message: 'Snippet content not found' }) + } + + // Обновляем дату сниппета только если были реальные изменения в данных + if (contentsResult.changes > 0) { + const snippetsStmt = db.prepare(` + UPDATE snippets SET updatedAt = ? WHERE id = ? + `) + + const now = new Date().getTime() + const snippetResult = snippetsStmt.run(now, id) + + if (!snippetResult.changes) { + return error(404, { message: 'Snippet not found' }) + } + } + + return { message: 'Snippet content updated' } + }, + { + body: 'snippetContentsUpdate', + detail: { + tags: ['Snippets'], + }, + }, + ) + // Добавление тега к сниппету + .post( + '/:id/tags/:tagId', + ({ params, error }) => { + const db = useDB() + const { id, tagId } = params + + // Проверяем, существует ли сниппет + const snippet = db + .prepare( + ` + SELECT id FROM snippets WHERE id = ? + `, + ) + .get(id) + + if (!snippet) { + return error(404, { message: 'Snippet not found' }) + } + + // Проверяем, существует ли тег + const tag = db + .prepare( + ` + SELECT id FROM tags WHERE id = ? + `, + ) + .get(tagId) + + if (!tag) { + return error(404, { message: 'Tag not found' }) + } + + // Добавляем связь между сниппетом и тегом + const stmt = db.prepare( + ` + INSERT INTO snippet_tags (snippetId, tagId) + VALUES (?, ?) + `, + ) + + stmt.run(id, tagId) + + return { message: 'Tag added to snippet' } + }, + { + detail: { + tags: ['Snippets'], + }, + }, + ) + // Удаление тега из сниппета + .delete( + '/:id/tags/:tagId', + ({ params, error }) => { + const db = useDB() + const { id, tagId } = params + + // Проверяем, существует ли сниппет + const snippet = db + .prepare( + ` + SELECT id FROM snippets WHERE id = ? + `, + ) + .get(id) + + if (!snippet) { + return error(404, { message: 'Snippet not found' }) + } + + // Проверяем, существует ли тег + const tag = db + .prepare( + ` + SELECT id FROM tags WHERE id = ? + `, + ) + .get(tagId) + + if (!tag) { + return error(404, { message: 'Tag not found' }) + } + + // Удаляем связь между сниппетом и тегом + const stmt = db.prepare( + ` + DELETE FROM snippet_tags + WHERE snippetId = ? AND tagId = ? + `, + ) + + const result = stmt.run(id, tagId) + + if (!result.changes) { + return error(404, { + message: 'Tag is not associated with this snippet', + }) + } + + return { message: 'Tag removed from snippet' } + }, + { + detail: { + tags: ['Snippets'], + }, + }, + ) + // Удаление сниппета + .delete( + '/:id', + ({ params, error }) => { + const db = useDB() + const { id } = params + + const snippet = db + .prepare( + ` + SELECT id FROM snippets WHERE id = ? + `, + ) + .get(id) + + if (!snippet) { + return error(404, { message: 'Snippet not found' }) + } + + const transaction = db.transaction(() => { + // Удаляем связи с тегами + db.prepare( + ` + DELETE FROM snippet_tags WHERE snippetId = ? + `, + ).run(id) + + // Удаляем содержимое сниппета + db.prepare( + ` + DELETE FROM snippet_contents WHERE snippetId = ? + `, + ).run(id) + + // Удаляем сам сниппет + db.prepare( + ` + DELETE FROM snippets WHERE id = ? + `, + ).run(id) + }) + + transaction() + + return { message: 'Snippet deleted' } + }, + { + detail: { + tags: ['Snippets'], + }, + }, + ) + // Удаление всех сниппетов в корзине + .delete( + '/trash', + ({ error }) => { + const db = useDB() + const deletedSnippets = db + .prepare( + ` + SELECT id FROM snippets WHERE isDeleted = 1 + `, + ) + .all() as { id: number }[] + + if (deletedSnippets.length === 0) { + return error(404, { message: 'No snippets in trash' }) + } + + const transaction = db.transaction(() => { + // Удаляем связи с тегами для всех сниппетов из корзины + db.prepare( + ` + DELETE FROM snippet_tags + WHERE snippetId IN (SELECT id FROM snippets WHERE isDeleted = 1) + `, + ).run() + + // Удаляем содержимое всех сниппетов из корзины + db.prepare( + ` + DELETE FROM snippet_contents + WHERE snippetId IN (SELECT id FROM snippets WHERE isDeleted = 1) + `, + ).run() + + // Удаляем сами сниппеты из корзины + const result = db + .prepare( + ` + DELETE FROM snippets WHERE isDeleted = 1 + `, + ) + .run() + + return result.changes + }) + + const deletedCount = transaction() + + return { + message: `Successfully emptied trash: ${deletedCount} snippet(s) deleted`, + } + }, + { + detail: { + tags: ['Snippets'], + }, + }, + ) + // Удаление содержимого сниппета + .delete( + '/:id/contents/:contentId', + ({ params, error }) => { + const db = useDB() + const { contentId } = params + + const result = db + .prepare( + ` + DELETE FROM snippet_contents WHERE id = ? + `, + ) + .run(contentId) + + if (!result.changes) { + return error(404, { message: 'Snippet content not found' }) + } + + return { message: 'Snippet content deleted' } + }, + { + detail: { + tags: ['Snippets'], + }, + }, + ) + +export default app diff --git a/src/main/api/routes/tags.ts b/src/main/api/routes/tags.ts new file mode 100644 index 00000000..e327d05b --- /dev/null +++ b/src/main/api/routes/tags.ts @@ -0,0 +1,88 @@ +import type { TagsResponse } from '../dto/tags' +import Elysia from 'elysia' +import { useDB } from '../../db' +import { tagsDTO } from '../dto/tags' + +const app = new Elysia({ prefix: '/tags' }) + +app + .use(tagsDTO) + // Получение списка тегов + .get( + '/', + () => { + const db = useDB() + const stmt = db.prepare(`SELECT * FROM tags ORDER BY name ASC`) + const result = stmt.all() + + return result as TagsResponse + }, + { + response: 'tagsResponse', + detail: { + tags: ['Tags'], + }, + }, + ) + // Добавление тега + .post( + '/', + ({ body }) => { + const db = useDB() + const stmt = db.prepare( + `INSERT INTO tags (name, createdAt, updatedAt) VALUES (?, ?, ?)`, + ) + const now = new Date().getTime() + + const { lastInsertRowid } = stmt.run(body.name, now, now) + + return { id: lastInsertRowid as number } + }, + { + body: 'tagsAdd', + response: 'tagsAddResponse', + detail: { + tags: ['Tags'], + }, + }, + ) + // Удаление тега и удаление его из всех сниппетов + .delete( + '/:id', + ({ params, error }) => { + const db = useDB() + const tag = db + .prepare( + ` + SELECT id FROM tags WHERE id = ? + `, + ) + .get(params.id) + + if (!tag) { + return error(404, { message: 'Tag not found' }) + } + + const transaction = db.transaction(() => { + db.prepare( + ` + DELETE FROM snippet_tags WHERE tagId = ? + `, + ).run(params.id) + + const stmt = db.prepare(`DELETE FROM tags WHERE id = ?`) + stmt.run(params.id) + }) + + transaction() + + return { message: 'Tag deleted' } + }, + { + detail: { + tags: ['Tags'], + }, + }, + ) + +export default app diff --git a/src/main/components/menu.ts b/src/main/components/menu.ts deleted file mode 100644 index 8d5a95dc..00000000 --- a/src/main/components/menu.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { MenuItemConstructorOptions } from 'electron' -import { Menu, BrowserWindow } from 'electron' - -export const createMenu = (template: MenuItemConstructorOptions[]) => { - const menu = Menu.buildFromTemplate(template) - return menu -} diff --git a/src/main/config.ts b/src/main/config.ts deleted file mode 100644 index 99a05bed..00000000 --- a/src/main/config.ts +++ /dev/null @@ -1 +0,0 @@ -export const API_PORT = 3033 diff --git a/src/main/db/index.ts b/src/main/db/index.ts new file mode 100644 index 00000000..71471d52 --- /dev/null +++ b/src/main/db/index.ts @@ -0,0 +1,417 @@ +/* eslint-disable node/prefer-global/process */ +import type { Backup } from './types' +import path from 'node:path' +import Database from 'better-sqlite3' +import { format } from 'date-fns' +import fs from 'fs-extra' +import { store } from '../store' + +const DB_NAME = 'massCode.db' +// const BACKUP_DB_NAME = 'massCode-backup.db' +// const MANUAL_BACKUP_DB_NAME = 'massCode-manual-backup.db' +const isDev = process.env.NODE_ENV === 'development' + +let db: Database.Database | null = null +let backupTimer: NodeJS.Timeout | null = null + +export function useDB() { + if (db) + return db + + const dbPath = `${store.preferences.get('storagePath')}/${DB_NAME}` + + try { + db = new Database(dbPath, { + // eslint-disable-next-line no-console + verbose: isDev ? console.log : undefined, + }) + + db.pragma('journal_mode = WAL') + db.pragma('foreign_keys = ON') + + // Поскольку из коробки в SQLite регистронезависимый поиск возможен только для ASCII, + // то добавляем самостоятельно функцию для сравнения строк без учета регистра + db.function('unicode_lower', (str: unknown) => { + if (typeof str !== 'string') + return str + return str.toLowerCase() + }) + + // Таблица для папок + db.exec(` + CREATE TABLE IF NOT EXISTS folders ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL, + defaultLanguage TEXT NOT NULL, + parentId INTEGER, + isOpen INTEGER NOT NULL, + orderIndex INTEGER NOT NULL DEFAULT 0, + icon TEXT, + createdAt INTEGER NOT NULL, + updatedAt INTEGER NOT NULL, + FOREIGN KEY(parentId) REFERENCES folders(id) + ) + `) + + // Таблица для сниппетов + db.exec(` + CREATE TABLE IF NOT EXISTS snippets ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL, + description TEXT, + folderId INTEGER, + isDeleted INTEGER NOT NULL, + isFavorites INTEGER NOT NULL, + createdAt INTEGER NOT NULL, + updatedAt INTEGER NOT NULL, + FOREIGN KEY(folderId) REFERENCES folders(id) + ) + `) + + // Таблица для содержимого (фрагментов) сниппетов + db.exec(` + CREATE TABLE IF NOT EXISTS snippet_contents ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + snippetId INTEGER NOT NULL, + label TEXT, + value TEXT, + language TEXT, + FOREIGN KEY(snippetId) REFERENCES snippets(id) + ) + `) + + // Таблица для тегов + db.exec(` + CREATE TABLE IF NOT EXISTS tags ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL UNIQUE, + createdAt INTEGER NOT NULL, + updatedAt INTEGER NOT NULL + ) + `) + + // Таблица для связи сниппетов с тегами (многие ко многим) + db.exec(` + CREATE TABLE IF NOT EXISTS snippet_tags ( + snippetId INTEGER NOT NULL, + tagId INTEGER NOT NULL, + PRIMARY KEY(snippetId, tagId), + FOREIGN KEY(snippetId) REFERENCES snippets(id), + FOREIGN KEY(tagId) REFERENCES tags(id) + ) + `) + + return db + } + catch (error) { + console.error('Database initialization failed:', error) + throw error + } +} + +export function reloadDB() { + try { + // Закрываем текущую базу данных, если она открыта + if (db) { + db.close() + db = null + // eslint-disable-next-line no-console + console.log('Current database has been closed') + } + + // Определяем путь к новой базе данных + const dbPath = `${store.preferences.get('storagePath')}/${DB_NAME}` + + // Создаем новое соединение с базой данных + db = new Database(dbPath, { + // eslint-disable-next-line no-console + verbose: isDev ? console.log : undefined, + }) + + db.pragma('journal_mode = WAL') + db.pragma('foreign_keys = ON') + + // eslint-disable-next-line no-console + console.log(`Database successfully reloaded: ${dbPath}`) + } + catch (error) { + console.error('Error while reloading the database:', error) + throw error + } +} + +export function clearDB() { + try { + const db = useDB() + const stmt = db.transaction(() => { + // Сначала удаляем записи из таблиц со внешними ключами + db.prepare('DELETE FROM snippet_tags').run() + db.prepare('DELETE FROM snippet_contents').run() + db.prepare('DELETE FROM snippets').run() + // Затем удаляем записи из основных таблиц + db.prepare('DELETE FROM tags').run() + db.prepare('DELETE FROM folders').run() + // Сбрасываем автоинкрементные счетчики, чтобы id начинались с 1 + db.prepare('DELETE FROM sqlite_sequence').run() + }) + + stmt() + } + catch (error) { + console.error('Error while clearing the database:', error) + throw error + } +} + +export async function moveDB(path: string) { + try { + const currentPath = `${store.preferences.get('storagePath')}/${DB_NAME}` + const newPath = `${path}/${DB_NAME}` + + const isExists = await fs.exists(newPath) + + if (isExists) { + throw new Error(`Database already exists at the new path: ${newPath}`) + } + + if (db) { + db.close() + db = null + } + + await fs.move(currentPath, newPath, { overwrite: true }) + store.preferences.set('storagePath', path) + + reloadDB() + } + catch (error) { + console.error('Error while moving the database:', error) + throw error + } +} + +export async function createBackup(manual = false) { + try { + const db = useDB() + const backupSettings = store.preferences.get('backup') + + await fs.ensureDir(backupSettings.path) + + const date = format(Date.now(), 'yyyy-MM-dd_HH-mm-ss-SSS') + const backupFileName = manual + ? `massCode-manual-backup-${date}.db` + : `massCode-backup-${date}.db` + const backupFilePath = path.join(backupSettings.path, backupFileName) + + const stmt = db.prepare(`VACUUM INTO ?`) + stmt.run(backupFilePath) + + store.preferences.set('backup.lastBackupTime', Date.now()) + + await cleanupOldBackups() + + return backupFilePath + } + catch (error) { + console.error('Error creating database backup:', error) + throw error + } +} + +async function cleanupOldBackups() { + try { + const backupSettings = store.preferences.get('backup') + + const files = await fs.readdir(backupSettings.path) + const backupFiles = files + .filter( + file => file.startsWith('massCode-backup-') && file.endsWith('.db'), + ) + .map(file => ({ + name: file, + path: path.join(backupSettings.path, file), + stat: fs.statSync(path.join(backupSettings.path, file)), + })) + .sort((a, b) => b.stat.mtime.getTime() - a.stat.mtime.getTime()) + + if (backupFiles.length > backupSettings.maxBackups) { + const filesToDelete = backupFiles.slice(backupSettings.maxBackups) + + for (const file of filesToDelete) { + await fs.remove(file.path) + } + } + } + catch (error) { + console.error('Error cleaning up old backups:', error) + } +} + +export async function deleteBackup(backupPath: string) { + await fs.remove(backupPath) +} + +function shouldCreateBackup() { + const backupSettings = store.preferences.get('backup') + + if (!backupSettings.enabled) { + return false + } + + const lastBackupTime = backupSettings.lastBackupTime + + if (!lastBackupTime) { + return true // Если бекап никогда не создавался + } + + const now = Date.now() + const intervalMs = backupSettings.interval * 60 * 60 * 1000 // Конвертируем часы в миллисекунды + + return now - lastBackupTime >= intervalMs +} + +export async function startAutoBackup() { + try { + if (backupTimer) { + clearInterval(backupTimer) + } + + const backupSettings = store.preferences.get('backup') + + if (!backupSettings.enabled) { + return + } + + if (shouldCreateBackup()) { + await createBackup() + } + + const intervalMs = backupSettings.interval * 60 * 60 * 1000 // Конвертируем часы в миллисекунды + + backupTimer = setInterval(async () => { + try { + if (shouldCreateBackup()) { + await createBackup() + } + } + catch (error) { + console.error('Error during scheduled backup:', error) + } + }, intervalMs) + } + catch (error) { + console.error('Error starting auto backup:', error) + } +} + +export function stopAutoBackup() { + if (backupTimer) { + clearInterval(backupTimer) + backupTimer = null + } +} + +export async function restoreFromBackup(backupFilePath: string) { + try { + const storagePath = store.preferences.get('storagePath') + const currentDbPath = path.join(storagePath, DB_NAME) + + const backupExists = await fs.exists(backupFilePath) + + if (!backupExists) { + throw new Error(`Backup file does not exist: ${backupFilePath}`) + } + + if (db) { + db.close() + db = null + } + + await fs.copy(backupFilePath, currentDbPath, { overwrite: true }) + + reloadDB() + + console.warn(`Database restored from backup: ${backupFilePath}`) + } + catch (error) { + console.error('Error restoring database from backup:', error) + throw error + } +} + +export async function getBackupList() { + try { + const backupSettings = store.preferences.get('backup') + + if (!(await fs.exists(backupSettings.path))) { + return [] + } + + const files = await fs.readdir(backupSettings.path) + const backupFiles: Backup[] = [] + + for (const file of files) { + if ( + file.startsWith('massCode-backup-') + || (file.startsWith('massCode-manual-backup-') && file.endsWith('.db')) + ) { + const filePath = path.join(backupSettings.path, file) + const stat = await fs.stat(filePath) + + backupFiles.push({ + name: file, + path: filePath, + size: stat.size, + createdAt: stat.mtime, + }) + } + } + + return backupFiles.sort( + (a, b) => b.createdAt.getTime() - a.createdAt.getTime(), + ) + } + catch (error) { + console.error('Error getting backup list:', error) + return [] + } +} + +export async function moveBackupStorage(newPath: string) { + try { + const backupSettings = store.preferences.get('backup') + + const newPathExists = await fs.exists(newPath) + + if (!newPathExists) { + throw new Error(`Target directory does not exist: ${newPath}`) + } + + const newPathStat = await fs.stat(newPath) + + if (!newPathStat.isDirectory()) { + throw new Error(`Target path is not a directory: ${newPath}`) + } + + const files = await fs.readdir(backupSettings.path) + const backupFiles = files.filter( + file => + (file.startsWith('massCode-backup-') + || file.startsWith('massCode-manual-backup-')) + && file.endsWith('.db'), + ) + + for (const file of backupFiles) { + const sourcePath = path.join(backupSettings.path, file) + const targetPath = path.join(newPath, file) + + await fs.move(sourcePath, targetPath, { overwrite: true }) + } + + store.preferences.set('backup.path', newPath) + } + catch (error) { + console.error('Error while moving backup storage:', error) + throw error + } +} diff --git a/src/main/db/migrate.ts b/src/main/db/migrate.ts new file mode 100644 index 00000000..89820216 --- /dev/null +++ b/src/main/db/migrate.ts @@ -0,0 +1,129 @@ +// import type Database from 'better-sqlite3' +import type { JSONDB } from './types' +import { clearDB, useDB } from '.' + +export function migrateJsonToSqlite(jsonData: JSONDB) { + return new Promise((resolve, reject) => { + try { + const db = useDB() + clearDB() + + // Подготовленные выражения для вставки данных + const insertFolderStmt = db.prepare(` + INSERT INTO folders (name, defaultLanguage, parentId, isOpen, createdAt, updatedAt, icon, orderIndex) + VALUES (?, ?, ?, ?, ?, ?, ?, ?) + `) + + const updateFolderParentStmt = db.prepare(` + UPDATE folders SET parentId = ? WHERE id = ? + `) + + const insertTagStmt = db.prepare(` + INSERT INTO tags (name, createdAt, updatedAt) + VALUES (?, ?, ?) + `) + + const insertSnippetStmt = db.prepare(` + INSERT INTO snippets (name, description, folderId, isDeleted, isFavorites, createdAt, updatedAt) + VALUES (?, ?, ?, ?, ?, ?, ?) + `) + + const insertSnippetContentStmt = db.prepare(` + INSERT INTO snippet_contents (snippetId, label, value, language) + VALUES (?, ?, ?, ?) + `) + + const insertSnippetTagStmt = db.prepare(` + INSERT INTO snippet_tags (snippetId, tagId) + VALUES (?, ?) + `) + + // Словари для сопоставления оригинальных string id с новыми числовыми id + const folderIdMap: Record = {} + const tagIdMap: Record = {} + const snippetIdMap: Record = {} + + // Транзакция для миграции данных + const transaction = db.transaction(() => { + // Миграция папок + jsonData.folders.forEach((folder) => { + const result = insertFolderStmt.run( + folder.name, + folder.defaultLanguage || 'plain_text', + null, // parentId обновим позже + folder.isOpen ? 1 : 0, + folder.createdAt, + folder.updatedAt, + folder.icon || null, + folder.index ?? 0, + ) + folderIdMap[folder.id] = Number(result.lastInsertRowid) + }) + + // Обновляем поле parentId для папок, у которых оно задано + jsonData.folders.forEach((folder) => { + if (folder.parentId) { + const newId = folderIdMap[folder.id] + const parentNewId = folderIdMap[folder.parentId] + if (parentNewId) { + updateFolderParentStmt.run(parentNewId, newId) + } + } + }) + + // Миграция тегов + jsonData.tags.forEach((tag) => { + const result = insertTagStmt.run( + tag.name, + tag.createdAt, + tag.updatedAt, + ) + tagIdMap[tag.id] = Number(result.lastInsertRowid) + }) + + // Миграция сниппетов, их содержимого и связей с тегами + jsonData.snippets.forEach((snippet) => { + // Определяем новый id папки для сниппета + const mappedFolderId = folderIdMap[snippet.folderId] || null + const result = insertSnippetStmt.run( + snippet.name, + snippet.description || null, + mappedFolderId, + snippet.isDeleted ? 1 : 0, + snippet.isFavorites ? 1 : 0, + snippet.createdAt, + snippet.updatedAt, + ) + const newSnippetId = Number(result.lastInsertRowid) + snippetIdMap[snippet.id] = newSnippetId + + // Устанавливаем содержимое сниппета + snippet.content.forEach((content) => { + insertSnippetContentStmt.run( + newSnippetId, + content.label || null, + content.value || null, + content.language || null, + ) + }) + + // Устанавливаем связи сниппета с тегами + if (snippet.tagsIds && snippet.tagsIds.length > 0) { + snippet.tagsIds.forEach((tagOrigId) => { + const mappedTagId = tagIdMap[tagOrigId] + if (mappedTagId) { + insertSnippetTagStmt.run(newSnippetId, mappedTagId) + } + }) + } + }) + }) + + transaction() + resolve(true) + } + catch (error) { + reject(error) + } + }) +} diff --git a/src/main/db/types/index.ts b/src/main/db/types/index.ts new file mode 100644 index 00000000..b68aa36b --- /dev/null +++ b/src/main/db/types/index.ts @@ -0,0 +1,51 @@ +interface Folder { + id: string + name: string + defaultLanguage: string | null + parentId: string | null + isOpen: boolean + isSystem: boolean + index: number + createdAt: number + updatedAt: number + icon: string | null +} + +interface SnippetContent { + label: string + value: string + language: string +} + +interface Snippet { + id: string + name: string + content: SnippetContent[] + description: string | null + folderId: string + tagsIds: string[] + isDeleted: boolean + isFavorites: boolean + createdAt: number + updatedAt: number +} + +interface Tag { + id: string + name: string + createdAt: number + updatedAt: number +} + +export interface JSONDB { + folders: Folder[] + snippets: Snippet[] + tags: Tag[] +} + +export interface Backup { + name: string + path: string + size: number + createdAt: Date +} diff --git a/src/main/i18n/index.ts b/src/main/i18n/index.ts new file mode 100644 index 00000000..e31fbb71 --- /dev/null +++ b/src/main/i18n/index.ts @@ -0,0 +1,32 @@ +import { lstatSync, readdirSync } from 'node:fs' +import { join } from 'node:path' +import i18next from 'i18next' +import Backend from 'i18next-fs-backend' +import { store } from '../store' +import { language } from './language' + +const storedLng = store.preferences.get('language') + +const lng + = storedLng && Object.keys(language).includes(storedLng) ? storedLng : 'en_US' + +i18next.use(Backend).init({ + fallbackLng: 'en_US', + lng, + debug: false, + ns: ['devtools', 'menu', 'messages', 'preferences', 'special', 'ui'], + defaultNS: 'ui', + initImmediate: false, + preload: readdirSync(join(__dirname, './locales')).filter((fileName) => { + const joinedPath = join(join(__dirname, './locales'), fileName) + const isDirectory = lstatSync(joinedPath).isDirectory() + return isDirectory + }), + backend: { + loadPath: join(__dirname, './locales/{{lng}}/{{ns}}.json'), + }, +}) + +i18next.addResourceBundle(lng, 'language', language) + +export default i18next diff --git a/src/main/services/i18n/language.ts b/src/main/i18n/language.ts similarity index 62% rename from src/main/services/i18n/language.ts rename to src/main/i18n/language.ts index 05e1e41a..98c2bb93 100644 --- a/src/main/services/i18n/language.ts +++ b/src/main/i18n/language.ts @@ -1,19 +1,19 @@ export const language = { - cs: 'Čeština', + cs_CZ: 'Čeština', de_DE: 'Deutsch', - el: 'Ελληνικά', - en: 'English', + el_GR: 'Ελληνικά', + en_US: 'English', es_ES: 'Español', fa_IR: 'فارسی', fr_FR: 'French', ja_JP: '日本語', - pl: 'Polski', + pl_PL: 'Polski', pt_BR: 'Português (Brasil)', ro_RO: 'Română', - ru: 'Русский', - tr: 'Türkçe', + ru_RU: 'Русский', + tr_TR: 'Türkçe', uk_UA: 'Українська', zh_CN: '中文 (简体)', zh_HK: '中文 (繁體 香港特別行政區)', - zh_TW: '中文 (繁體)' -} + zh_TW: '中文 (繁體)', +} as const diff --git a/src/main/i18n/locales/README.md b/src/main/i18n/locales/README.md new file mode 100644 index 00000000..bb4ff178 --- /dev/null +++ b/src/main/i18n/locales/README.md @@ -0,0 +1,77 @@ +# Locales + +## File Structure + +Locales are stored in directories named according to the [BCP 47 language tag standard](https://en.wikipedia.org/wiki/IETF_language_tag) which uses ISO 639 language codes and ISO 3166-1 country codes. + +We use the format: `language_REGION` where: +- `language` is a two-letter [ISO 639-1 language code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) (lowercase) +- `REGION` is a two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1) (uppercase) + +Examples: +- `en_US` - English (United States) +- `en_GB` - English (United Kingdom) +- `pt_BR` - Portuguese (Brazil) +- `pt_PT` - Portuguese (Portugal) +- `ru_RU` - Russian (Russia) +- `zh_CN` - Chinese (China) + +### Main Files: + +- **ui.json** - User interface elements +- **menu.json** - Application menus +- **messages.json** - Dialogs, confirmation prompts, warnings, errors, and descriptions +- **preferences.json** - Application settings and preferences +- **devtools.json** - Developer tools and utilities + +## Organization Principles + +1. **Modularity**: Separate keys by functional blocks +2. **Hierarchy**: Use nested objects to group related keys +3. **Consistency**: Maintain the same structure across files +4. **Context**: Place keys in context-appropriate files + +## Adding New Keys + +When adding new localization keys: + +1. Determine which functional block your key belongs to +2. Choose the appropriate file based on the content type +3. Follow the existing structure and naming conventions +4. Add the key to all language packs + +## Adding New Languages + +1. Make a duplicate of the `en_US` (or other base language) directory, then rename it according to the language_REGION format (e.g., `ru_RU`, `pt_BR`) +2. Translate all values in all files +3. Add a new property to i18n where the property name corresponds to the directory name: + +```javascript +// Property name should match directory name +export const language = { + en_US: 'English', + ru_RU: 'Русский', + pt_BR: 'Português (Brasil)', + // new language +} +``` + +4. Create a PR + +When creating a PR, please follow this commit message format: +``` +feat(i18n): add translation +``` + +For example: +``` +feat(i18n): add zh_CN translation +fix(i18n): pt_BR translation +``` + +## Translation Guidelines + +1. Preserve the original formatting and placeholders (e.g., `{{count}}`, `{{name}}`) +2. Consider the context in which the phrase is used +3. Maintain a consistent style and terminology throughout the translation +4. Verify that your translation fits the UI components (text length, line breaks) diff --git a/src/main/i18n/locales/cs_CZ/devtools.json b/src/main/i18n/locales/cs_CZ/devtools.json new file mode 100644 index 00000000..56037834 --- /dev/null +++ b/src/main/i18n/locales/cs_CZ/devtools.json @@ -0,0 +1,143 @@ +{ + "label": "Vývojářské nástroje", + "converters": { + "label": "Převodníky", + "caseConverter": { + "label": "Převodník velikosti písmen", + "description": "Transformace textu do různých velikostí písmen", + "caseType": { + "uppercase": "Uppercase", + "lowercase": "Lowercase", + "camelcase": "Camelcase", + "capitalize": "Capitalize", + "constantcase": "Constantcase", + "snakecase": "Snakecase", + "kebabcase": "Kebabcase", + "pascalcase": "Pascalcase", + "dotcase": "Dotcase", + "pathcase": "Pathcase" + } + }, + "textToUnicode": { + "label": "Text na Unicode", + "description": "Převod textu na Unicode a naopak", + "modes": { + "textToUnicode": "Text → Unicode", + "unicodeToText": "Unicode → Text" + } + }, + "textToAscii": { + "label": "Text na ASCII Binary", + "description": "Převod textu na ASCII binary a naopak", + "modes": { + "textToAscii": "Text → ASCII", + "asciiToText": "ASCII → Text" + } + }, + "base64": { + "label": "Base64 Encoder / Decoder", + "description": "Kódování nebo dekódování textu do Base64", + "modes": { + "textToBase64": "Text → Base64", + "base64ToText": "Base64 → Text" + } + }, + "jsonToYaml": { + "label": "JSON na YAML", + "description": "Převod JSON na YAML a naopak", + "modes": { + "jsonToYaml": "JSON → YAML", + "yamlToJson": "YAML → JSON" + } + }, + "jsonToToml": { + "label": "JSON na TOML", + "description": "Převod JSON na TOML a naopak", + "modes": { + "jsonToToml": "JSON → TOML", + "tomlToJson": "TOML → JSON" + } + }, + "jsonToXml": { + "label": "JSON na XML", + "description": "Převod JSON na XML a naopak", + "modes": { + "jsonToXml": "JSON → XML", + "xmlToJson": "XML → JSON" + } + }, + "colorConverter": { + "label": "Převodník barev", + "description": "Převod barev mezi různými formáty" + } + }, + "crypto": { + "label": "Kryptografie / Bezpečnost", + "hash": { + "label": "Generátor hash", + "description": "Generování hashů z textu" + }, + "hmac": { + "label": "Generátor HMAC", + "description": "Generování autentizačního kódu zprávy založeného na hash (HMAC) složeného z klíče a zprávy" + }, + "password": { + "label": "Generátor hesel", + "description": "Generování bezpečného hesla" + }, + "uuid": { + "label": "Generátor UUID", + "description": "Generování univerzálního jedinečného identifikátoru (UUID)" + } + }, + "web": { + "label": "Web", + "urlParser": { + "label": "Parser URL", + "description": "Parsování URL na komponenty" + }, + "urlEncoder": { + "label": "URL Encoder / Decoder", + "description": "Kódování nebo dekódování URL", + "modes": { + "urlEncode": "URL Encode", + "urlDecode": "URL Decode" + } + }, + "slugify": { + "label": "Slugify", + "description": "Převod textu na URL-přátelský slug" + } + }, + "form": { + "input": "Vstup", + "output": "Výstup", + "inputString": "Vstupní řetězec", + "outputString": "Výstupní řetězec", + "inputUrl": "Vstupní URL", + "outputUrl": "Výstupní URL", + "parsedUrl": "Parsovaná URL", + "splitQueryString": "Rozdělit Query String", + "key": "Klíč", + "value": "Hodnota", + "component": "Komponenta", + "result": "Výsledek", + "secretKey": "Tajný klíč", + "algorithm": "Algoritmus", + "version": "Verze", + "amount": "Množství", + "type": "Typ", + "length": "Délka", + "options": "Možnosti", + "numbers": "Čísla", + "symbols": "Symboly", + "lowercase": "Malá písmena", + "uppercase": "Velká písmena", + "placeholder": { + "text": "Zadejte text", + "value": "Zadejte hodnotu", + "secretKey": "Zadejte tajný klíč", + "url": "Zadejte URL" + } + } +} diff --git a/src/main/i18n/locales/cs_CZ/menu.json b/src/main/i18n/locales/cs_CZ/menu.json new file mode 100644 index 00000000..05a22266 --- /dev/null +++ b/src/main/i18n/locales/cs_CZ/menu.json @@ -0,0 +1,74 @@ +{ + "app": { + "label": "massCode", + "preferences": "Předvolby", + "devtools": "Vývojářské nástroje", + "update": "Zkontrolovat aktualizace...", + "quit": "Ukončit massCode", + "about": "O aplikaci massCode", + "hide": "Skrýt massCode" + }, + "help": { + "label": "Nápověda", + "website": "Webové stránky", + "documentation": "Dokumentace", + "viewInGitHub": "Zobrazit na GitHubu", + "changeLog": "Seznam změn", + "reportIssue": "Nahlásit problém", + "giveStar": "Dát hvězdičku", + "extension": { + "vscode": "VS Code rozšíření", + "raycast": "Raycast rozšíření", + "alfred": "Alfred rozšíření" + }, + "donate": { + "openCollective": "Přispět na Open Collective", + "payPal": "Přispět přes PayPal", + "gumroad": "Přispět přes Gumroad (Visa, Mastercard, atd.)" + }, + "twitter": "Twitter", + "devTools": "Přepnout vývojářské nástroje", + "links": { + "snippets": "Kolekce snippetů" + } + }, + "edit": { + "label": "Upravit", + "find": "Najít" + }, + "view": { + "label": "Zobrazení", + "sortBy": { + "label": "Seřadit snippety podle", + "dateModified": "Data úpravy", + "dateCreated": "Data vytvoření", + "name": "Názvu" + }, + "compactMode": "Kompaktní režim" + }, + "editor": { + "label": "Editor", + "copy": "Kopírovat snippet do schránky", + "format": "Formátovat", + "previewCode": "Náhled kódu", + "previewScreenshot": "Náhled snímku obrazovky", + "fontSizeIncrease": "Zvětšit velikost písma", + "fontSizeDecrease": "Zmenšit velikost písma", + "fontSizeReset": "Obnovit velikost písma" + }, + "markdown": { + "label": "Markdown", + "presentationMode": "Prezentační režim", + "preview": "Náhled", + "previewMarkdown": "Náhled Markdownu", + "previewMindmap": "Náhled myšlenkové mapy" + }, + "history": { + "label": "Historie", + "back": "Zpět", + "forward": "Vpřed" + }, + "devtools": { + "label": "Vývojářské nástroje" + } +} diff --git a/src/main/i18n/locales/cs_CZ/messages.json b/src/main/i18n/locales/cs_CZ/messages.json new file mode 100644 index 00000000..fae7a135 --- /dev/null +++ b/src/main/i18n/locales/cs_CZ/messages.json @@ -0,0 +1,49 @@ +{ + "confirm": { + "delete": "Opravdu chcete smazat \"{{name}}\"?", + "deletePermanently": "Opravdu chcete trvale smazat \"{{name}}\"?", + "deleteConfirmMultipleSnippets": "Opravdu chcete trvale smazat {{count}} vybraných snippetů?", + "emptyTrash": "Opravdu chcete trvale smazat všechny snippety v Koši?", + "clearDb": "Opravdu chcete vymazat databázi?", + "migrateDb": [ + "Opravdu chcete provést migraci?", + "Během migrace bude současná knihovna přepsána." + ] + }, + "success": { + "migrate": "Databáze byla úspěšně migrována." + }, + "warning": { + "noUndo": "Tuto akci nelze vrátit zpět.", + "allSnippetsMoveToTrash": "Všechny snippety v této složce budou přesunuty do koše.", + "deleteTag": "Toto také způsobí odstranění tohoto tagu ze všech snippetů.", + "createDb": "Prosím vyberte jinou složku", + "clearDb": "Toto trvale smaže všechny Snippety, Složky a Tagy z databáze.", + "htmlCssPreview": "Přidejte HTML fragment pro zobrazení výsledku. Přidejte CSS pro stylování a JavaScript pro interaktivitu.", + "codeBlockRenderer": [ + "Při použití Codemirror musí jazyk nastavený pro blok kódu odpovídat jedné z hodnot", + "languages" + ] + }, + "error": {}, + "description": { + "storage": "Pro použití synchronizačních služeb jako iCloud Drive, Google Drive nebo Dropbox jednoduše přesuňte úložiště do odpovídajících synchronizovaných složek", + "migrate": { + "fromV3": "Pro migraci z massCode v3 vyberte složku obsahující JSON soubor.", + "fromSnippetsLab": "Pro migraci ze SnippetsLab vyberte JSON soubor.", + "snippetsLabLimitations": [ + "Některá omezení. Během migrace ze SnippetsLab:", + "Všechny složky budou na první úrovni, protože JSON soubor (pod v2.1) nepodporuje vnořené složky.", + "Snippety s nepodporovanými jazyky budou nastaveny na výchozí Plain Text." + ] + } + }, + "special": { + "supportMessage": "Ahoj, tady Anton 👋

    \nDěkuji za používání massCode. Pokud vám tato aplikace přijde užitečná, prosím {{-tagStart}}přispějte{{-tagEnd}}. Bude mě to motivovat k dalšímu vývoji projektu.", + "unsponsored": "Bez sponzorů" + }, + "update": { + "available": "Verze {{newVersion}} je nyní k dispozici ke stažení.\nVaše verze je {{oldVersion}}.", + "noAvailable": "V současné době nejsou k dispozici žádné aktualizace." + } +} diff --git a/src/main/services/i18n/locales/cs/preferences.json b/src/main/i18n/locales/cs_CZ/preferences.json similarity index 53% rename from src/main/services/i18n/locales/cs/preferences.json rename to src/main/i18n/locales/cs_CZ/preferences.json index 9e14791c..51d96100 100644 --- a/src/main/services/i18n/locales/cs/preferences.json +++ b/src/main/i18n/locales/cs_CZ/preferences.json @@ -1,9 +1,10 @@ { - "title": "Předvolby", + "label": "Předvolby", "storage": { - "label": "Uložiště", + "label": "Úložiště", "migrate": "Migrovat", - "count": "Počet" + "count": "Počet", + "clearDatabase": "Vymazat databázi" }, "editor": { "label": "Editor", @@ -11,32 +12,32 @@ "fontFamily": "Rodina písma", "wrap": { "label": "Zalamování", - "wordWrap": "Slov", + "wordWrap": "Zalamování slov", "off": "Vypnuto" }, - "tabSize": "Šířka tabulátoru", - "showInvisibles": "Zobrazit neviditelné", + "tabSize": "Velikost tabulátoru", + "showInvisibles": "Zobrazit neviditelné znaky", "highlightLine": "Zvýraznit řádek", - "highlightGutter": "Zvýraznit Gutter", - "matchBrackets": "Párovat závorky", + "highlightGutter": "Zvýraznit okraj", + "matchBrackets": "Párové závorky", "prettier": { "label": "Prettier", "trailingComma": { "label": "Koncová čárka", - "none": "Nikdy", - "all": "Vždy", + "none": "Žádná", + "all": "Všude", "es5": "ES5" }, - "semi": "Semi", + "semi": "Středník", "singleQuote": "Jednoduché uvozovky" } }, "appearance": { "label": "Vzhled", "theme": { - "label": "Téma", - "light": "Světlé", - "dark": "Tmavé" + "label": "Motiv", + "light": "Světlý", + "dark": "Tmavý" } }, "language": { @@ -44,6 +45,6 @@ }, "markdown": { "label": "Markdown", - "codeRenderer": "Renderer bloku kódu" + "codeRenderer": "Renderer kódových bloků" } } diff --git a/src/main/i18n/locales/cs_CZ/ui.json b/src/main/i18n/locales/cs_CZ/ui.json new file mode 100644 index 00000000..f3c5bbf0 --- /dev/null +++ b/src/main/i18n/locales/cs_CZ/ui.json @@ -0,0 +1,111 @@ +{ + "total": "Celkem", + "line": "Řádek", + "column": "Sloupec", + "fragment": "Fragment", + "path": "Cesta", + "button": { + "back": "Zpět", + "cancel": "Zrušit", + "clear": "Vymazat", + "confirm": "Potvrdit", + "copy": "Kopírovat", + "fit": "Přizpůsobit", + "generate": "Generovat", + "ok": "OK", + "revers": "Obrátit", + "saveAs": "Uložit jako", + "sort": "Seřadit", + "update": ["Přejít na GitHub", "OK"], + "zoomIn": "Přiblížit", + "zoomOut": "Oddálit", + "darkMode": "Tmavý režim", + "toggleDarkMode": "Přepnout tmavý režim", + "background": "Pozadí", + "goToDownload": "Přejít ke stažení", + "refreshPreview": "Obnovit náhled", + "laserPointer": "Laserové ukazovátko", + "fullscreen": "Celá obrazovka", + "prev": "Předchozí", + "next": "Další" + }, + "action": { + "close": "Zavřít", + "defaultLanguage": "Výchozí jazyk", + "duplicate": "Duplikovat", + "rename": "Přejmenovat", + "restore": "Obnovit", + "setCustomIcon": "Nastavit vlastní ikonu", + "show": "Zobrazit", + "hide": "Skrýt", + "new": { + "storage": "Nové úložiště", + "folder": "Nová složka", + "snippet": "Nový snippet", + "fragment": "Nový fragment" + }, + "add": { + "description": "Přidat popis", + "tag": "Přidat tag", + "toFavorites": "Přidat do oblíbených" + }, + "open": { + "storage": "Otevřít úložiště" + }, + "move": { + "storage": "Přesunout úložiště", + "toTrash": "Přesunout do koše" + }, + "remove": { + "fromFavorites": "Odebrat z oblíbených" + }, + "reload": { + "storage": "Znovu načíst úložiště" + }, + "delete": { + "common": "Smazat", + "now": "Smazat nyní", + "allData": "Smazat všechna data", + "trash": "Vyprázdnit koš" + }, + "migrate": { + "fromSnippetsLab": "Ze SnippetsLab", + "fromV3": "Z massCode v3" + }, + "export": { + "toHtml": "Exportovat do HTML" + }, + "copy": { + "snippetLink": "Kopírovat odkaz na snippet" + } + }, + "sidebar": { + "inbox": "Doručené", + "favorites": "Oblíbené", + "allSnippets": "Všechny snippety", + "trash": "Koš", + "folders": "Složky", + "library": "Knihovna", + "tags": "Tagy" + }, + "folder": { + "untitled": "Nepojmenovaná složka", + "plural": "Složky", + "collapseAll": "Sbalit vše", + "expandAll": "Rozbalit vše" + }, + "snippet": { + "untitled": "Nepojmenovaný snippet", + "plural": "Snippety", + "emptyName": "Zadejte název snippetu", + "selectedMultiple": "{{count}} vybraných snippetů", + "noSelected": "Není vybrán žádný snippet" + }, + "placeholder": { + "emptyTagList": "Přidejte tagy ke snippetům, aby se zde zobrazily", + "emptyFoldersList": "Žádné složky", + "emptySnippetsList": "Žádné snippety", + "search": "Hledat", + "addTag": "Přidat tag" + } +} diff --git a/src/main/i18n/locales/de_DE/devtools.json b/src/main/i18n/locales/de_DE/devtools.json new file mode 100644 index 00000000..70aa3d3e --- /dev/null +++ b/src/main/i18n/locales/de_DE/devtools.json @@ -0,0 +1,143 @@ +{ + "label": "Entwicklertools", + "converters": { + "label": "Konverter", + "caseConverter": { + "label": "Case Converter", + "description": "Text in verschiedene Schreibweisen umwandeln", + "caseType": { + "uppercase": "Uppercase", + "lowercase": "Lowercase", + "camelcase": "Camelcase", + "capitalize": "Capitalize", + "constantcase": "Constantcase", + "snakecase": "Snakecase", + "kebabcase": "Kebabcase", + "pascalcase": "Pascalcase", + "dotcase": "Dotcase", + "pathcase": "Pathcase" + } + }, + "textToUnicode": { + "label": "Text zu Unicode", + "description": "Text zu Unicode konvertieren und umgekehrt", + "modes": { + "textToUnicode": "Text → Unicode", + "unicodeToText": "Unicode → Text" + } + }, + "textToAscii": { + "label": "Text zu ASCII Binary", + "description": "Text zu ASCII Binary konvertieren und umgekehrt", + "modes": { + "textToAscii": "Text → ASCII", + "asciiToText": "ASCII → Text" + } + }, + "base64": { + "label": "Base64 Encoder / Decoder", + "description": "Text zu Base64 kodieren oder dekodieren", + "modes": { + "textToBase64": "Text → Base64", + "base64ToText": "Base64 → Text" + } + }, + "jsonToYaml": { + "label": "JSON zu YAML", + "description": "JSON zu YAML konvertieren und umgekehrt", + "modes": { + "jsonToYaml": "JSON → YAML", + "yamlToJson": "YAML → JSON" + } + }, + "jsonToToml": { + "label": "JSON zu TOML", + "description": "JSON zu TOML konvertieren und umgekehrt", + "modes": { + "jsonToToml": "JSON → TOML", + "tomlToJson": "TOML → JSON" + } + }, + "jsonToXml": { + "label": "JSON zu XML", + "description": "JSON zu XML konvertieren und umgekehrt", + "modes": { + "jsonToXml": "JSON → XML", + "xmlToJson": "XML → JSON" + } + }, + "colorConverter": { + "label": "Farbkonverter", + "description": "Farben zwischen verschiedenen Formaten konvertieren" + } + }, + "crypto": { + "label": "Kryptographie / Sicherheit", + "hash": { + "label": "Hash Generator", + "description": "Hashes aus Text generieren" + }, + "hmac": { + "label": "HMAC Generator", + "description": "Hash-basierten Nachrichtenauthentifizierungscode (HMAC) aus Schlüssel und Nachricht generieren" + }, + "password": { + "label": "Passwort Generator", + "description": "Sicheres Passwort generieren" + }, + "uuid": { + "label": "UUID Generator", + "description": "Universell eindeutige Kennung (UUID) generieren" + } + }, + "web": { + "label": "Web", + "urlParser": { + "label": "URL Parser", + "description": "URL in ihre Komponenten zerlegen" + }, + "urlEncoder": { + "label": "URL Encoder / Decoder", + "description": "URL kodieren oder dekodieren", + "modes": { + "urlEncode": "URL Encode", + "urlDecode": "URL Decode" + } + }, + "slugify": { + "label": "Slugify", + "description": "Text in URL-freundlichen Slug umwandeln" + } + }, + "form": { + "input": "Eingabe", + "output": "Ausgabe", + "inputString": "Eingabestring", + "outputString": "Ausgabestring", + "inputUrl": "Eingabe-URL", + "outputUrl": "Ausgabe-URL", + "parsedUrl": "Geparste URL", + "splitQueryString": "Query String aufteilen", + "key": "Schlüssel", + "value": "Wert", + "component": "Komponente", + "result": "Ergebnis", + "secretKey": "Geheimer Schlüssel", + "algorithm": "Algorithmus", + "version": "Version", + "amount": "Anzahl", + "type": "Typ", + "length": "Länge", + "options": "Optionen", + "numbers": "Zahlen", + "symbols": "Symbole", + "lowercase": "Kleinbuchstaben", + "uppercase": "Großbuchstaben", + "placeholder": { + "text": "Text eingeben", + "value": "Wert eingeben", + "secretKey": "Geheimen Schlüssel eingeben", + "url": "URL eingeben" + } + } +} diff --git a/src/main/i18n/locales/de_DE/menu.json b/src/main/i18n/locales/de_DE/menu.json new file mode 100644 index 00000000..dceb276b --- /dev/null +++ b/src/main/i18n/locales/de_DE/menu.json @@ -0,0 +1,74 @@ +{ + "app": { + "label": "massCode", + "preferences": "Einstellungen", + "devtools": "Entwicklerwerkzeuge", + "update": "Nach Updates suchen...", + "quit": "massCode beenden", + "about": "Über massCode", + "hide": "massCode ausblenden" + }, + "help": { + "label": "Hilfe", + "website": "Website", + "documentation": "Dokumentation", + "viewInGitHub": "In GitHub anzeigen", + "changeLog": "Änderungsprotokoll", + "reportIssue": "Problem melden", + "giveStar": "Stern geben", + "extension": { + "vscode": "VS Code Erweiterung", + "raycast": "Raycast Erweiterung", + "alfred": "Alfred Erweiterung" + }, + "donate": { + "openCollective": "Über Open Collective spenden", + "payPal": "Über PayPal spenden", + "gumroad": "Über Gumroad spenden (Visa, Mastercard, etc.)" + }, + "twitter": "Twitter", + "devTools": "Entwicklerwerkzeuge ein-/ausblenden", + "links": { + "snippets": "Snippet-Sammlung" + } + }, + "edit": { + "label": "Bearbeiten", + "find": "Suchen" + }, + "view": { + "label": "Ansicht", + "sortBy": { + "label": "Snippets sortieren nach", + "dateModified": "Änderungsdatum", + "dateCreated": "Erstellungsdatum", + "name": "Name" + }, + "compactMode": "Kompakter Modus" + }, + "editor": { + "label": "Editor", + "copy": "Snippet in Zwischenablage kopieren", + "format": "Formatieren", + "previewCode": "Code-Vorschau", + "previewScreenshot": "Screenshot-Vorschau", + "fontSizeIncrease": "Schriftgröße erhöhen", + "fontSizeDecrease": "Schriftgröße verringern", + "fontSizeReset": "Schriftgröße zurücksetzen" + }, + "markdown": { + "label": "Markdown", + "presentationMode": "Präsentationsmodus", + "preview": "Vorschau", + "previewMarkdown": "Markdown-Vorschau", + "previewMindmap": "Mindmap-Vorschau" + }, + "history": { + "label": "Verlauf", + "back": "Zurück", + "forward": "Vorwärts" + }, + "devtools": { + "label": "Entwicklerwerkzeuge" + } +} diff --git a/src/main/i18n/locales/de_DE/messages.json b/src/main/i18n/locales/de_DE/messages.json new file mode 100644 index 00000000..01eba0c1 --- /dev/null +++ b/src/main/i18n/locales/de_DE/messages.json @@ -0,0 +1,49 @@ +{ + "confirm": { + "delete": "Sind Sie sicher, dass Sie \"{{name}}\" löschen möchten?", + "deletePermanently": "Sind Sie sicher, dass Sie \"{{name}}\" endgültig löschen möchten?", + "deleteConfirmMultipleSnippets": "Sind Sie sicher, dass Sie {{count}} ausgewählte Snippets endgültig löschen möchten?", + "emptyTrash": "Sind Sie sicher, dass Sie alle Snippets im Papierkorb endgültig löschen möchten?", + "clearDb": "Sind Sie sicher, dass Sie die Datenbank leeren möchten?", + "migrateDb": [ + "Sind Sie sicher, dass Sie migrieren möchten?", + "Während der Migration wird die aktuelle Bibliothek überschrieben." + ] + }, + "success": { + "migrate": "Datenbank erfolgreich migriert." + }, + "warning": { + "noUndo": "Diese Aktion kann nicht rückgängig gemacht werden.", + "allSnippetsMoveToTrash": "Alle Snippets in diesem Ordner werden in den Papierkorb verschoben.", + "deleteTag": "Dies führt auch dazu, dass dieser Tag von allen Snippets entfernt wird.", + "createDb": "Bitte wählen Sie einen anderen Ordner", + "clearDb": "Dadurch werden alle Snippets, Ordner und Tags dauerhaft aus der Datenbank gelöscht.", + "htmlCssPreview": "Fügen Sie ein HTML-Fragment hinzu, um das Ergebnis zu sehen. Fügen Sie CSS für das Styling und JavaScript für Interaktivität hinzu.", + "codeBlockRenderer": [ + "Bei Verwendung von Codemirror muss die für den Codeblock einzustellende Sprache einem der Werte der", + "languages" + ] + }, + "error": {}, + "description": { + "storage": "Um Sync-Dienste wie iCloud Drive, Google Drive oder Dropbox zu nutzen, verschieben Sie den Speicher einfach in die entsprechenden synchronisierten Ordner", + "migrate": { + "fromV3": "Um von massCode v3 zu migrieren, wählen Sie den Ordner mit der JSON-Datei aus.", + "fromSnippetsLab": "Um von SnippetsLab zu migrieren, wählen Sie die JSON-Datei aus.", + "snippetsLabLimitations": [ + "Einige Einschränkungen bei der Migration von SnippetsLab:", + "Alle Ordner werden auf der ersten Ebene sein, da die JSON-Datei (unter v2.1) keine verschachtelten Ordner darstellt.", + "Snippets mit nicht unterstützten Sprachen werden auf Standard Plain Text gesetzt." + ] + } + }, + "special": { + "supportMessage": "Hallo, hier ist Anton 👋

    \nDanke, dass Sie massCode nutzen. Wenn Sie diese App nützlich finden, bitte {{-tagStart}}spenden{{-tagEnd}} Sie. Es wird mich inspirieren, die Entwicklung des Projekts fortzusetzen.", + "unsponsored": "Nicht gesponsert" + }, + "update": { + "available": "Version {{newVersion}} steht jetzt zum Download bereit.\nIhre Version ist {{oldVersion}}.", + "noAvailable": "Derzeit sind keine Updates verfügbar." + } +} diff --git a/src/main/services/i18n/locales/de_DE/preferences.json b/src/main/i18n/locales/de_DE/preferences.json similarity index 51% rename from src/main/services/i18n/locales/de_DE/preferences.json rename to src/main/i18n/locales/de_DE/preferences.json index 5fa0d7f0..16ac0c56 100644 --- a/src/main/services/i18n/locales/de_DE/preferences.json +++ b/src/main/i18n/locales/de_DE/preferences.json @@ -1,9 +1,10 @@ { - "title": "Einstellungen", + "label": "Einstellungen", "storage": { - "label": "Datenbank", + "label": "Speicher", "migrate": "Migrieren", - "count": "Zählen" + "count": "Anzahl", + "clearDatabase": "Datenbank leeren" }, "editor": { "label": "Editor", @@ -12,27 +13,27 @@ "wrap": { "label": "Umbruch", "wordWrap": "Zeilenumbruch", - "off": "Deaktiviert" + "off": "Aus" }, - "tabSize": "Tab Größe", - "showInvisibles": "Zeige versteckte", + "tabSize": "Tabgröße", + "showInvisibles": "Unsichtbare Zeichen anzeigen", "highlightLine": "Zeile hervorheben", - "highlightGutter": "Gutter hervorheben", - "matchBrackets": "Match Brackets", + "highlightGutter": "Zeilennummern hervorheben", + "matchBrackets": "Klammern hervorheben", "prettier": { "label": "Prettier", "trailingComma": { - "label": "Nachgestelltes Komma", - "none": "Ohne", - "all": "Immer", + "label": "Abschließendes Komma", + "none": "Keins", + "all": "Alle", "es5": "ES5" }, - "semi": "Semi", - "singleQuote": "Einzelne Anführungszeichen" + "semi": "Semikolon", + "singleQuote": "Einfache Anführungszeichen" } }, "appearance": { - "label": "Darstellung", + "label": "Erscheinungsbild", "theme": { "label": "Theme", "light": "Hell", @@ -44,6 +45,6 @@ }, "markdown": { "label": "Markdown", - "codeRenderer": "Code block Renderer" + "codeRenderer": "Code-Block Renderer" } } diff --git a/src/main/i18n/locales/de_DE/ui.json b/src/main/i18n/locales/de_DE/ui.json new file mode 100644 index 00000000..89b209c0 --- /dev/null +++ b/src/main/i18n/locales/de_DE/ui.json @@ -0,0 +1,111 @@ +{ + "total": "Gesamt", + "line": "Zeile", + "column": "Spalte", + "fragment": "Fragment", + "path": "Pfad", + "button": { + "back": "Zurück", + "cancel": "Abbrechen", + "clear": "Löschen", + "confirm": "Bestätigen", + "copy": "Kopieren", + "fit": "Anpassen", + "generate": "Generieren", + "ok": "OK", + "revers": "Umkehren", + "saveAs": "Speichern unter", + "sort": "Sortieren", + "update": ["Zu GitHub", "OK"], + "zoomIn": "Vergrößern", + "zoomOut": "Verkleinern", + "darkMode": "Dunkler Modus", + "toggleDarkMode": "Dunkelmodus umschalten", + "background": "Hintergrund", + "goToDownload": "Zum Download", + "refreshPreview": "Vorschau aktualisieren", + "laserPointer": "Laserpointer", + "fullscreen": "Vollbild", + "prev": "Zurück", + "next": "Weiter" + }, + "action": { + "close": "Schließen", + "defaultLanguage": "Standardsprache", + "duplicate": "Duplizieren", + "rename": "Umbenennen", + "restore": "Wiederherstellen", + "setCustomIcon": "Benutzerdefiniertes Icon festlegen", + "show": "Anzeigen", + "hide": "Ausblenden", + "new": { + "storage": "Neuer Speicher", + "folder": "Neuer Ordner", + "snippet": "Neues Snippet", + "fragment": "Neues Fragment" + }, + "add": { + "description": "Beschreibung hinzufügen", + "tag": "Tag hinzufügen", + "toFavorites": "Zu Favoriten hinzufügen" + }, + "open": { + "storage": "Speicher öffnen" + }, + "move": { + "storage": "Speicher verschieben", + "toTrash": "In Papierkorb verschieben" + }, + "remove": { + "fromFavorites": "Aus Favoriten entfernen" + }, + "reload": { + "storage": "Speicher neu laden" + }, + "delete": { + "common": "Löschen", + "now": "Jetzt löschen", + "allData": "Alle Daten löschen", + "trash": "Papierkorb leeren" + }, + "migrate": { + "fromSnippetsLab": "Von SnippetsLab", + "fromV3": "Von massCode v3" + }, + "export": { + "toHtml": "Als HTML exportieren" + }, + "copy": { + "snippetLink": "Snippet-Link kopieren" + } + }, + "sidebar": { + "inbox": "Posteingang", + "favorites": "Favoriten", + "allSnippets": "Alle Snippets", + "trash": "Papierkorb", + "folders": "Ordner", + "library": "Bibliothek", + "tags": "Tags" + }, + "folder": { + "untitled": "Unbenannter Ordner", + "plural": "Ordner", + "collapseAll": "Alle einklappen", + "expandAll": "Alle ausklappen" + }, + "snippet": { + "untitled": "Unbenanntes Snippet", + "plural": "Snippets", + "emptyName": "Snippet-Namen eingeben", + "selectedMultiple": "{{count}} Snippets ausgewählt", + "noSelected": "Kein Snippet ausgewählt" + }, + "placeholder": { + "emptyTagList": "Fügen Sie Tags zu Snippets hinzu, um sie hier zu sehen", + "emptyFoldersList": "Keine Ordner", + "emptySnippetsList": "Keine Snippets", + "search": "Suchen", + "addTag": "Tag hinzufügen" + } +} diff --git a/src/main/i18n/locales/el_GR/devtools.json b/src/main/i18n/locales/el_GR/devtools.json new file mode 100644 index 00000000..0b5cf062 --- /dev/null +++ b/src/main/i18n/locales/el_GR/devtools.json @@ -0,0 +1,143 @@ +{ + "label": "Εργαλεία Προγραμματιστή", + "converters": { + "label": "Μετατροπείς", + "caseConverter": { + "label": "Μετατροπέας Κεφαλαίων", + "description": "Μετατροπή κειμένου σε διαφορετικές μορφές κεφαλαίων", + "caseType": { + "uppercase": "Uppercase", + "lowercase": "Lowercase", + "camelcase": "Camelcase", + "capitalize": "Capitalize", + "constantcase": "Constantcase", + "snakecase": "Snakecase", + "kebabcase": "Kebabcase", + "pascalcase": "Pascalcase", + "dotcase": "Dotcase", + "pathcase": "Pathcase" + } + }, + "textToUnicode": { + "label": "Κείμενο σε Unicode", + "description": "Μετατροπή κειμένου σε Unicode και αντίστροφα", + "modes": { + "textToUnicode": "Κείμενο → Unicode", + "unicodeToText": "Unicode → Κείμενο" + } + }, + "textToAscii": { + "label": "Κείμενο σε ASCII Binary", + "description": "Μετατροπή κειμένου σε ASCII binary και αντίστροφα", + "modes": { + "textToAscii": "Κείμενο → ASCII", + "asciiToText": "ASCII → Κείμενο" + } + }, + "base64": { + "label": "Base64 Encoder / Decoder", + "description": "Κωδικοποίηση ή αποκωδικοποίηση κειμένου σε Base64", + "modes": { + "textToBase64": "Κείμενο → Base64", + "base64ToText": "Base64 → Κείμενο" + } + }, + "jsonToYaml": { + "label": "JSON σε YAML", + "description": "Μετατροπή JSON σε YAML και αντίστροφα", + "modes": { + "jsonToYaml": "JSON → YAML", + "yamlToJson": "YAML → JSON" + } + }, + "jsonToToml": { + "label": "JSON σε TOML", + "description": "Μετατροπή JSON σε TOML και αντίστροφα", + "modes": { + "jsonToToml": "JSON → TOML", + "tomlToJson": "TOML → JSON" + } + }, + "jsonToXml": { + "label": "JSON σε XML", + "description": "Μετατροπή JSON σε XML και αντίστροφα", + "modes": { + "jsonToXml": "JSON → XML", + "xmlToJson": "XML → JSON" + } + }, + "colorConverter": { + "label": "Μετατροπέας Χρωμάτων", + "description": "Μετατροπή χρωμάτων μεταξύ διαφορετικών μορφών" + } + }, + "crypto": { + "label": "Κρυπτογραφία / Ασφάλεια", + "hash": { + "label": "Γεννήτρια Hash", + "description": "Δημιουργία hash από κείμενο" + }, + "hmac": { + "label": "Γεννήτρια HMAC", + "description": "Δημιουργία κώδικα πιστοποίησης μηνύματος βασισμένου σε hash (HMAC) που αποτελείται από κλειδί και μήνυμα" + }, + "password": { + "label": "Γεννήτρια Κωδικών", + "description": "Δημιουργία ασφαλούς κωδικού" + }, + "uuid": { + "label": "Γεννήτρια UUID", + "description": "Δημιουργία παγκόσμιου μοναδικού αναγνωριστικού (UUID)" + } + }, + "web": { + "label": "Ιστός", + "urlParser": { + "label": "Αναλυτής URL", + "description": "Ανάλυση URL στα στοιχεία του" + }, + "urlEncoder": { + "label": "URL Encoder / Decoder", + "description": "Κωδικοποίηση ή αποκωδικοποίηση URL", + "modes": { + "urlEncode": "URL Encode", + "urlDecode": "URL Decode" + } + }, + "slugify": { + "label": "Slugify", + "description": "Μετατροπή κειμένου σε φιλικό προς URL slug" + } + }, + "form": { + "input": "Είσοδος", + "output": "Έξοδος", + "inputString": "Συμβολοσειρά Εισόδου", + "outputString": "Συμβολοσειρά Εξόδου", + "inputUrl": "URL Εισόδου", + "outputUrl": "URL Εξόδου", + "parsedUrl": "Αναλυμένο URL", + "splitQueryString": "Διαχωρισμός Query String", + "key": "Κλειδί", + "value": "Τιμή", + "component": "Στοιχείο", + "result": "Αποτέλεσμα", + "secretKey": "Μυστικό Κλειδί", + "algorithm": "Αλγόριθμος", + "version": "Έκδοση", + "amount": "Ποσότητα", + "type": "Τύπος", + "length": "Μήκος", + "options": "Επιλογές", + "numbers": "Αριθμοί", + "symbols": "Σύμβολα", + "lowercase": "Πεζά", + "uppercase": "Κεφαλαία", + "placeholder": { + "text": "Εισάγετε κείμενο", + "value": "Εισάγετε τιμή", + "secretKey": "Εισάγετε μυστικό κλειδί", + "url": "Εισάγετε URL" + } + } +} diff --git a/src/main/i18n/locales/el_GR/menu.json b/src/main/i18n/locales/el_GR/menu.json new file mode 100644 index 00000000..f8a8d1ae --- /dev/null +++ b/src/main/i18n/locales/el_GR/menu.json @@ -0,0 +1,74 @@ +{ + "app": { + "label": "massCode", + "preferences": "Προτιμήσεις", + "devtools": "Developer Tools", + "update": "Έλεγχος για Ενημερώσεις...", + "quit": "Έξοδος από το massCode", + "about": "Σχετικά με το massCode", + "hide": "Απόκρυψη massCode" + }, + "help": { + "label": "Βοήθεια", + "website": "Ιστοσελίδα", + "documentation": "Τεκμηρίωση", + "viewInGitHub": "Προβολή στο GitHub", + "changeLog": "Αρχείο Αλλαγών", + "reportIssue": "Αναφορά Προβλήματος", + "giveStar": "Δώστε ένα Αστέρι", + "extension": { + "vscode": "VS Code Extension", + "raycast": "Raycast Extension", + "alfred": "Alfred Extension" + }, + "donate": { + "openCollective": "Δωρεά στο Open Collective", + "payPal": "Δωρεά μέσω PayPal", + "gumroad": "Δωρεά μέσω Gumroad (Visa, Mastercard, κλπ.)" + }, + "twitter": "Twitter", + "devTools": "Εναλλαγή Developer Tools", + "links": { + "snippets": "Συλλογή Snippets" + } + }, + "edit": { + "label": "Επεξεργασία", + "find": "Εύρεση" + }, + "view": { + "label": "Προβολή", + "sortBy": { + "label": "Ταξινόμηση Snippets κατά", + "dateModified": "Ημερομηνία Τροποποίησης", + "dateCreated": "Ημερομηνία Δημιουργίας", + "name": "Όνομα" + }, + "compactMode": "Συμπαγής Λειτουργία" + }, + "editor": { + "label": "Editor", + "copy": "Αντιγραφή Snippet στο Πρόχειρο", + "format": "Μορφοποίηση", + "previewCode": "Προεπισκόπηση Κώδικα", + "previewScreenshot": "Προεπισκόπηση Screenshot", + "fontSizeIncrease": "Αύξηση Μεγέθους Γραμματοσειράς", + "fontSizeDecrease": "Μείωση Μεγέθους Γραμματοσειράς", + "fontSizeReset": "Επαναφορά Μεγέθους Γραμματοσειράς" + }, + "markdown": { + "label": "Markdown", + "presentationMode": "Λειτουργία Παρουσίασης", + "preview": "Προεπισκόπηση", + "previewMarkdown": "Προεπισκόπηση Markdown", + "previewMindmap": "Προεπισκόπηση Mindmap" + }, + "history": { + "label": "Ιστορικό", + "back": "Πίσω", + "forward": "Μπροστά" + }, + "devtools": { + "label": "Developer Tools" + } +} diff --git a/src/main/i18n/locales/el_GR/messages.json b/src/main/i18n/locales/el_GR/messages.json new file mode 100644 index 00000000..a224d699 --- /dev/null +++ b/src/main/i18n/locales/el_GR/messages.json @@ -0,0 +1,49 @@ +{ + "confirm": { + "delete": "Είστε βέβαιοι ότι θέλετε να διαγράψετε το \"{{name}}\"?", + "deletePermanently": "Είστε βέβαιοι ότι θέλετε να διαγράψετε οριστικά το \"{{name}}\"?", + "deleteConfirmMultipleSnippets": "Είστε βέβαιοι ότι θέλετε να διαγράψετε οριστικά τα {{count}} επιλεγμένα snippets;", + "emptyTrash": "Είστε βέβαιοι ότι θέλετε να διαγράψετε οριστικά όλα τα snippets στον Κάδο Απορριμμάτων;", + "clearDb": "Είστε βέβαιοι ότι θέλετε να καθαρίσετε τη database;", + "migrateDb": [ + "Είστε βέβαιοι ότι θέλετε να κάνετε migrate;", + "Κατά τη διάρκεια του migrate, η τρέχουσα βιβλιοθήκη θα αντικατασταθεί." + ] + }, + "success": { + "migrate": "Η DB μετέφερε επιτυχώς τα δεδομένα." + }, + "warning": { + "noUndo": "Δεν μπορείτε να αναιρέσετε αυτήν την ενέργεια.", + "allSnippetsMoveToTrash": "Όλα τα snippets σε αυτόν τον φάκελο θα μεταφερθούν στον κάδο απορριμμάτων.", + "deleteTag": "Αυτό θα προκαλέσει επίσης την αφαίρεση αυτού του tag από όλα τα snippets.", + "createDb": "Παρακαλώ επιλέξτε άλλο φάκελο", + "clearDb": "Αυτό θα διαγράψει οριστικά όλα τα Snippets, Folders και Tags από τη database.", + "htmlCssPreview": "Προσθέστε ένα τμήμα HTML για να δείτε το αποτέλεσμα. Προσθέστε CSS για στυλ και JavaScript για διαδραστικότητα.", + "codeBlockRenderer": [ + "Όταν χρησιμοποιείτε το Codemirror, η γλώσσα που θα οριστεί για το code block πρέπει να αντιστοιχεί σε μία από τις τιμές των", + "languages" + ] + }, + "error": {}, + "description": { + "storage": "Για να χρησιμοποιήσετε υπηρεσίες συγχρονισμού όπως iCloud Drive, Google Drive ή Dropbox, απλά μετακινήστε το storage στους αντίστοιχους συγχρονισμένους φακέλους", + "migrate": { + "fromV3": "Για να κάνετε migrate από το massCode v3 επιλέξτε τον φάκελο που περιέχει το JSON αρχείο.", + "fromSnippetsLab": "Για να κάνετε migrate από το SnippetsLab επιλέξτε το JSON αρχείο.", + "snippetsLabLimitations": [ + "Μερικοί Περιορισμοί. Κατά τη διάρκεια του migration από το SnippetsLab:", + "Όλοι οι φάκελοι θα είναι πρώτου επιπέδου καθώς το JSON αρχείο (κάτω από v2.1) δεν υποστηρίζει ένθετους φακέλους.", + "Τα snippets με μη υποστηριζόμενες γλώσσες θα οριστούν ως Plain Text." + ] + } + }, + "special": { + "supportMessage": "Γεια σας, ο Anton εδώ 👋

    \nΕυχαριστώ που χρησιμοποιείτε το massCode. Αν βρίσκετε χρήσιμη την εφαρμογή, παρακαλώ {{-tagStart}}κάντε μια δωρεά{{-tagEnd}}. Θα με εμπνεύσει να συνεχίσω την ανάπτυξη του project.", + "unsponsored": "Χωρίς χορηγία" + }, + "update": { + "available": "Η έκδοση {{newVersion}} είναι διαθέσιμη για λήψη.\nΗ έκδοσή σας είναι {{oldVersion}}.", + "noAvailable": "Δεν υπάρχουν διαθέσιμες ενημερώσεις αυτή τη στιγμή." + } +} diff --git a/src/main/services/i18n/locales/el/preferences.json b/src/main/i18n/locales/el_GR/preferences.json similarity index 52% rename from src/main/services/i18n/locales/el/preferences.json rename to src/main/i18n/locales/el_GR/preferences.json index b2d0a86c..a43a047f 100644 --- a/src/main/services/i18n/locales/el/preferences.json +++ b/src/main/i18n/locales/el_GR/preferences.json @@ -1,33 +1,34 @@ { - "title": "Προτιμήσεις", + "label": "Προτιμήσεις", "storage": { - "label": "Αποθηκευτικός Χώρος", - "migrate": "Μετακίνηση", - "count": "Καταμέτρηση" + "label": "Storage", + "migrate": "Μετεγκατάσταση", + "count": "Πλήθος", + "clearDatabase": "Εκκαθάριση Database" }, "editor": { - "label": "Διορθωτής", + "label": "Editor", "fontSize": "Μέγεθος Γραμματοσειράς", - "fontFamily": "Γραμματοσειρά", + "fontFamily": "Οικογένεια Γραμματοσειράς", "wrap": { "label": "Αναδίπλωση", "wordWrap": "Αναδίπλωση Λέξεων", - "off": "Ανενεργό" + "off": "Απενεργοποίηση" }, "tabSize": "Μέγεθος Tab", - "showInvisibles": "Εμφάνιση Κρυφών", + "showInvisibles": "Εμφάνιση Αόρατων Χαρακτήρων", "highlightLine": "Επισήμανση Γραμμής", - "highlightGutter": "Επισήμανση Περιθωρίου", - "matchBrackets": "Αντιστοίχιση Αγκύλων", + "highlightGutter": "Επισήμανση Gutter", + "matchBrackets": "Αντιστοίχιση Παρενθέσεων", "prettier": { "label": "Prettier", "trailingComma": { - "label": "Κόμμα Ουράς", - "none": "Καθόλου", + "label": "Κόμμα στο Τέλος", + "none": "Κανένα", "all": "Όλα", "es5": "ES5" }, - "semi": "Semi", + "semi": "Ερωτηματικό", "singleQuote": "Μονά Εισαγωγικά" } }, @@ -44,6 +45,6 @@ }, "markdown": { "label": "Markdown", - "codeRenderer": "Απεικόνιση Μπλοκ Κώδικα" + "codeRenderer": "Code block Renderer" } } diff --git a/src/main/i18n/locales/el_GR/ui.json b/src/main/i18n/locales/el_GR/ui.json new file mode 100644 index 00000000..27ee9268 --- /dev/null +++ b/src/main/i18n/locales/el_GR/ui.json @@ -0,0 +1,111 @@ +{ + "total": "Σύνολο", + "line": "Γραμμή", + "column": "Στήλη", + "fragment": "Fragment", + "path": "Διαδρομή", + "button": { + "back": "Πίσω", + "cancel": "Ακύρωση", + "clear": "Καθαρισμός", + "confirm": "Επιβεβαίωση", + "copy": "Αντιγραφή", + "fit": "Προσαρμογή", + "generate": "Δημιουργία", + "ok": "OK", + "revers": "Αντιστροφή", + "saveAs": "Αποθήκευση ως", + "sort": "Ταξινόμηση", + "update": ["Μετάβαση στο GitHub", "OK"], + "zoomIn": "Μεγέθυνση", + "zoomOut": "Σμίκρυνση", + "darkMode": "Σκοτεινή Λειτουργία", + "toggleDarkMode": "Εναλλαγή σκοτεινής λειτουργίας", + "background": "Φόντο", + "goToDownload": "Μετάβαση στη Λήψη", + "refreshPreview": "Ανανέωση προεπισκόπησης", + "laserPointer": "Δείκτης λέιζερ", + "fullscreen": "Πλήρης οθόνη", + "prev": "Προηγούμενο", + "next": "Επόμενο" + }, + "action": { + "close": "Κλείσιμο", + "defaultLanguage": "Προεπιλεγμένη Γλώσσα", + "duplicate": "Αντίγραφο", + "rename": "Μετονομασία", + "restore": "Επαναφορά", + "setCustomIcon": "Ορισμός Προσαρμοσμένου Εικονιδίου", + "show": "Εμφάνιση", + "hide": "Απόκρυψη", + "new": { + "storage": "Νέο Storage", + "folder": "Νέος Φάκελος", + "snippet": "Νέο Snippet", + "fragment": "Νέο Fragment" + }, + "add": { + "description": "Προσθήκη Περιγραφής", + "tag": "Προσθήκη Tag", + "toFavorites": "Προσθήκη στα Αγαπημένα" + }, + "open": { + "storage": "Άνοιγμα Storage" + }, + "move": { + "storage": "Μετακίνηση Storage", + "toTrash": "Μετακίνηση στον Κάδο" + }, + "remove": { + "fromFavorites": "Αφαίρεση από τα Αγαπημένα" + }, + "reload": { + "storage": "Επαναφόρτωση Storage" + }, + "delete": { + "common": "Διαγραφή", + "now": "Διαγραφή Τώρα", + "allData": "Διαγραφή Όλων των Δεδομένων", + "trash": "Άδειασμα Κάδου" + }, + "migrate": { + "fromSnippetsLab": "Από SnippetsLab", + "fromV3": "Από massCode v3" + }, + "export": { + "toHtml": "Εξαγωγή σε HTML" + }, + "copy": { + "snippetLink": "Αντιγραφή Συνδέσμου Snippet" + } + }, + "sidebar": { + "inbox": "Εισερχόμενα", + "favorites": "Αγαπημένα", + "allSnippets": "Όλα τα Snippets", + "trash": "Κάδος", + "folders": "Φάκελοι", + "library": "Βιβλιοθήκη", + "tags": "Tags" + }, + "folder": { + "untitled": "Φάκελος χωρίς τίτλο", + "plural": "Φάκελοι", + "collapseAll": "Σύμπτυξη Όλων", + "expandAll": "Ανάπτυξη Όλων" + }, + "snippet": { + "untitled": "Snippet χωρίς τίτλο", + "plural": "Snippets", + "emptyName": "Πληκτρολογήστε όνομα snippet", + "selectedMultiple": "{{count}} Επιλεγμένα Snippets", + "noSelected": "Δεν έχει επιλεγεί Snippet" + }, + "placeholder": { + "emptyTagList": "Προσθέστε tags στα snippets για να τα δείτε εδώ", + "emptyFoldersList": "Κανένας φάκελος", + "emptySnippetsList": "Κανένα απόσπασμα", + "search": "Αναζήτηση", + "addTag": "Προσθήκη Tag" + } +} diff --git a/src/main/i18n/locales/en_US/devtools.json b/src/main/i18n/locales/en_US/devtools.json new file mode 100644 index 00000000..cf3ef682 --- /dev/null +++ b/src/main/i18n/locales/en_US/devtools.json @@ -0,0 +1,143 @@ +{ + "label": "Developer Tools", + "converters": { + "label": "Converters", + "caseConverter": { + "label": "Case Converter", + "description": "Transform text to different cases", + "caseType": { + "uppercase": "Uppercase", + "lowercase": "Lowercase", + "camelcase": "Camelcase", + "capitalize": "Capitalize", + "constantcase": "Constantcase", + "snakecase": "Snakecase", + "kebabcase": "Kebabcase", + "pascalcase": "Pascalcase", + "dotcase": "Dotcase", + "pathcase": "Pathcase" + } + }, + "textToUnicode": { + "label": "Text to Unicode", + "description": "Convert text to Unicode and vice versa", + "modes": { + "textToUnicode": "Text → Unicode", + "unicodeToText": "Unicode → Text" + } + }, + "textToAscii": { + "label": "Text to ASCII Binary", + "description": "Convert text to ASCII binary and vice versa", + "modes": { + "textToAscii": "Text → ASCII", + "asciiToText": "ASCII → Text" + } + }, + "base64": { + "label": "Base64 Encoder / Decoder", + "description": "Encode or decode text to Base64", + "modes": { + "textToBase64": "Text → Base64", + "base64ToText": "Base64 → Text" + } + }, + "jsonToYaml": { + "label": "JSON to YAML", + "description": "Convert JSON to YAML and vice versa", + "modes": { + "jsonToYaml": "JSON → YAML", + "yamlToJson": "YAML → JSON" + } + }, + "jsonToToml": { + "label": "JSON to TOML", + "description": "Convert JSON to TOML and vice versa", + "modes": { + "jsonToToml": "JSON → TOML", + "tomlToJson": "TOML → JSON" + } + }, + "jsonToXml": { + "label": "JSON to XML", + "description": "Convert JSON to XML and vice versa", + "modes": { + "jsonToXml": "JSON → XML", + "xmlToJson": "XML → JSON" + } + }, + "colorConverter": { + "label": "Color Converter", + "description": "Convert color between different formats" + } + }, + "crypto": { + "label": "Cryptography / Security", + "hash": { + "label": "Hash Generator", + "description": "Generate hashes from text" + }, + "hmac": { + "label": "HMAC Generator", + "description": "Generate hash-based message authentication code (HMAC) composed of a key and a message" + }, + "password": { + "label": "Password Generator", + "description": "Generate a secure password" + }, + "uuid": { + "label": "UUID Generator", + "description": "Generate a universal unique identifier (UUID)" + } + }, + "web": { + "label": "Web", + "urlParser": { + "label": "URL Parser", + "description": "Parse a URL into its components" + }, + "urlEncoder": { + "label": "URL Encoder / Decoder", + "description": "Encode or decode URL", + "modes": { + "urlEncode": "URL Encode", + "urlDecode": "URL Decode" + } + }, + "slugify": { + "label": "Slugify", + "description": "Convert text to a URL-friendly slug" + } + }, + "form": { + "input": "Input", + "output": "Output", + "inputString": "Input String", + "outputString": "Output String", + "inputUrl": "Input URL", + "outputUrl": "Output URL", + "parsedUrl": "Parsed URL", + "splitQueryString": "Split Query String", + "key": "Key", + "value": "Value", + "component": "Component", + "result": "Result", + "secretKey": "Secret Key", + "algorithm": "Algorithm", + "version": "Version", + "amount": "Amount", + "type": "Type", + "length": "Length", + "options": "Options", + "numbers": "Numbers", + "symbols": "Symbols", + "lowercase": "Lowercase", + "uppercase": "Uppercase", + "placeholder": { + "text": "Enter a text", + "value": "Enter a value", + "secretKey": "Enter a secret key", + "url": "Enter a URL" + } + } +} diff --git a/src/main/services/i18n/locales/en/menu.json b/src/main/i18n/locales/en_US/menu.json similarity index 72% rename from src/main/services/i18n/locales/en/menu.json rename to src/main/i18n/locales/en_US/menu.json index 9f3685d6..c1603dbd 100644 --- a/src/main/services/i18n/locales/en/menu.json +++ b/src/main/i18n/locales/en_US/menu.json @@ -2,17 +2,11 @@ "app": { "label": "massCode", "preferences": "Preferences", - "update": { - "label": "Check for Updates....", - "message": "Version {{newVersion}} is now available for download.\nYour version is {{oldVersion}}.", - "button": ["Go to Download", "OK"], - "noUpdate": "There are currently no updates available." - }, + "devtools": "Developer Tools", + "update": "Check for Updates...", "quit": "Quit massCode", "about": "About massCode", - "hide": "Hide massCode", - "hideOther": "Hide Others", - "showAll": "Show All" + "hide": "Hide massCode" }, "help": { "label": "Help", @@ -38,10 +32,6 @@ "snippets": "Snippet Collection" } }, - "file": { - "label": "File", - "find": "Find" - }, "view": { "label": "View", "sortBy": { @@ -50,18 +40,11 @@ "dateCreated": "Date Created", "name": "Name" }, - "hideSubfolderSnippets": "Hide Subfolder Snippets", "compactMode": "Compact Mode" }, "edit": { "label": "Edit", - "undo": "Undo", - "redo": "Redo", - "cut": "Cut", - "copy": "Copy", - "paste": "Paste", - "delete": "Delete", - "selectAll": "Select All" + "find": "Find" }, "editor": { "label": "Editor", @@ -69,16 +52,16 @@ "format": "Format", "previewCode": "Preview Code", "previewScreenshot": "Preview Screenshot", - "previewMarkdown": "Preview Markdown", - "previewMindmap": "Preview Mindmap", "fontSizeIncrease": "Font Size Increase", "fontSizeDecrease": "Font Size Decrease", "fontSizeReset": "Font Size Reset" }, "markdown": { "label": "Markdown", + "preview": "Preview", + "previewMarkdown": "Preview Markdown", "presentationMode": "Presentation Mode", - "preview": "Preview" + "previewMindmap": "Preview Mindmap" }, "history": { "label": "History", diff --git a/src/main/i18n/locales/en_US/messages.json b/src/main/i18n/locales/en_US/messages.json new file mode 100644 index 00000000..edae0dc2 --- /dev/null +++ b/src/main/i18n/locales/en_US/messages.json @@ -0,0 +1,64 @@ +{ + "confirm": { + "delete": "Are you sure you want to delete \"{{name}}\"?", + "deletePermanently": "Are you sure you want to permanently delete \"{{name}}\"?", + "deleteConfirmMultipleSnippets": "Are you sure you want to permanently delete {{count}} selected snippets?", + "emptyTrash": "Are you sure you want to permanently delete all snippets in Trash?", + "clearDb": "Are you sure you want to clear the database?", + "migrateDb": [ + "Are you sure you want to migrate?", + "During migrate, the current library will be overwritten." + ], + "backup": { + "restore": "Are you sure you want to restore from this backup?", + "delete": "Are you sure you want to delete this backup?" + } + }, + "success": { + "migrate": "DB successfully migrated.", + "backup": { + "created": "Backup successfully created.", + "restored": "Backup successfully restored.", + "deleted": "Backup successfully deleted." + } + }, + "warning": { + "noUndo": "You cannot undo this action.", + "allSnippetsMoveToTrash": "All snippets in this folder will be moved to trash.", + "deleteTag": "This will also cause all snippets to have that tag removed.", + "createDb": "Please select another folder", + "clearDb": "This will permanently delete all Snippets, Folders, and Tags from the database.", + "htmlCssPreview": "Add HTML fragment to see the result. Add CSS for styling and JavaScript for interactivity.", + "codeBlockRenderer": [ + "When using Codemirror, the language to be set for the code block must correspond to one of the values of the", + "languages" + ] + }, + "error": { + "backup": "Backup operation failed" + }, + "description": { + "storage": "To use sync services like iCloud Drive, Google Drive or Dropbox, simply move storage to the corresponding synced folders", + "migrate": { + "fromV3": "To migrate from massCode v3 select the folder containing the JSON file.", + "fromSnippetsLab": "To migrate from SnippetsLab select JSON file.", + "snippetsLabLimitations": [ + "Some Limitations. During migration from SnippetsLab:", + "All folders will be first level as JSON file (below v2.1) does not represent nested folders.", + "Snippets with unsupported languages will be set to default Plain Text." + ] + }, + "language": "To apply language changes, you need to reload the app.", + "backup": { + "manual": "Manual backup will not be deleted automatically when the number of backups exceeds the limit." + } + }, + "special": { + "supportMessage": "Hi, Anton here 👋

    \nThanks for using massCode. If you find this app useful, please {{-tagStart}}donate{{-tagEnd}}. It will inspire me to continue development on the project.", + "unsponsored": "Unsponsored" + }, + "update": { + "available": "Version {{newVersion}} is now available for download.\nYour version is {{oldVersion}}.", + "noAvailable": "There are currently no updates available." + } +} diff --git a/src/main/services/i18n/locales/en/preferences.json b/src/main/i18n/locales/en_US/preferences.json similarity index 58% rename from src/main/services/i18n/locales/en/preferences.json rename to src/main/i18n/locales/en_US/preferences.json index 87fc2000..ebc93ebb 100644 --- a/src/main/services/i18n/locales/en/preferences.json +++ b/src/main/i18n/locales/en_US/preferences.json @@ -1,9 +1,31 @@ { - "title": "Preferences", + "label": "Preferences", "storage": { + "section": { + "main": "Main", + "backup": "Backup" + }, "label": "Storage", "migrate": "Migrate", - "count": "Count" + "count": "Count", + "clearDatabase": "Clear Database", + "backup": { + "label": "Backup", + "enabled": "Auto Backup", + "interval": { + "label": "Interval", + "1": "Every hour", + "6": "Every 6 hours", + "12": "Every 12 hours", + "24": "Every 24 hours" + }, + "maxBackups": "Maximum Backups", + "createNow": "Create Backup Now", + "restore": "Restore from Backup", + "list": "Backup List", + "lastBackup": "Last Backup", + "noBackups": "No backups found" + } }, "editor": { "label": "Editor", @@ -36,7 +58,8 @@ "theme": { "label": "Theme", "light": "Light", - "dark": "Dark" + "dark": "Dark", + "system": "System" } }, "language": { diff --git a/src/main/i18n/locales/en_US/ui.json b/src/main/i18n/locales/en_US/ui.json new file mode 100644 index 00000000..aa57f9f5 --- /dev/null +++ b/src/main/i18n/locales/en_US/ui.json @@ -0,0 +1,117 @@ +{ + "total": "Total", + "line": "Line", + "column": "Column", + "fragment": "Fragment", + "path": "Path", + "button": { + "back": "Back", + "cancel": "Cancel", + "clear": "Clear", + "confirm": "Confirm", + "copy": "Copy", + "fit": "Fit", + "generate": "Generate", + "ok": "OK", + "revers": "Revers", + "saveAs": "Save as", + "sort": "Sort", + "update": ["Go to GitHub", "OK"], + "zoomIn": "Zoom In", + "zoomOut": "Zoom Out", + "darkMode": "Dark Mode", + "toggleDarkMode": "Toggle Dark Mode", + "background": "Background", + "goToDownload": "Go to Download", + "refreshPreview": "Refresh Preview", + "laserPointer": "Laser Pointer", + "fullscreen": "Full Screen", + "prev": "Prev", + "next": "Next" + }, + "action": { + "close": "Close", + "defaultLanguage": "Default Language", + "duplicate": "Duplicate", + "rename": "Rename", + "restore": "Restore", + "setCustomIcon": "Set Custom Icon", + "show": "Show", + "hide": "Hide", + "new": { + "storage": "New Storage", + "folder": "New Folder", + "snippet": "New Snippet", + "fragment": "New Fragment" + }, + "add": { + "description": "Add Description", + "tag": "Add Tag", + "toFavorites": "Add to Favorites" + }, + "open": { + "storage": "Open Storage" + }, + "move": { + "storage": "Move Storage", + "toTrash": "Move to Trash" + }, + "remove": { + "fromFavorites": "Remove from Favorites" + }, + "reload": { + "storage": "Reload Storage", + "app": "Reload massCode" + }, + "delete": { + "common": "Delete", + "now": "Delete Now", + "allData": "Delete All Data", + "trash": "Empty Trash" + }, + "migrate": { + "fromSnippetsLab": "From SnippetsLab", + "fromV3": "From massCode v3" + }, + "export": { + "toHtml": "Export to HTML" + }, + "copy": { + "snippetLink": "Copy Snippet Link" + }, + "backup": { + "create": "Create Backup", + "restore": "Restore from Backup", + "showList": "Show List" + } + }, + "sidebar": { + "inbox": "Inbox", + "favorites": "Favorites", + "allSnippets": "All Snippets", + "trash": "Trash", + "folders": "Folders", + "library": "Library", + "tags": "Tags" + }, + "folder": { + "untitled": "Untitled folder", + "plural": "Folders", + "collapseAll": "Collapse All", + "expandAll": "Expand All" + }, + "snippet": { + "untitled": "Untitled snippet", + "plural": "Snippets", + "emptyName": "Type snippet name", + "selectedMultiple": "{{count}} Snippets Selected", + "noSelected": "No Snippet Selected" + }, + "placeholder": { + "emptyTagList": "Add tags to snippets to see them here", + "emptyFoldersList": "No Folders", + "emptySnippetsList": "No Snippets", + "search": "Search", + "addTag": "Add Tag" + } +} diff --git a/src/main/i18n/locales/es_ES/devtools.json b/src/main/i18n/locales/es_ES/devtools.json new file mode 100644 index 00000000..cf4ad0f3 --- /dev/null +++ b/src/main/i18n/locales/es_ES/devtools.json @@ -0,0 +1,143 @@ +{ + "label": "Herramientas de desarrollo", + "converters": { + "label": "Convertidores", + "caseConverter": { + "label": "Convertidor de mayúsculas", + "description": "Transformar texto a diferentes casos", + "caseType": { + "uppercase": "Uppercase", + "lowercase": "Lowercase", + "camelcase": "Camelcase", + "capitalize": "Capitalize", + "constantcase": "Constantcase", + "snakecase": "Snakecase", + "kebabcase": "Kebabcase", + "pascalcase": "Pascalcase", + "dotcase": "Dotcase", + "pathcase": "Pathcase" + } + }, + "textToUnicode": { + "label": "Texto a Unicode", + "description": "Convertir texto a Unicode y viceversa", + "modes": { + "textToUnicode": "Texto → Unicode", + "unicodeToText": "Unicode → Texto" + } + }, + "textToAscii": { + "label": "Texto a ASCII Binary", + "description": "Convertir texto a ASCII binary y viceversa", + "modes": { + "textToAscii": "Texto → ASCII", + "asciiToText": "ASCII → Texto" + } + }, + "base64": { + "label": "Base64 Encoder / Decoder", + "description": "Codificar o decodificar texto a Base64", + "modes": { + "textToBase64": "Texto → Base64", + "base64ToText": "Base64 → Texto" + } + }, + "jsonToYaml": { + "label": "JSON a YAML", + "description": "Convertir JSON a YAML y viceversa", + "modes": { + "jsonToYaml": "JSON → YAML", + "yamlToJson": "YAML → JSON" + } + }, + "jsonToToml": { + "label": "JSON a TOML", + "description": "Convertir JSON a TOML y viceversa", + "modes": { + "jsonToToml": "JSON → TOML", + "tomlToJson": "TOML → JSON" + } + }, + "jsonToXml": { + "label": "JSON a XML", + "description": "Convertir JSON a XML y viceversa", + "modes": { + "jsonToXml": "JSON → XML", + "xmlToJson": "XML → JSON" + } + }, + "colorConverter": { + "label": "Convertidor de colores", + "description": "Convertir colores entre diferentes formatos" + } + }, + "crypto": { + "label": "Criptografía / Seguridad", + "hash": { + "label": "Generador de hash", + "description": "Generar hashes a partir de texto" + }, + "hmac": { + "label": "Generador HMAC", + "description": "Generar código de autenticación de mensaje basado en hash (HMAC) compuesto por una clave y un mensaje" + }, + "password": { + "label": "Generador de contraseñas", + "description": "Generar una contraseña segura" + }, + "uuid": { + "label": "Generador UUID", + "description": "Generar un identificador único universal (UUID)" + } + }, + "web": { + "label": "Web", + "urlParser": { + "label": "Analizador URL", + "description": "Analizar una URL en sus componentes" + }, + "urlEncoder": { + "label": "URL Encoder / Decoder", + "description": "Codificar o decodificar URL", + "modes": { + "urlEncode": "URL Encode", + "urlDecode": "URL Decode" + } + }, + "slugify": { + "label": "Slugify", + "description": "Convertir texto a un slug compatible con URL" + } + }, + "form": { + "input": "Entrada", + "output": "Salida", + "inputString": "Cadena de entrada", + "outputString": "Cadena de salida", + "inputUrl": "URL de entrada", + "outputUrl": "URL de salida", + "parsedUrl": "URL analizada", + "splitQueryString": "Dividir Query String", + "key": "Clave", + "value": "Valor", + "component": "Componente", + "result": "Resultado", + "secretKey": "Clave secreta", + "algorithm": "Algoritmo", + "version": "Versión", + "amount": "Cantidad", + "type": "Tipo", + "length": "Longitud", + "options": "Opciones", + "numbers": "Números", + "symbols": "Símbolos", + "lowercase": "Minúsculas", + "uppercase": "Mayúsculas", + "placeholder": { + "text": "Ingrese un texto", + "value": "Ingrese un valor", + "secretKey": "Ingrese una clave secreta", + "url": "Ingrese una URL" + } + } +} diff --git a/src/main/i18n/locales/es_ES/menu.json b/src/main/i18n/locales/es_ES/menu.json new file mode 100644 index 00000000..73fda595 --- /dev/null +++ b/src/main/i18n/locales/es_ES/menu.json @@ -0,0 +1,74 @@ +{ + "app": { + "label": "massCode", + "preferences": "Preferencias", + "devtools": "Herramientas de Desarrollo", + "update": "Buscar Actualizaciones...", + "quit": "Salir de massCode", + "about": "Acerca de massCode", + "hide": "Ocultar massCode" + }, + "help": { + "label": "Ayuda", + "website": "Sitio Web", + "documentation": "Documentación", + "viewInGitHub": "Ver en GitHub", + "changeLog": "Registro de Cambios", + "reportIssue": "Reportar Problema", + "giveStar": "Dar una Estrella", + "extension": { + "vscode": "Extensión VS Code", + "raycast": "Extensión Raycast", + "alfred": "Extensión Alfred" + }, + "donate": { + "openCollective": "Donar en Open Collective", + "payPal": "Donar vía PayPal", + "gumroad": "Donar vía Gumroad (Visa, Mastercard, etc.)" + }, + "twitter": "Twitter", + "devTools": "Alternar Herramientas de Desarrollo", + "links": { + "snippets": "Colección de Snippets" + } + }, + "edit": { + "label": "Editar", + "find": "Buscar" + }, + "view": { + "label": "Vista", + "sortBy": { + "label": "Ordenar Snippets Por", + "dateModified": "Fecha de Modificación", + "dateCreated": "Fecha de Creación", + "name": "Nombre" + }, + "compactMode": "Modo Compacto" + }, + "editor": { + "label": "Editor", + "copy": "Copiar Snippet al Portapapeles", + "format": "Formatear", + "previewCode": "Vista Previa del Código", + "previewScreenshot": "Vista Previa de Captura", + "fontSizeIncrease": "Aumentar Tamaño de Fuente", + "fontSizeDecrease": "Disminuir Tamaño de Fuente", + "fontSizeReset": "Restablecer Tamaño de Fuente" + }, + "markdown": { + "label": "Markdown", + "presentationMode": "Modo Presentación", + "preview": "Vista Previa", + "previewMarkdown": "Vista Previa de Markdown", + "previewMindmap": "Vista Previa de Mapa Mental" + }, + "history": { + "label": "Historial", + "back": "Atrás", + "forward": "Adelante" + }, + "devtools": { + "label": "Herramientas de Desarrollo" + } +} diff --git a/src/main/i18n/locales/es_ES/messages.json b/src/main/i18n/locales/es_ES/messages.json new file mode 100644 index 00000000..ff92bb0c --- /dev/null +++ b/src/main/i18n/locales/es_ES/messages.json @@ -0,0 +1,49 @@ +{ + "confirm": { + "delete": "¿Estás seguro de que quieres eliminar \"{{name}}\"?", + "deletePermanently": "¿Estás seguro de que quieres eliminar permanentemente \"{{name}}\"?", + "deleteConfirmMultipleSnippets": "¿Estás seguro de que quieres eliminar permanentemente {{count}} snippets seleccionados?", + "emptyTrash": "¿Estás seguro de que quieres eliminar permanentemente todos los snippets de la Papelera?", + "clearDb": "¿Estás seguro de que quieres limpiar la base de datos?", + "migrateDb": [ + "¿Estás seguro de que quieres migrar?", + "Durante la migración, la biblioteca actual será sobrescrita." + ] + }, + "success": { + "migrate": "Base de datos migrada exitosamente." + }, + "warning": { + "noUndo": "No podrás deshacer esta acción.", + "allSnippetsMoveToTrash": "Todos los snippets en esta carpeta se moverán a la papelera.", + "deleteTag": "Esto también causará que se elimine la etiqueta de todos los snippets.", + "createDb": "Por favor selecciona otra carpeta", + "clearDb": "Esto eliminará permanentemente todos los Snippets, Carpetas y Etiquetas de la base de datos.", + "htmlCssPreview": "Agregue un fragmento HTML para ver el resultado. Agregue CSS para el estilo y JavaScript para la interactividad.", + "codeBlockRenderer": [ + "Al usar Codemirror, el lenguaje a establecer para el bloque de código debe corresponder a uno de los valores de los", + "languages" + ] + }, + "error": {}, + "description": { + "storage": "Para usar servicios de sincronización como iCloud Drive, Google Drive o Dropbox, simplemente mueve el almacenamiento a las carpetas sincronizadas correspondientes", + "migrate": { + "fromV3": "Para migrar desde massCode v3 selecciona la carpeta que contiene el archivo JSON.", + "fromSnippetsLab": "Para migrar desde SnippetsLab selecciona el archivo JSON.", + "snippetsLabLimitations": [ + "Algunas limitaciones. Durante la migración desde SnippetsLab:", + "Todas las carpetas serán de primer nivel ya que el archivo JSON (inferior a v2.1) no representa carpetas anidadas.", + "Los snippets con lenguajes no soportados se establecerán como Plain Text por defecto." + ] + } + }, + "special": { + "supportMessage": "Hola, soy Anton 👋

    \nGracias por usar massCode. Si encuentras útil esta aplicación, por favor {{-tagStart}}dona{{-tagEnd}}. Me inspirará a continuar el desarrollo del proyecto.", + "unsponsored": "Sin patrocinio" + }, + "update": { + "available": "La versión {{newVersion}} está disponible para descargar.\nTu versión es {{oldVersion}}.", + "noAvailable": "Actualmente no hay actualizaciones disponibles." + } +} diff --git a/src/main/services/i18n/locales/es_ES/preferences.json b/src/main/i18n/locales/es_ES/preferences.json similarity index 57% rename from src/main/services/i18n/locales/es_ES/preferences.json rename to src/main/i18n/locales/es_ES/preferences.json index ee1a5d5d..798dc065 100644 --- a/src/main/services/i18n/locales/es_ES/preferences.json +++ b/src/main/i18n/locales/es_ES/preferences.json @@ -1,33 +1,35 @@ { - "title": "Preferencias", + "label": "Preferencias", "storage": { "label": "Almacenamiento", "migrate": "Migrar", - "count": "Total" + "count": "Cantidad", + "clearDatabase": "Limpiar Base de Datos" }, "editor": { "label": "Editor", "fontSize": "Tamaño de Fuente", "fontFamily": "Familia de Fuente", "wrap": { - "label": "Envolver", - "wordWrap": "Envolver Palabra", - "off": "Off" + "label": "Ajuste", + "wordWrap": "Ajuste de Texto", + "off": "Desactivado" }, "tabSize": "Tamaño de Tabulación", "showInvisibles": "Mostrar Invisibles", "highlightLine": "Resaltar Línea", - "highlightGutter": "Resaltar Gutter", + "highlightGutter": "Resaltar Margen", + "matchBrackets": "Emparejar Corchetes", "prettier": { "label": "Prettier", "trailingComma": { "label": "Coma Final", "none": "Ninguna", - "all": "Todo", + "all": "Todas", "es5": "ES5" }, - "semi": "Semi", - "singleQuote": "Comillas Simple" + "semi": "Punto y Coma", + "singleQuote": "Comilla Simple" } }, "appearance": { @@ -39,6 +41,10 @@ } }, "language": { - "label": "Lenguage" + "label": "Idioma" + }, + "markdown": { + "label": "Markdown", + "codeRenderer": "Renderizador de Bloques de Código" } } diff --git a/src/main/i18n/locales/es_ES/ui.json b/src/main/i18n/locales/es_ES/ui.json new file mode 100644 index 00000000..e40215eb --- /dev/null +++ b/src/main/i18n/locales/es_ES/ui.json @@ -0,0 +1,111 @@ +{ + "total": "Total", + "line": "Línea", + "column": "Columna", + "fragment": "Fragmento", + "path": "Ruta", + "button": { + "back": "Atrás", + "cancel": "Cancelar", + "clear": "Limpiar", + "confirm": "Confirmar", + "copy": "Copiar", + "fit": "Ajustar", + "generate": "Generar", + "ok": "OK", + "revers": "Invertir", + "saveAs": "Guardar como", + "sort": "Ordenar", + "update": ["Ir a GitHub", "OK"], + "zoomIn": "Acercar", + "zoomOut": "Alejar", + "darkMode": "Modo Oscuro", + "toggleDarkMode": "Alternar modo oscuro", + "background": "Fondo", + "goToDownload": "Ir a Descargar", + "refreshPreview": "Actualizar vista previa", + "laserPointer": "Puntero láser", + "fullscreen": "Pantalla completa", + "prev": "Anterior", + "next": "Siguiente" + }, + "action": { + "close": "Cerrar", + "defaultLanguage": "Lenguaje Predeterminado", + "duplicate": "Duplicar", + "rename": "Renombrar", + "restore": "Restaurar", + "setCustomIcon": "Establecer Icono Personalizado", + "show": "Mostrar", + "hide": "Ocultar", + "new": { + "storage": "Nuevo Almacenamiento", + "folder": "Nueva Carpeta", + "snippet": "Nuevo Snippet", + "fragment": "Nuevo Fragmento" + }, + "add": { + "description": "Agregar Descripción", + "tag": "Agregar Etiqueta", + "toFavorites": "Agregar a Favoritos" + }, + "open": { + "storage": "Abrir Almacenamiento" + }, + "move": { + "storage": "Mover Almacenamiento", + "toTrash": "Mover a la Papelera" + }, + "remove": { + "fromFavorites": "Eliminar de Favoritos" + }, + "reload": { + "storage": "Recargar Almacenamiento" + }, + "delete": { + "common": "Eliminar", + "now": "Eliminar Ahora", + "allData": "Eliminar Todos los Datos", + "trash": "Vaciar Papelera" + }, + "migrate": { + "fromSnippetsLab": "Desde SnippetsLab", + "fromV3": "Desde massCode v3" + }, + "export": { + "toHtml": "Exportar a HTML" + }, + "copy": { + "snippetLink": "Copiar Enlace del Snippet" + } + }, + "sidebar": { + "inbox": "Bandeja de entrada", + "favorites": "Favoritos", + "allSnippets": "Todos los Snippets", + "trash": "Papelera", + "folders": "Carpetas", + "library": "Biblioteca", + "tags": "Etiquetas" + }, + "folder": { + "untitled": "Carpeta sin título", + "plural": "Carpetas", + "collapseAll": "Contraer Todo", + "expandAll": "Expandir Todo" + }, + "snippet": { + "untitled": "Snippet sin título", + "plural": "Snippets", + "emptyName": "Escriba el nombre del snippet", + "selectedMultiple": "{{count}} Snippets Seleccionados", + "noSelected": "Ningún Snippet Seleccionado" + }, + "placeholder": { + "emptyTagList": "Agregue etiquetas a los snippets para verlos aquí", + "emptyFoldersList": "Sin carpetas", + "emptySnippetsList": "Sin fragmentos", + "search": "Buscar", + "addTag": "Agregar Etiqueta" + } +} diff --git a/src/main/i18n/locales/fa_IR/devtools.json b/src/main/i18n/locales/fa_IR/devtools.json new file mode 100644 index 00000000..ca30fcfa --- /dev/null +++ b/src/main/i18n/locales/fa_IR/devtools.json @@ -0,0 +1,143 @@ +{ + "label": "ابزارهای توسعه‌دهنده", + "converters": { + "label": "مبدل‌ها", + "caseConverter": { + "label": "مبدل حروف بزرگ و کوچک", + "description": "تبدیل متن به فرمت‌های مختلف حروف", + "caseType": { + "uppercase": "Uppercase", + "lowercase": "Lowercase", + "camelcase": "Camelcase", + "capitalize": "Capitalize", + "constantcase": "Constantcase", + "snakecase": "Snakecase", + "kebabcase": "Kebabcase", + "pascalcase": "Pascalcase", + "dotcase": "Dotcase", + "pathcase": "Pathcase" + } + }, + "textToUnicode": { + "label": "متن به Unicode", + "description": "تبدیل متن به Unicode و برعکس", + "modes": { + "textToUnicode": "متن ← Unicode", + "unicodeToText": "Unicode ← متن" + } + }, + "textToAscii": { + "label": "متن به ASCII Binary", + "description": "تبدیل متن به ASCII binary و برعکس", + "modes": { + "textToAscii": "متن ← ASCII", + "asciiToText": "ASCII ← متن" + } + }, + "base64": { + "label": "Base64 Encoder / Decoder", + "description": "رمزگذاری یا رمزگشایی متن به Base64", + "modes": { + "textToBase64": "متن ← Base64", + "base64ToText": "Base64 ← متن" + } + }, + "jsonToYaml": { + "label": "JSON به YAML", + "description": "تبدیل JSON به YAML و برعکس", + "modes": { + "jsonToYaml": "JSON ← YAML", + "yamlToJson": "YAML ← JSON" + } + }, + "jsonToToml": { + "label": "JSON به TOML", + "description": "تبدیل JSON به TOML و برعکس", + "modes": { + "jsonToToml": "JSON ← TOML", + "tomlToJson": "TOML ← JSON" + } + }, + "jsonToXml": { + "label": "JSON به XML", + "description": "تبدیل JSON به XML و برعکس", + "modes": { + "jsonToXml": "JSON ← XML", + "xmlToJson": "XML ← JSON" + } + }, + "colorConverter": { + "label": "مبدل رنگ", + "description": "تبدیل رنگ‌ها بین فرمت‌های مختلف" + } + }, + "crypto": { + "label": "رمزنگاری / امنیت", + "hash": { + "label": "تولیدکننده Hash", + "description": "تولید hash از متن" + }, + "hmac": { + "label": "تولیدکننده HMAC", + "description": "تولید کد احراز هویت پیام مبتنی بر hash (HMAC) متشکل از کلید و پیام" + }, + "password": { + "label": "تولیدکننده رمز عبور", + "description": "تولید رمز عبور امن" + }, + "uuid": { + "label": "تولیدکننده UUID", + "description": "تولید شناسه منحصر به فرد جهانی (UUID)" + } + }, + "web": { + "label": "وب", + "urlParser": { + "label": "تجزیه‌کننده URL", + "description": "تجزیه URL به اجزای آن" + }, + "urlEncoder": { + "label": "URL Encoder / Decoder", + "description": "رمزگذاری یا رمزگشایی URL", + "modes": { + "urlEncode": "URL Encode", + "urlDecode": "URL Decode" + } + }, + "slugify": { + "label": "Slugify", + "description": "تبدیل متن به slug سازگار با URL" + } + }, + "form": { + "input": "ورودی", + "output": "خروجی", + "inputString": "رشته ورودی", + "outputString": "رشته خروجی", + "inputUrl": "URL ورودی", + "outputUrl": "URL خروجی", + "parsedUrl": "URL تجزیه شده", + "splitQueryString": "تقسیم Query String", + "key": "کلید", + "value": "مقدار", + "component": "جزء", + "result": "نتیجه", + "secretKey": "کلید مخفی", + "algorithm": "الگوریتم", + "version": "نسخه", + "amount": "مقدار", + "type": "نوع", + "length": "طول", + "options": "گزینه‌ها", + "numbers": "اعداد", + "symbols": "نمادها", + "lowercase": "حروف کوچک", + "uppercase": "حروف بزرگ", + "placeholder": { + "text": "متن وارد کنید", + "value": "مقدار وارد کنید", + "secretKey": "کلید مخفی وارد کنید", + "url": "URL وارد کنید" + } + } +} diff --git a/src/main/i18n/locales/fa_IR/menu.json b/src/main/i18n/locales/fa_IR/menu.json new file mode 100644 index 00000000..9d9755bb --- /dev/null +++ b/src/main/i18n/locales/fa_IR/menu.json @@ -0,0 +1,74 @@ +{ + "app": { + "label": "massCode", + "preferences": "تنظیمات", + "devtools": "ابزارهای توسعه", + "update": "بررسی به‌روزرسانی‌ها...", + "quit": "خروج از massCode", + "about": "درباره massCode", + "hide": "مخفی کردن massCode" + }, + "help": { + "label": "راهنما", + "website": "وب‌سایت", + "documentation": "مستندات", + "viewInGitHub": "مشاهده در GitHub", + "changeLog": "تغییرات", + "reportIssue": "گزارش مشکل", + "giveStar": "دادن ستاره", + "extension": { + "vscode": "افزونه VS Code", + "raycast": "افزونه Raycast", + "alfred": "افزونه Alfred" + }, + "donate": { + "openCollective": "حمایت مالی در Open Collective", + "payPal": "حمایت مالی از طریق PayPal", + "gumroad": "حمایت مالی از طریق Gumroad (Visa، Mastercard و غیره)" + }, + "twitter": "Twitter", + "devTools": "تغییر وضعیت ابزارهای توسعه", + "links": { + "snippets": "مجموعه Snippet" + } + }, + "edit": { + "label": "ویرایش", + "find": "جستجو" + }, + "view": { + "label": "نمایش", + "sortBy": { + "label": "مرتب‌سازی Snippetها بر اساس", + "dateModified": "تاریخ ویرایش", + "dateCreated": "تاریخ ایجاد", + "name": "نام" + }, + "compactMode": "حالت فشرده" + }, + "editor": { + "label": "ویرایشگر", + "copy": "کپی Snippet به کلیپ‌بورد", + "format": "قالب‌بندی", + "previewCode": "پیش‌نمایش کد", + "previewScreenshot": "پیش‌نمایش تصویر", + "fontSizeIncrease": "افزایش اندازه فونت", + "fontSizeDecrease": "کاهش اندازه فونت", + "fontSizeReset": "بازنشانی اندازه فونت" + }, + "markdown": { + "label": "Markdown", + "presentationMode": "حالت ارائه", + "preview": "پیش‌نمایش", + "previewMarkdown": "پیش‌نمایش Markdown", + "previewMindmap": "پیش‌نمایش نقشه ذهنی" + }, + "history": { + "label": "تاریخچه", + "back": "عقب", + "forward": "جلو" + }, + "devtools": { + "label": "ابزارهای توسعه" + } +} diff --git a/src/main/i18n/locales/fa_IR/messages.json b/src/main/i18n/locales/fa_IR/messages.json new file mode 100644 index 00000000..982fb11d --- /dev/null +++ b/src/main/i18n/locales/fa_IR/messages.json @@ -0,0 +1,49 @@ +{ + "confirm": { + "delete": "آیا مطمئن هستید که می‌خواهید \"{{name}}\" را حذف کنید؟", + "deletePermanently": "آیا مطمئن هستید که می‌خواهید \"{{name}}\" را به طور دائم حذف کنید؟", + "deleteConfirmMultipleSnippets": "آیا مطمئن هستید که می‌خواهید {{count}} snippet انتخاب شده را به طور دائم حذف کنید؟", + "emptyTrash": "آیا مطمئن هستید که می‌خواهید تمام snippets موجود در سطل زباله را به طور دائم حذف کنید؟", + "clearDb": "آیا مطمئن هستید که می‌خواهید پایگاه داده را پاک کنید؟", + "migrateDb": [ + "آیا مطمئن هستید که می‌خواهید مهاجرت کنید؟", + "در طول مهاجرت، کتابخانه فعلی بازنویسی خواهد شد." + ] + }, + "success": { + "migrate": "پایگاه داده با موفقیت مهاجرت کرد." + }, + "warning": { + "noUndo": "شما نمی‌توانید این عمل را برگردانید.", + "allSnippetsMoveToTrash": "تمام snippets در این پوشه به سطل زباله منتقل خواهند شد.", + "deleteTag": "این کار باعث حذف برچسب از تمام snippets خواهد شد.", + "createDb": "لطفاً پوشه دیگری را انتخاب کنید", + "clearDb": "این کار تمام Snippets، پوشه‌ها و برچسب‌ها را از پایگاه داده به طور دائم حذف خواهد کرد.", + "htmlCssPreview": "برای دیدن نتیجه، یک قطعه HTML اضافه کنید. برای استایل‌دهی CSS و برای تعامل JavaScript اضافه کنید.", + "codeBlockRenderer": [ + "هنگام استفاده از Codemirror، زبان تنظیم شده برای بلوک کد باید با یکی از مقادیر", + "languages" + ] + }, + "error": {}, + "description": { + "storage": "برای استفاده از سرویس‌های همگام‌سازی مانند iCloud Drive، Google Drive یا Dropbox، کافیست محل ذخیره‌سازی را به پوشه‌های همگام‌سازی شده مربوطه منتقل کنید", + "migrate": { + "fromV3": "برای مهاجرت از massCode v3 پوشه حاوی فایل JSON را انتخاب کنید.", + "fromSnippetsLab": "برای مهاجرت از SnippetsLab فایل JSON را انتخاب کنید.", + "snippetsLabLimitations": [ + "برخی محدودیت‌ها. در طول مهاجرت از SnippetsLab:", + "تمام پوشه‌ها در سطح اول خواهند بود زیرا فایل JSON (نسخه زیر 2.1) پوشه‌های تو در تو را نمایش نمی‌دهد.", + "Snippets با زبان‌های پشتیبانی نشده به صورت پیش‌فرض به Plain Text تنظیم خواهند شد." + ] + } + }, + "special": { + "supportMessage": "سلام، من Anton هستم 👋

    \nممنون از استفاده شما از massCode. اگر این برنامه را مفید می‌دانید، لطفاً {{-tagStart}}حمایت مالی کنید{{-tagEnd}}. این کار به من انگیزه می‌دهد تا به توسعه پروژه ادامه دهم.", + "unsponsored": "بدون حامی مالی" + }, + "update": { + "available": "نسخه {{newVersion}} برای دانلود در دسترس است.\nنسخه شما {{oldVersion}} است.", + "noAvailable": "در حال حاضر به‌روزرسانی در دسترس نیست." + } +} diff --git a/src/main/i18n/locales/fa_IR/preferences.json b/src/main/i18n/locales/fa_IR/preferences.json new file mode 100644 index 00000000..83a97da8 --- /dev/null +++ b/src/main/i18n/locales/fa_IR/preferences.json @@ -0,0 +1,50 @@ +{ + "label": "تنظیمات", + "storage": { + "label": "ذخیره‌سازی", + "migrate": "مهاجرت", + "count": "تعداد", + "clearDatabase": "پاک کردن پایگاه داده" + }, + "editor": { + "label": "ویرایشگر", + "fontSize": "اندازه فونت", + "fontFamily": "خانواده فونت", + "wrap": { + "label": "شکستن خط", + "wordWrap": "شکستن کلمه", + "off": "خاموش" + }, + "tabSize": "اندازه تب", + "showInvisibles": "نمایش نامرئی‌ها", + "highlightLine": "برجسته کردن خط", + "highlightGutter": "برجسته کردن حاشیه", + "matchBrackets": "تطبیق پرانتزها", + "prettier": { + "label": "Prettier", + "trailingComma": { + "label": "کاما انتهایی", + "none": "هیچ", + "all": "همه", + "es5": "ES5" + }, + "semi": "نقطه‌ویرگول", + "singleQuote": "تک کوتیشن" + } + }, + "appearance": { + "label": "ظاهر", + "theme": { + "label": "تم", + "light": "روشن", + "dark": "تاریک" + } + }, + "language": { + "label": "زبان" + }, + "markdown": { + "label": "Markdown", + "codeRenderer": "رندرکننده بلوک کد" + } +} diff --git a/src/main/i18n/locales/fa_IR/ui.json b/src/main/i18n/locales/fa_IR/ui.json new file mode 100644 index 00000000..baaf1258 --- /dev/null +++ b/src/main/i18n/locales/fa_IR/ui.json @@ -0,0 +1,111 @@ +{ + "total": "مجموع", + "line": "خط", + "column": "ستون", + "fragment": "قطعه", + "path": "مسیر", + "button": { + "back": "بازگشت", + "cancel": "لغو", + "clear": "پاک کردن", + "confirm": "تایید", + "copy": "کپی", + "fit": "متناسب", + "generate": "تولید", + "ok": "تایید", + "revers": "معکوس", + "saveAs": "ذخیره به عنوان", + "sort": "مرتب‌سازی", + "update": ["رفتن به GitHub", "تایید"], + "zoomIn": "بزرگنمایی", + "zoomOut": "کوچک‌نمایی", + "darkMode": "حالت تاریک", + "toggleDarkMode": "تغییر حالت تاریک", + "background": "پس‌زمینه", + "goToDownload": "رفتن به دانلود", + "refreshPreview": "به‌روزرسانی پیش‌نمایش", + "laserPointer": "اشاره‌گر لیزری", + "fullscreen": "تمام صفحه", + "prev": "قبلی", + "next": "بعدی" + }, + "action": { + "close": "بستن", + "defaultLanguage": "زبان پیش‌فرض", + "duplicate": "تکثیر", + "rename": "تغییر نام", + "restore": "بازیابی", + "setCustomIcon": "تنظیم آیکون سفارشی", + "show": "نمایش", + "hide": "پنهان", + "new": { + "storage": "فضای ذخیره‌سازی جدید", + "folder": "پوشه جدید", + "snippet": "Snippet جدید", + "fragment": "قطعه جدید" + }, + "add": { + "description": "افزودن توضیحات", + "tag": "افزودن برچسب", + "toFavorites": "افزودن به علاقه‌مندی‌ها" + }, + "open": { + "storage": "باز کردن فضای ذخیره‌سازی" + }, + "move": { + "storage": "انتقال فضای ذخیره‌سازی", + "toTrash": "انتقال به سطل زباله" + }, + "remove": { + "fromFavorites": "حذف از علاقه‌مندی‌ها" + }, + "reload": { + "storage": "بارگذاری مجدد فضای ذخیره‌سازی" + }, + "delete": { + "common": "حذف", + "now": "حذف اکنون", + "allData": "حذف تمام داده‌ها", + "trash": "خالی کردن سطل زباله" + }, + "migrate": { + "fromSnippetsLab": "از SnippetsLab", + "fromV3": "از massCode v3" + }, + "export": { + "toHtml": "خروجی به HTML" + }, + "copy": { + "snippetLink": "کپی لینک Snippet" + } + }, + "sidebar": { + "inbox": "صندوق ورودی", + "favorites": "علاقه‌مندی‌ها", + "allSnippets": "همه Snippetها", + "trash": "سطل زباله", + "folders": "پوشه‌ها", + "library": "کتابخانه", + "tags": "برچسب‌ها" + }, + "folder": { + "untitled": "پوشه بدون عنوان", + "plural": "پوشه‌ها", + "collapseAll": "بستن همه", + "expandAll": "باز کردن همه" + }, + "snippet": { + "untitled": "Snippet بدون عنوان", + "plural": "Snippetها", + "emptyName": "نام snippet را وارد کنید", + "selectedMultiple": "{{count}} Snippet انتخاب شده", + "noSelected": "هیچ Snippet انتخاب نشده" + }, + "placeholder": { + "emptyTagList": "برای مشاهده snippetها در اینجا، به آنها برچسب اضافه کنید", + "emptyFoldersList": "بدون پوشه", + "emptySnippetsList": "بدون اسنیپت", + "search": "جستجو", + "addTag": "افزودن برچسب" + } +} diff --git a/src/main/i18n/locales/fr_FR/devtools.json b/src/main/i18n/locales/fr_FR/devtools.json new file mode 100644 index 00000000..c4880316 --- /dev/null +++ b/src/main/i18n/locales/fr_FR/devtools.json @@ -0,0 +1,143 @@ +{ + "label": "Outils de développement", + "converters": { + "label": "Convertisseurs", + "caseConverter": { + "label": "Convertisseur de casse", + "description": "Transformer le texte en différentes casses", + "caseType": { + "uppercase": "Uppercase", + "lowercase": "Lowercase", + "camelcase": "Camelcase", + "capitalize": "Capitalize", + "constantcase": "Constantcase", + "snakecase": "Snakecase", + "kebabcase": "Kebabcase", + "pascalcase": "Pascalcase", + "dotcase": "Dotcase", + "pathcase": "Pathcase" + } + }, + "textToUnicode": { + "label": "Texte vers Unicode", + "description": "Convertir le texte en Unicode et vice versa", + "modes": { + "textToUnicode": "Texte → Unicode", + "unicodeToText": "Unicode → Texte" + } + }, + "textToAscii": { + "label": "Texte vers ASCII Binary", + "description": "Convertir le texte en ASCII binary et vice versa", + "modes": { + "textToAscii": "Texte → ASCII", + "asciiToText": "ASCII → Texte" + } + }, + "base64": { + "label": "Base64 Encoder / Decoder", + "description": "Encoder ou décoder le texte en Base64", + "modes": { + "textToBase64": "Texte → Base64", + "base64ToText": "Base64 → Texte" + } + }, + "jsonToYaml": { + "label": "JSON vers YAML", + "description": "Convertir JSON en YAML et vice versa", + "modes": { + "jsonToYaml": "JSON → YAML", + "yamlToJson": "YAML → JSON" + } + }, + "jsonToToml": { + "label": "JSON vers TOML", + "description": "Convertir JSON en TOML et vice versa", + "modes": { + "jsonToToml": "JSON → TOML", + "tomlToJson": "TOML → JSON" + } + }, + "jsonToXml": { + "label": "JSON vers XML", + "description": "Convertir JSON en XML et vice versa", + "modes": { + "jsonToXml": "JSON → XML", + "xmlToJson": "XML → JSON" + } + }, + "colorConverter": { + "label": "Convertisseur de couleurs", + "description": "Convertir les couleurs entre différents formats" + } + }, + "crypto": { + "label": "Cryptographie / Sécurité", + "hash": { + "label": "Générateur de hash", + "description": "Générer des hashes à partir de texte" + }, + "hmac": { + "label": "Générateur HMAC", + "description": "Générer un code d'authentification de message basé sur le hash (HMAC) composé d'une clé et d'un message" + }, + "password": { + "label": "Générateur de mot de passe", + "description": "Générer un mot de passe sécurisé" + }, + "uuid": { + "label": "Générateur UUID", + "description": "Générer un identifiant unique universel (UUID)" + } + }, + "web": { + "label": "Web", + "urlParser": { + "label": "Analyseur URL", + "description": "Analyser une URL en ses composants" + }, + "urlEncoder": { + "label": "URL Encoder / Decoder", + "description": "Encoder ou décoder une URL", + "modes": { + "urlEncode": "URL Encode", + "urlDecode": "URL Decode" + } + }, + "slugify": { + "label": "Slugify", + "description": "Convertir le texte en slug compatible URL" + } + }, + "form": { + "input": "Entrée", + "output": "Sortie", + "inputString": "Chaîne d'entrée", + "outputString": "Chaîne de sortie", + "inputUrl": "URL d'entrée", + "outputUrl": "URL de sortie", + "parsedUrl": "URL analysée", + "splitQueryString": "Diviser Query String", + "key": "Clé", + "value": "Valeur", + "component": "Composant", + "result": "Résultat", + "secretKey": "Clé secrète", + "algorithm": "Algorithme", + "version": "Version", + "amount": "Quantité", + "type": "Type", + "length": "Longueur", + "options": "Options", + "numbers": "Chiffres", + "symbols": "Symboles", + "lowercase": "Minuscules", + "uppercase": "Majuscules", + "placeholder": { + "text": "Entrez un texte", + "value": "Entrez une valeur", + "secretKey": "Entrez une clé secrète", + "url": "Entrez une URL" + } + } +} diff --git a/src/main/i18n/locales/fr_FR/menu.json b/src/main/i18n/locales/fr_FR/menu.json new file mode 100644 index 00000000..d2744fa9 --- /dev/null +++ b/src/main/i18n/locales/fr_FR/menu.json @@ -0,0 +1,74 @@ +{ + "app": { + "label": "massCode", + "preferences": "Préférences", + "devtools": "Outils de développement", + "update": "Rechercher des mises à jour...", + "quit": "Quitter massCode", + "about": "À propos de massCode", + "hide": "Masquer massCode" + }, + "help": { + "label": "Aide", + "website": "Site Web", + "documentation": "Documentation", + "viewInGitHub": "Voir sur GitHub", + "changeLog": "Journal des modifications", + "reportIssue": "Signaler un problème", + "giveStar": "Donner une étoile", + "extension": { + "vscode": "Extension VS Code", + "raycast": "Extension Raycast", + "alfred": "Extension Alfred" + }, + "donate": { + "openCollective": "Faire un don sur Open Collective", + "payPal": "Faire un don via PayPal", + "gumroad": "Faire un don via Gumroad (Visa, Mastercard, etc.)" + }, + "twitter": "Twitter", + "devTools": "Basculer les outils de développement", + "links": { + "snippets": "Collection de snippets" + } + }, + "edit": { + "label": "Édition", + "find": "Rechercher" + }, + "view": { + "label": "Affichage", + "sortBy": { + "label": "Trier les snippets par", + "dateModified": "Date de modification", + "dateCreated": "Date de création", + "name": "Nom" + }, + "compactMode": "Mode compact" + }, + "editor": { + "label": "Éditeur", + "copy": "Copier le snippet dans le presse-papiers", + "format": "Formater", + "previewCode": "Aperçu du code", + "previewScreenshot": "Aperçu de la capture d'écran", + "fontSizeIncrease": "Augmenter la taille de la police", + "fontSizeDecrease": "Diminuer la taille de la police", + "fontSizeReset": "Réinitialiser la taille de la police" + }, + "markdown": { + "label": "Markdown", + "presentationMode": "Mode présentation", + "preview": "Aperçu", + "previewMarkdown": "Aperçu Markdown", + "previewMindmap": "Aperçu de la carte mentale" + }, + "history": { + "label": "Historique", + "back": "Retour", + "forward": "Suivant" + }, + "devtools": { + "label": "Outils de développement" + } +} diff --git a/src/main/i18n/locales/fr_FR/messages.json b/src/main/i18n/locales/fr_FR/messages.json new file mode 100644 index 00000000..43f08d48 --- /dev/null +++ b/src/main/i18n/locales/fr_FR/messages.json @@ -0,0 +1,49 @@ +{ + "confirm": { + "delete": "Êtes-vous sûr de vouloir supprimer \"{{name}}\" ?", + "deletePermanently": "Êtes-vous sûr de vouloir supprimer définitivement \"{{name}}\" ?", + "deleteConfirmMultipleSnippets": "Êtes-vous sûr de vouloir supprimer définitivement les {{count}} snippets sélectionnés ?", + "emptyTrash": "Êtes-vous sûr de vouloir supprimer définitivement tous les snippets de la Corbeille ?", + "clearDb": "Êtes-vous sûr de vouloir effacer la base de données ?", + "migrateDb": [ + "Êtes-vous sûr de vouloir migrer ?", + "Pendant la migration, la bibliothèque actuelle sera écrasée." + ] + }, + "success": { + "migrate": "Base de données migrée avec succès." + }, + "warning": { + "noUndo": "Vous ne pouvez pas annuler cette action.", + "allSnippetsMoveToTrash": "Tous les snippets de ce dossier seront déplacés dans la corbeille.", + "deleteTag": "Cela supprimera également cette étiquette de tous les snippets.", + "createDb": "Veuillez sélectionner un autre dossier", + "clearDb": "Cela supprimera définitivement tous les Snippets, Dossiers et Étiquettes de la base de données.", + "htmlCssPreview": "Ajoutez un fragment HTML pour voir le résultat. Ajoutez du CSS pour le style et JavaScript pour l'interactivité.", + "codeBlockRenderer": [ + "Lors de l'utilisation de Codemirror, le langage à définir pour le bloc de code doit correspondre à l'une des valeurs des", + "languages" + ] + }, + "error": {}, + "description": { + "storage": "Pour utiliser des services de synchronisation comme iCloud Drive, Google Drive ou Dropbox, déplacez simplement le stockage vers les dossiers synchronisés correspondants", + "migrate": { + "fromV3": "Pour migrer depuis massCode v3, sélectionnez le dossier contenant le fichier JSON.", + "fromSnippetsLab": "Pour migrer depuis SnippetsLab, sélectionnez le fichier JSON.", + "snippetsLabLimitations": [ + "Quelques limitations. Pendant la migration depuis SnippetsLab :", + "Tous les dossiers seront au premier niveau car le fichier JSON (inférieur à v2.1) ne représente pas les dossiers imbriqués.", + "Les snippets avec des langages non supportés seront définis par défaut en Plain Text." + ] + } + }, + "special": { + "supportMessage": "Salut, c'est Anton 👋

    \nMerci d'utiliser massCode. Si vous trouvez cette application utile, veuillez {{-tagStart}}faire un don{{-tagEnd}}. Cela m'inspirera à continuer le développement du projet.", + "unsponsored": "Non sponsorisé" + }, + "update": { + "available": "La version {{newVersion}} est maintenant disponible au téléchargement.\nVotre version est {{oldVersion}}.", + "noAvailable": "Il n'y a actuellement aucune mise à jour disponible." + } +} diff --git a/src/main/i18n/locales/fr_FR/preferences.json b/src/main/i18n/locales/fr_FR/preferences.json new file mode 100644 index 00000000..3b10d4cd --- /dev/null +++ b/src/main/i18n/locales/fr_FR/preferences.json @@ -0,0 +1,50 @@ +{ + "label": "Préférences", + "storage": { + "label": "Stockage", + "migrate": "Migrer", + "count": "Nombre", + "clearDatabase": "Effacer la base de données" + }, + "editor": { + "label": "Éditeur", + "fontSize": "Taille de police", + "fontFamily": "Famille de police", + "wrap": { + "label": "Retour à la ligne", + "wordWrap": "Retour à la ligne automatique", + "off": "Désactivé" + }, + "tabSize": "Taille de tabulation", + "showInvisibles": "Afficher les caractères invisibles", + "highlightLine": "Surligner la ligne", + "highlightGutter": "Surligner la gouttière", + "matchBrackets": "Correspondance des parenthèses", + "prettier": { + "label": "Prettier", + "trailingComma": { + "label": "Virgule finale", + "none": "Aucune", + "all": "Toutes", + "es5": "ES5" + }, + "semi": "Point-virgule", + "singleQuote": "Guillemet simple" + } + }, + "appearance": { + "label": "Apparence", + "theme": { + "label": "Thème", + "light": "Clair", + "dark": "Sombre" + } + }, + "language": { + "label": "Langue" + }, + "markdown": { + "label": "Markdown", + "codeRenderer": "Rendu des blocs de code" + } +} diff --git a/src/main/i18n/locales/fr_FR/ui.json b/src/main/i18n/locales/fr_FR/ui.json new file mode 100644 index 00000000..9bd02bc7 --- /dev/null +++ b/src/main/i18n/locales/fr_FR/ui.json @@ -0,0 +1,111 @@ +{ + "total": "Total", + "line": "Ligne", + "column": "Colonne", + "fragment": "Fragment", + "path": "Chemin", + "button": { + "back": "Retour", + "cancel": "Annuler", + "clear": "Effacer", + "confirm": "Confirmer", + "copy": "Copier", + "fit": "Ajuster", + "generate": "Générer", + "ok": "OK", + "revers": "Inverser", + "saveAs": "Enregistrer sous", + "sort": "Trier", + "update": ["Aller sur GitHub", "OK"], + "zoomIn": "Zoom avant", + "zoomOut": "Zoom arrière", + "darkMode": "Mode sombre", + "toggleDarkMode": "Basculer le mode sombre", + "background": "Arrière-plan", + "goToDownload": "Aller au téléchargement", + "refreshPreview": "Actualiser l'aperçu", + "laserPointer": "Pointeur laser", + "fullscreen": "Plein écran", + "prev": "Précédent", + "next": "Suivant" + }, + "action": { + "close": "Fermer", + "defaultLanguage": "Langue par défaut", + "duplicate": "Dupliquer", + "rename": "Renommer", + "restore": "Restaurer", + "setCustomIcon": "Définir une icône personnalisée", + "show": "Afficher", + "hide": "Masquer", + "new": { + "storage": "Nouveau stockage", + "folder": "Nouveau dossier", + "snippet": "Nouveau snippet", + "fragment": "Nouveau fragment" + }, + "add": { + "description": "Ajouter une description", + "tag": "Ajouter un tag", + "toFavorites": "Ajouter aux favoris" + }, + "open": { + "storage": "Ouvrir le stockage" + }, + "move": { + "storage": "Déplacer le stockage", + "toTrash": "Déplacer vers la corbeille" + }, + "remove": { + "fromFavorites": "Retirer des favoris" + }, + "reload": { + "storage": "Recharger le stockage" + }, + "delete": { + "common": "Supprimer", + "now": "Supprimer maintenant", + "allData": "Supprimer toutes les données", + "trash": "Vider la corbeille" + }, + "migrate": { + "fromSnippetsLab": "Depuis SnippetsLab", + "fromV3": "Depuis massCode v3" + }, + "export": { + "toHtml": "Exporter en HTML" + }, + "copy": { + "snippetLink": "Copier le lien du snippet" + } + }, + "sidebar": { + "inbox": "Boîte de réception", + "favorites": "Favoris", + "allSnippets": "Tous les snippets", + "trash": "Corbeille", + "folders": "Dossiers", + "library": "Bibliothèque", + "tags": "Tags" + }, + "folder": { + "untitled": "Dossier sans titre", + "plural": "Dossiers", + "collapseAll": "Tout réduire", + "expandAll": "Tout développer" + }, + "snippet": { + "untitled": "Snippet sans titre", + "plural": "Snippets", + "emptyName": "Saisissez le nom du snippet", + "selectedMultiple": "{{count}} snippets sélectionnés", + "noSelected": "Aucun snippet sélectionné" + }, + "placeholder": { + "emptyTagList": "Ajoutez des tags aux snippets pour les voir ici", + "emptyFoldersList": "Aucun dossier", + "emptySnippetsList": "Aucun snippet", + "search": "Rechercher", + "addTag": "Ajouter un tag" + } +} diff --git a/src/main/i18n/locales/ja_JP/devtools.json b/src/main/i18n/locales/ja_JP/devtools.json new file mode 100644 index 00000000..1cf01b36 --- /dev/null +++ b/src/main/i18n/locales/ja_JP/devtools.json @@ -0,0 +1,143 @@ +{ + "label": "開発者ツール", + "converters": { + "label": "コンバーター", + "caseConverter": { + "label": "ケースコンバーター", + "description": "テキストを異なるケースに変換", + "caseType": { + "uppercase": "Uppercase", + "lowercase": "Lowercase", + "camelcase": "Camelcase", + "capitalize": "Capitalize", + "constantcase": "Constantcase", + "snakecase": "Snakecase", + "kebabcase": "Kebabcase", + "pascalcase": "Pascalcase", + "dotcase": "Dotcase", + "pathcase": "Pathcase" + } + }, + "textToUnicode": { + "label": "テキストからUnicode", + "description": "テキストをUnicodeに変換、またはその逆", + "modes": { + "textToUnicode": "テキスト → Unicode", + "unicodeToText": "Unicode → テキスト" + } + }, + "textToAscii": { + "label": "テキストからASCII Binary", + "description": "テキストをASCII binaryに変換、またはその逆", + "modes": { + "textToAscii": "テキスト → ASCII", + "asciiToText": "ASCII → テキスト" + } + }, + "base64": { + "label": "Base64 Encoder / Decoder", + "description": "テキストをBase64にエンコード、またはデコード", + "modes": { + "textToBase64": "テキスト → Base64", + "base64ToText": "Base64 → テキスト" + } + }, + "jsonToYaml": { + "label": "JSONからYAML", + "description": "JSONをYAMLに変換、またはその逆", + "modes": { + "jsonToYaml": "JSON → YAML", + "yamlToJson": "YAML → JSON" + } + }, + "jsonToToml": { + "label": "JSONからTOML", + "description": "JSONをTOMLに変換、またはその逆", + "modes": { + "jsonToToml": "JSON → TOML", + "tomlToJson": "TOML → JSON" + } + }, + "jsonToXml": { + "label": "JSONからXML", + "description": "JSONをXMLに変換、またはその逆", + "modes": { + "jsonToXml": "JSON → XML", + "xmlToJson": "XML → JSON" + } + }, + "colorConverter": { + "label": "カラーコンバーター", + "description": "色を異なるフォーマット間で変換" + } + }, + "crypto": { + "label": "暗号化 / セキュリティ", + "hash": { + "label": "ハッシュジェネレーター", + "description": "テキストからハッシュを生成" + }, + "hmac": { + "label": "HMACジェネレーター", + "description": "キーとメッセージから構成されるハッシュベースメッセージ認証コード(HMAC)を生成" + }, + "password": { + "label": "パスワードジェネレーター", + "description": "安全なパスワードを生成" + }, + "uuid": { + "label": "UUIDジェネレーター", + "description": "汎用一意識別子(UUID)を生成" + } + }, + "web": { + "label": "ウェブ", + "urlParser": { + "label": "URLパーサー", + "description": "URLをコンポーネントに解析" + }, + "urlEncoder": { + "label": "URL Encoder / Decoder", + "description": "URLをエンコード、またはデコード", + "modes": { + "urlEncode": "URL Encode", + "urlDecode": "URL Decode" + } + }, + "slugify": { + "label": "Slugify", + "description": "テキストをURL対応のslugに変換" + } + }, + "form": { + "input": "入力", + "output": "出力", + "inputString": "入力文字列", + "outputString": "出力文字列", + "inputUrl": "入力URL", + "outputUrl": "出力URL", + "parsedUrl": "解析されたURL", + "splitQueryString": "Query Stringを分割", + "key": "キー", + "value": "値", + "component": "コンポーネント", + "result": "結果", + "secretKey": "秘密キー", + "algorithm": "アルゴリズム", + "version": "バージョン", + "amount": "数量", + "type": "タイプ", + "length": "長さ", + "options": "オプション", + "numbers": "数字", + "symbols": "記号", + "lowercase": "小文字", + "uppercase": "大文字", + "placeholder": { + "text": "テキストを入力", + "value": "値を入力", + "secretKey": "秘密キーを入力", + "url": "URLを入力" + } + } +} diff --git a/src/main/i18n/locales/ja_JP/menu.json b/src/main/i18n/locales/ja_JP/menu.json new file mode 100644 index 00000000..56e50077 --- /dev/null +++ b/src/main/i18n/locales/ja_JP/menu.json @@ -0,0 +1,74 @@ +{ + "app": { + "label": "massCode", + "preferences": "環境設定", + "devtools": "開発者ツール", + "update": "アップデートを確認...", + "quit": "massCodeを終了", + "about": "massCodeについて", + "hide": "massCodeを隠す" + }, + "help": { + "label": "ヘルプ", + "website": "ウェブサイト", + "documentation": "ドキュメント", + "viewInGitHub": "GitHubで表示", + "changeLog": "変更履歴", + "reportIssue": "問題を報告", + "giveStar": "スターを付ける", + "extension": { + "vscode": "VS Code拡張機能", + "raycast": "Raycast拡張機能", + "alfred": "Alfred拡張機能" + }, + "donate": { + "openCollective": "Open Collectiveで寄付", + "payPal": "PayPalで寄付", + "gumroad": "Gumroadで寄付(Visa、Mastercard等)" + }, + "twitter": "Twitter", + "devTools": "開発者ツールの切り替え", + "links": { + "snippets": "スニペットコレクション" + } + }, + "edit": { + "label": "編集", + "find": "検索" + }, + "view": { + "label": "表示", + "sortBy": { + "label": "スニペットの並び替え", + "dateModified": "更新日時", + "dateCreated": "作成日時", + "name": "名前" + }, + "compactMode": "コンパクトモード" + }, + "editor": { + "label": "エディタ", + "copy": "スニペットをクリップボードにコピー", + "format": "フォーマット", + "previewCode": "コードのプレビュー", + "previewScreenshot": "スクリーンショットのプレビュー", + "fontSizeIncrease": "フォントサイズを大きく", + "fontSizeDecrease": "フォントサイズを小さく", + "fontSizeReset": "フォントサイズをリセット" + }, + "markdown": { + "label": "Markdown", + "presentationMode": "プレゼンテーションモード", + "preview": "プレビュー", + "previewMarkdown": "Markdownのプレビュー", + "previewMindmap": "マインドマップのプレビュー" + }, + "history": { + "label": "履歴", + "back": "戻る", + "forward": "進む" + }, + "devtools": { + "label": "開発者ツール" + } +} diff --git a/src/main/i18n/locales/ja_JP/messages.json b/src/main/i18n/locales/ja_JP/messages.json new file mode 100644 index 00000000..304767e5 --- /dev/null +++ b/src/main/i18n/locales/ja_JP/messages.json @@ -0,0 +1,49 @@ +{ + "confirm": { + "delete": "「{{name}}」を削除してもよろしいですか?", + "deletePermanently": "「{{name}}」を完全に削除してもよろしいですか?", + "deleteConfirmMultipleSnippets": "選択された{{count}}個のスニペットを完全に削除してもよろしいですか?", + "emptyTrash": "ゴミ箱内のすべてのスニペットを完全に削除してもよろしいですか?", + "clearDb": "データベースをクリアしてもよろしいですか?", + "migrateDb": [ + "移行してもよろしいですか?", + "移行中、現在のライブラリは上書きされます。" + ] + }, + "success": { + "migrate": "データベースの移行が完了しました。" + }, + "warning": { + "noUndo": "この操作は取り消せません。", + "allSnippetsMoveToTrash": "このフォルダ内のすべてのスニペットはゴミ箱に移動されます。", + "deleteTag": "このタグを持つすべてのスニペットからタグが削除されます。", + "createDb": "別のフォルダを選択してください", + "clearDb": "これによりデータベースからすべてのスニペット、フォルダ、タグが完全に削除されます。", + "htmlCssPreview": "結果を表示するにはHTMLフラグメントを追加してください。スタイリングにはCSSを、インタラクティブ性にはJavaScriptを追加してください。", + "codeBlockRenderer": [ + "Codemirrorを使用する場合、コードブロックに設定する言語は", + "languagesの値の1つに対応している必要があります" + ] + }, + "error": {}, + "description": { + "storage": "iCloud Drive、Google Drive、Dropboxなどの同期サービスを使用するには、対応する同期フォルダにストレージを移動するだけです", + "migrate": { + "fromV3": "massCode v3から移行するには、JSONファイルを含むフォルダを選択してください。", + "fromSnippetsLab": "SnippetsLabから移行するには、JSONファイルを選択してください。", + "snippetsLabLimitations": [ + "移行時の制限事項:", + "JSONファイル(v2.1以下)はネストされたフォルダを表現できないため、すべてのフォルダは第一階層になります。", + "サポートされていない言語のスニペットはデフォルトのPlain Textに設定されます。" + ] + } + }, + "special": { + "supportMessage": "こんにちは、Antonです 👋

    \nmassCodeをご利用いただきありがとうございます。このアプリが役立つと感じられましたら、{{-tagStart}}寄付{{-tagEnd}}をご検討ください。プロジェクトの開発を継続する励みになります。", + "unsponsored": "未スポンサー" + }, + "update": { + "available": "バージョン{{newVersion}}がダウンロード可能です。\n現在のバージョンは{{oldVersion}}です。", + "noAvailable": "現在利用可能なアップデートはありません。" + } +} diff --git a/src/main/i18n/locales/ja_JP/preferences.json b/src/main/i18n/locales/ja_JP/preferences.json new file mode 100644 index 00000000..ea397cac --- /dev/null +++ b/src/main/i18n/locales/ja_JP/preferences.json @@ -0,0 +1,50 @@ +{ + "label": "環境設定", + "storage": { + "label": "ストレージ", + "migrate": "移行", + "count": "カウント", + "clearDatabase": "データベースをクリア" + }, + "editor": { + "label": "エディタ", + "fontSize": "フォントサイズ", + "fontFamily": "フォントファミリー", + "wrap": { + "label": "折り返し", + "wordWrap": "ワードラップ", + "off": "オフ" + }, + "tabSize": "タブサイズ", + "showInvisibles": "不可視文字を表示", + "highlightLine": "現在行をハイライト", + "highlightGutter": "ガッターをハイライト", + "matchBrackets": "括弧の対応を表示", + "prettier": { + "label": "Prettier", + "trailingComma": { + "label": "末尾のカンマ", + "none": "なし", + "all": "すべて", + "es5": "ES5" + }, + "semi": "セミコロン", + "singleQuote": "シングルクォート" + } + }, + "appearance": { + "label": "外観", + "theme": { + "label": "テーマ", + "light": "ライト", + "dark": "ダーク" + } + }, + "language": { + "label": "言語" + }, + "markdown": { + "label": "Markdown", + "codeRenderer": "コードブロックレンダラー" + } +} diff --git a/src/main/i18n/locales/ja_JP/ui.json b/src/main/i18n/locales/ja_JP/ui.json new file mode 100644 index 00000000..191c0c31 --- /dev/null +++ b/src/main/i18n/locales/ja_JP/ui.json @@ -0,0 +1,111 @@ +{ + "total": "合計", + "line": "行", + "column": "列", + "fragment": "フラグメント", + "path": "パス", + "button": { + "back": "戻る", + "cancel": "キャンセル", + "clear": "クリア", + "confirm": "確認", + "copy": "コピー", + "fit": "フィット", + "generate": "生成", + "ok": "OK", + "revers": "反転", + "saveAs": "名前を付けて保存", + "sort": "並べ替え", + "update": ["GitHubへ移動", "OK"], + "zoomIn": "拡大", + "zoomOut": "縮小", + "darkMode": "ダークモード", + "toggleDarkMode": "ダークモードの切り替え", + "background": "背景", + "goToDownload": "ダウンロードへ", + "refreshPreview": "プレビューを更新", + "laserPointer": "レーザーポインター", + "fullscreen": "フルスクリーン", + "prev": "前へ", + "next": "次へ" + }, + "action": { + "close": "閉じる", + "defaultLanguage": "デフォルト言語", + "duplicate": "複製", + "rename": "名前変更", + "restore": "復元", + "setCustomIcon": "カスタムアイコンを設定", + "show": "表示", + "hide": "非表示", + "new": { + "storage": "新規ストレージ", + "folder": "新規フォルダ", + "snippet": "新規スニペット", + "fragment": "新規フラグメント" + }, + "add": { + "description": "説明を追加", + "tag": "タグを追加", + "toFavorites": "お気に入りに追加" + }, + "open": { + "storage": "ストレージを開く" + }, + "move": { + "storage": "ストレージを移動", + "toTrash": "ゴミ箱へ移動" + }, + "remove": { + "fromFavorites": "お気に入りから削除" + }, + "reload": { + "storage": "ストレージを再読み込み" + }, + "delete": { + "common": "削除", + "now": "今すぐ削除", + "allData": "すべてのデータを削除", + "trash": "ゴミ箱を空にする" + }, + "migrate": { + "fromSnippetsLab": "SnippetsLabから", + "fromV3": "massCode v3から" + }, + "export": { + "toHtml": "HTMLにエクスポート" + }, + "copy": { + "snippetLink": "スニペットリンクをコピー" + } + }, + "sidebar": { + "inbox": "受信トレイ", + "favorites": "お気に入り", + "allSnippets": "すべてのスニペット", + "trash": "ゴミ箱", + "folders": "フォルダ", + "library": "ライブラリ", + "tags": "タグ" + }, + "folder": { + "untitled": "無題のフォルダ", + "plural": "フォルダ", + "collapseAll": "すべて折りたたむ", + "expandAll": "すべて展開" + }, + "snippet": { + "untitled": "無題のスニペット", + "plural": "スニペット", + "emptyName": "スニペット名を入力", + "selectedMultiple": "{{count}}個のスニペットを選択", + "noSelected": "スニペットが選択されていません" + }, + "placeholder": { + "emptyTagList": "タグを追加するとここに表示されます", + "emptyFoldersList": "フォルダーなし", + "emptySnippetsList": "スニペットなし", + "search": "検索", + "addTag": "タグを追加" + } +} diff --git a/src/main/i18n/locales/pl_PL/devtools.json b/src/main/i18n/locales/pl_PL/devtools.json new file mode 100644 index 00000000..73daf368 --- /dev/null +++ b/src/main/i18n/locales/pl_PL/devtools.json @@ -0,0 +1,143 @@ +{ + "label": "Narzędzia deweloperskie", + "converters": { + "label": "Konwertery", + "caseConverter": { + "label": "Konwerter wielkości liter", + "description": "Przekształcanie tekstu do różnych formatów", + "caseType": { + "uppercase": "Uppercase", + "lowercase": "Lowercase", + "camelcase": "Camelcase", + "capitalize": "Capitalize", + "constantcase": "Constantcase", + "snakecase": "Snakecase", + "kebabcase": "Kebabcase", + "pascalcase": "Pascalcase", + "dotcase": "Dotcase", + "pathcase": "Pathcase" + } + }, + "textToUnicode": { + "label": "Tekst na Unicode", + "description": "Konwertowanie tekstu na Unicode i odwrotnie", + "modes": { + "textToUnicode": "Tekst → Unicode", + "unicodeToText": "Unicode → Tekst" + } + }, + "textToAscii": { + "label": "Tekst na ASCII Binary", + "description": "Konwertowanie tekstu na ASCII binary i odwrotnie", + "modes": { + "textToAscii": "Tekst → ASCII", + "asciiToText": "ASCII → Tekst" + } + }, + "base64": { + "label": "Base64 Encoder / Decoder", + "description": "Kodowanie lub dekodowanie tekstu do Base64", + "modes": { + "textToBase64": "Tekst → Base64", + "base64ToText": "Base64 → Tekst" + } + }, + "jsonToYaml": { + "label": "JSON na YAML", + "description": "Konwertowanie JSON na YAML i odwrotnie", + "modes": { + "jsonToYaml": "JSON → YAML", + "yamlToJson": "YAML → JSON" + } + }, + "jsonToToml": { + "label": "JSON na TOML", + "description": "Konwertowanie JSON na TOML i odwrotnie", + "modes": { + "jsonToToml": "JSON → TOML", + "tomlToJson": "TOML → JSON" + } + }, + "jsonToXml": { + "label": "JSON na XML", + "description": "Konwertowanie JSON na XML i odwrotnie", + "modes": { + "jsonToXml": "JSON → XML", + "xmlToJson": "XML → JSON" + } + }, + "colorConverter": { + "label": "Konwerter kolorów", + "description": "Konwertowanie kolorów między różnymi formatami" + } + }, + "crypto": { + "label": "Kryptografia / Bezpieczeństwo", + "hash": { + "label": "Generator hash", + "description": "Generowanie hashy z tekstu" + }, + "hmac": { + "label": "Generator HMAC", + "description": "Generowanie kodu uwierzytelniania wiadomości opartego na hash (HMAC) złożonego z klucza i wiadomości" + }, + "password": { + "label": "Generator haseł", + "description": "Generowanie bezpiecznego hasła" + }, + "uuid": { + "label": "Generator UUID", + "description": "Generowanie uniwersalnego unikalnego identyfikatora (UUID)" + } + }, + "web": { + "label": "Web", + "urlParser": { + "label": "Parser URL", + "description": "Parsowanie URL na komponenty" + }, + "urlEncoder": { + "label": "URL Encoder / Decoder", + "description": "Kodowanie lub dekodowanie URL", + "modes": { + "urlEncode": "URL Encode", + "urlDecode": "URL Decode" + } + }, + "slugify": { + "label": "Slugify", + "description": "Konwertowanie tekstu na slug przyjazny URL" + } + }, + "form": { + "input": "Wejście", + "output": "Wyjście", + "inputString": "Ciąg wejściowy", + "outputString": "Ciąg wyjściowy", + "inputUrl": "URL wejściowy", + "outputUrl": "URL wyjściowy", + "parsedUrl": "Sparsowany URL", + "splitQueryString": "Podziel Query String", + "key": "Klucz", + "value": "Wartość", + "component": "Komponent", + "result": "Wynik", + "secretKey": "Klucz tajny", + "algorithm": "Algorytm", + "version": "Wersja", + "amount": "Ilość", + "type": "Typ", + "length": "Długość", + "options": "Opcje", + "numbers": "Cyfry", + "symbols": "Symbole", + "lowercase": "Małe litery", + "uppercase": "Wielkie litery", + "placeholder": { + "text": "Wprowadź tekst", + "value": "Wprowadź wartość", + "secretKey": "Wprowadź klucz tajny", + "url": "Wprowadź URL" + } + } +} diff --git a/src/main/i18n/locales/pl_PL/menu.json b/src/main/i18n/locales/pl_PL/menu.json new file mode 100644 index 00000000..642a9fbb --- /dev/null +++ b/src/main/i18n/locales/pl_PL/menu.json @@ -0,0 +1,74 @@ +{ + "app": { + "label": "massCode", + "preferences": "Preferencje", + "devtools": "Narzędzia deweloperskie", + "update": "Sprawdź aktualizacje...", + "quit": "Zakończ massCode", + "about": "O massCode", + "hide": "Ukryj massCode" + }, + "help": { + "label": "Pomoc", + "website": "Strona internetowa", + "documentation": "Dokumentacja", + "viewInGitHub": "Zobacz na GitHub", + "changeLog": "Lista zmian", + "reportIssue": "Zgłoś problem", + "giveStar": "Dodaj gwiazdkę", + "extension": { + "vscode": "Rozszerzenie VS Code", + "raycast": "Rozszerzenie Raycast", + "alfred": "Rozszerzenie Alfred" + }, + "donate": { + "openCollective": "Wesprzyj przez Open Collective", + "payPal": "Wesprzyj przez PayPal", + "gumroad": "Wesprzyj przez Gumroad (Visa, Mastercard, itp.)" + }, + "twitter": "Twitter", + "devTools": "Przełącz narzędzia deweloperskie", + "links": { + "snippets": "Kolekcja fragmentów" + } + }, + "edit": { + "label": "Edycja", + "find": "Znajdź" + }, + "view": { + "label": "Widok", + "sortBy": { + "label": "Sortuj fragmenty według", + "dateModified": "Data modyfikacji", + "dateCreated": "Data utworzenia", + "name": "Nazwa" + }, + "compactMode": "Tryb kompaktowy" + }, + "editor": { + "label": "Edytor", + "copy": "Kopiuj fragment do schowka", + "format": "Formatuj", + "previewCode": "Podgląd kodu", + "previewScreenshot": "Podgląd zrzutu ekranu", + "fontSizeIncrease": "Zwiększ rozmiar czcionki", + "fontSizeDecrease": "Zmniejsz rozmiar czcionki", + "fontSizeReset": "Resetuj rozmiar czcionki" + }, + "markdown": { + "label": "Markdown", + "presentationMode": "Tryb prezentacji", + "preview": "Podgląd", + "previewMarkdown": "Podgląd Markdown", + "previewMindmap": "Podgląd mapy myśli" + }, + "history": { + "label": "Historia", + "back": "Wstecz", + "forward": "Dalej" + }, + "devtools": { + "label": "Narzędzia deweloperskie" + } +} diff --git a/src/main/i18n/locales/pl_PL/messages.json b/src/main/i18n/locales/pl_PL/messages.json new file mode 100644 index 00000000..7a8edc94 --- /dev/null +++ b/src/main/i18n/locales/pl_PL/messages.json @@ -0,0 +1,49 @@ +{ + "confirm": { + "delete": "Czy na pewno chcesz usunąć \"{{name}}\"?", + "deletePermanently": "Czy na pewno chcesz trwale usunąć \"{{name}}\"?", + "deleteConfirmMultipleSnippets": "Czy na pewno chcesz trwale usunąć {{count}} wybranych fragmentów?", + "emptyTrash": "Czy na pewno chcesz trwale usunąć wszystkie fragmenty z Kosza?", + "clearDb": "Czy na pewno chcesz wyczyścić bazę danych?", + "migrateDb": [ + "Czy na pewno chcesz przeprowadzić migrację?", + "Podczas migracji obecna biblioteka zostanie nadpisana." + ] + }, + "success": { + "migrate": "Pomyślnie przeprowadzono migrację bazy danych." + }, + "warning": { + "noUndo": "Tej operacji nie można cofnąć.", + "allSnippetsMoveToTrash": "Wszystkie fragmenty z tego folderu zostaną przeniesione do kosza.", + "deleteTag": "Spowoduje to również usunięcie tego tagu ze wszystkich fragmentów.", + "createDb": "Proszę wybrać inny folder", + "clearDb": "Spowoduje to trwałe usunięcie wszystkich Fragmentów, Folderów i Tagów z bazy danych.", + "htmlCssPreview": "Dodaj fragment HTML, aby zobaczyć wynik. Dodaj CSS do stylizacji i JavaScript do interaktywności.", + "codeBlockRenderer": [ + "Podczas używania Codemirror, język ustawiony dla bloku kodu musi odpowiadać jednej z wartości", + "languages" + ] + }, + "error": {}, + "description": { + "storage": "Aby korzystać z usług synchronizacji takich jak iCloud Drive, Google Drive lub Dropbox, wystarczy przenieść magazyn do odpowiednich folderów synchronizacji", + "migrate": { + "fromV3": "Aby przeprowadzić migrację z massCode v3, wybierz folder zawierający plik JSON.", + "fromSnippetsLab": "Aby przeprowadzić migrację ze SnippetsLab, wybierz plik JSON.", + "snippetsLabLimitations": [ + "Pewne ograniczenia podczas migracji ze SnippetsLab:", + "Wszystkie foldery będą na pierwszym poziomie, ponieważ plik JSON (poniżej v2.1) nie obsługuje zagnieżdżonych folderów.", + "Fragmenty z nieobsługiwanymi językami zostaną ustawione na domyślny Plain Text." + ] + } + }, + "special": { + "supportMessage": "Cześć, tu Anton 👋

    \nDziękuję za korystanie z massCode. Jeśli uważasz, że ta aplikacja jest przydatna, proszę rozważ {{-tagStart}}wsparcie{{-tagEnd}}. To zmotywuje mnie do dalszego rozwoju projektu.", + "unsponsored": "Bez sponsora" + }, + "update": { + "available": "Wersja {{newVersion}} jest dostępna do pobrania.\nTwoja wersja to {{oldVersion}}.", + "noAvailable": "Obecnie nie ma dostępnych aktualizacji." + } +} diff --git a/src/main/i18n/locales/pl_PL/preferences.json b/src/main/i18n/locales/pl_PL/preferences.json new file mode 100644 index 00000000..5e3b6a42 --- /dev/null +++ b/src/main/i18n/locales/pl_PL/preferences.json @@ -0,0 +1,50 @@ +{ + "label": "Preferencje", + "storage": { + "label": "Magazyn", + "migrate": "Migruj", + "count": "Liczba", + "clearDatabase": "Wyczyść bazę danych" + }, + "editor": { + "label": "Edytor", + "fontSize": "Rozmiar czcionki", + "fontFamily": "Rodzina czcionek", + "wrap": { + "label": "Zawijanie", + "wordWrap": "Zawijanie wierszy", + "off": "Wyłączone" + }, + "tabSize": "Rozmiar tabulacji", + "showInvisibles": "Pokaż niewidoczne znaki", + "highlightLine": "Podświetl linię", + "highlightGutter": "Podświetl marginesy", + "matchBrackets": "Dopasuj nawiasy", + "prettier": { + "label": "Prettier", + "trailingComma": { + "label": "Końcowy przecinek", + "none": "Brak", + "all": "Wszystkie", + "es5": "ES5" + }, + "semi": "Średnik", + "singleQuote": "Pojedynczy cudzysłów" + } + }, + "appearance": { + "label": "Wygląd", + "theme": { + "label": "Motyw", + "light": "Jasny", + "dark": "Ciemny" + } + }, + "language": { + "label": "Język" + }, + "markdown": { + "label": "Markdown", + "codeRenderer": "Renderer bloków kodu" + } +} diff --git a/src/main/i18n/locales/pl_PL/ui.json b/src/main/i18n/locales/pl_PL/ui.json new file mode 100644 index 00000000..cc860cdc --- /dev/null +++ b/src/main/i18n/locales/pl_PL/ui.json @@ -0,0 +1,111 @@ +{ + "total": "Łącznie", + "line": "Wiersz", + "column": "Kolumna", + "fragment": "Fragment", + "path": "Ścieżka", + "button": { + "back": "Wstecz", + "cancel": "Anuluj", + "clear": "Wyczyść", + "confirm": "Potwierdź", + "copy": "Kopiuj", + "fit": "Dopasuj", + "generate": "Generuj", + "ok": "OK", + "revers": "Odwróć", + "saveAs": "Zapisz jako", + "sort": "Sortuj", + "update": ["Przejdź do GitHub", "OK"], + "zoomIn": "Powiększ", + "zoomOut": "Pomniejsz", + "darkMode": "Tryb ciemny", + "toggleDarkMode": "Przełącz tryb ciemny", + "background": "Tło", + "goToDownload": "Przejdź do pobierania", + "refreshPreview": "Odśwież podgląd", + "laserPointer": "Wskaźnik laserowy", + "fullscreen": "Pełny ekran", + "prev": "Poprzedni", + "next": "Następny" + }, + "action": { + "close": "Zamknij", + "defaultLanguage": "Domyślny język", + "duplicate": "Duplikuj", + "rename": "Zmień nazwę", + "restore": "Przywróć", + "setCustomIcon": "Ustaw własną ikonę", + "show": "Pokaż", + "hide": "Ukryj", + "new": { + "storage": "Nowy magazyn", + "folder": "Nowy folder", + "snippet": "Nowy fragment kodu", + "fragment": "Nowy fragment" + }, + "add": { + "description": "Dodaj opis", + "tag": "Dodaj tag", + "toFavorites": "Dodaj do ulubionych" + }, + "open": { + "storage": "Otwórz magazyn" + }, + "move": { + "storage": "Przenieś magazyn", + "toTrash": "Przenieś do kosza" + }, + "remove": { + "fromFavorites": "Usuń z ulubionych" + }, + "reload": { + "storage": "Przeładuj magazyn" + }, + "delete": { + "common": "Usuń", + "now": "Usuń teraz", + "allData": "Usuń wszystkie dane", + "trash": "Opróżnij kosz" + }, + "migrate": { + "fromSnippetsLab": "Ze SnippetsLab", + "fromV3": "Z massCode v3" + }, + "export": { + "toHtml": "Eksportuj do HTML" + }, + "copy": { + "snippetLink": "Kopiuj link do fragmentu" + } + }, + "sidebar": { + "inbox": "Skrzynka odbiorcza", + "favorites": "Ulubione", + "allSnippets": "Wszystkie fragmenty", + "trash": "Kosz", + "folders": "Foldery", + "library": "Biblioteka", + "tags": "Tagi" + }, + "folder": { + "untitled": "Folder bez nazwy", + "plural": "Foldery", + "collapseAll": "Zwiń wszystkie", + "expandAll": "Rozwiń wszystkie" + }, + "snippet": { + "untitled": "Fragment bez nazwy", + "plural": "Fragmenty", + "emptyName": "Wpisz nazwę fragmentu", + "selectedMultiple": "Wybrano {{count}} fragmentów", + "noSelected": "Nie wybrano fragmentu" + }, + "placeholder": { + "emptyTagList": "Dodaj tagi do fragmentów, aby zobaczyć je tutaj", + "emptyFoldersList": "Brak folderów", + "emptySnippetsList": "Brak snippetów", + "search": "Szukaj", + "addTag": "Dodaj tag" + } +} diff --git a/src/main/i18n/locales/pt_BR/devtools.json b/src/main/i18n/locales/pt_BR/devtools.json new file mode 100644 index 00000000..2b39d164 --- /dev/null +++ b/src/main/i18n/locales/pt_BR/devtools.json @@ -0,0 +1,143 @@ +{ + "label": "Ferramentas de Desenvolvimento", + "converters": { + "label": "Conversores", + "caseConverter": { + "label": "Conversor de Maiúsculas", + "description": "Transformar texto em diferentes casos", + "caseType": { + "uppercase": "Uppercase", + "lowercase": "Lowercase", + "camelcase": "Camelcase", + "capitalize": "Capitalize", + "constantcase": "Constantcase", + "snakecase": "Snakecase", + "kebabcase": "Kebabcase", + "pascalcase": "Pascalcase", + "dotcase": "Dotcase", + "pathcase": "Pathcase" + } + }, + "textToUnicode": { + "label": "Texto para Unicode", + "description": "Converter texto para Unicode e vice-versa", + "modes": { + "textToUnicode": "Texto → Unicode", + "unicodeToText": "Unicode → Texto" + } + }, + "textToAscii": { + "label": "Texto para ASCII Binary", + "description": "Converter texto para ASCII binary e vice-versa", + "modes": { + "textToAscii": "Texto → ASCII", + "asciiToText": "ASCII → Texto" + } + }, + "base64": { + "label": "Base64 Encoder / Decoder", + "description": "Codificar ou decodificar texto para Base64", + "modes": { + "textToBase64": "Texto → Base64", + "base64ToText": "Base64 → Texto" + } + }, + "jsonToYaml": { + "label": "JSON para YAML", + "description": "Converter JSON para YAML e vice-versa", + "modes": { + "jsonToYaml": "JSON → YAML", + "yamlToJson": "YAML → JSON" + } + }, + "jsonToToml": { + "label": "JSON para TOML", + "description": "Converter JSON para TOML e vice-versa", + "modes": { + "jsonToToml": "JSON → TOML", + "tomlToJson": "TOML → JSON" + } + }, + "jsonToXml": { + "label": "JSON para XML", + "description": "Converter JSON para XML e vice-versa", + "modes": { + "jsonToXml": "JSON → XML", + "xmlToJson": "XML → JSON" + } + }, + "colorConverter": { + "label": "Conversor de Cores", + "description": "Converter cores entre diferentes formatos" + } + }, + "crypto": { + "label": "Criptografia / Segurança", + "hash": { + "label": "Gerador de Hash", + "description": "Gerar hashes a partir de texto" + }, + "hmac": { + "label": "Gerador HMAC", + "description": "Gerar código de autenticação de mensagem baseado em hash (HMAC) composto por uma chave e uma mensagem" + }, + "password": { + "label": "Gerador de Senhas", + "description": "Gerar uma senha segura" + }, + "uuid": { + "label": "Gerador UUID", + "description": "Gerar um identificador único universal (UUID)" + } + }, + "web": { + "label": "Web", + "urlParser": { + "label": "Analisador de URL", + "description": "Analisar uma URL em seus componentes" + }, + "urlEncoder": { + "label": "URL Encoder / Decoder", + "description": "Codificar ou decodificar URL", + "modes": { + "urlEncode": "URL Encode", + "urlDecode": "URL Decode" + } + }, + "slugify": { + "label": "Slugify", + "description": "Converter texto em um slug amigável para URL" + } + }, + "form": { + "input": "Entrada", + "output": "Saída", + "inputString": "String de Entrada", + "outputString": "String de Saída", + "inputUrl": "URL de Entrada", + "outputUrl": "URL de Saída", + "parsedUrl": "URL Analisada", + "splitQueryString": "Dividir Query String", + "key": "Chave", + "value": "Valor", + "component": "Componente", + "result": "Resultado", + "secretKey": "Chave Secreta", + "algorithm": "Algoritmo", + "version": "Versão", + "amount": "Quantidade", + "type": "Tipo", + "length": "Comprimento", + "options": "Opções", + "numbers": "Números", + "symbols": "Símbolos", + "lowercase": "Minúsculas", + "uppercase": "Maiúsculas", + "placeholder": { + "text": "Digite um texto", + "value": "Digite um valor", + "secretKey": "Digite uma chave secreta", + "url": "Digite uma URL" + } + } +} diff --git a/src/main/i18n/locales/pt_BR/menu.json b/src/main/i18n/locales/pt_BR/menu.json new file mode 100644 index 00000000..4a48a201 --- /dev/null +++ b/src/main/i18n/locales/pt_BR/menu.json @@ -0,0 +1,74 @@ +{ + "app": { + "label": "massCode", + "preferences": "Preferências", + "devtools": "Ferramentas de Desenvolvedor", + "update": "Verificar Atualizações...", + "quit": "Sair do massCode", + "about": "Sobre o massCode", + "hide": "Ocultar massCode" + }, + "help": { + "label": "Ajuda", + "website": "Website", + "documentation": "Documentação", + "viewInGitHub": "Ver no GitHub", + "changeLog": "Log de Alterações", + "reportIssue": "Reportar Problema", + "giveStar": "Dar uma Estrela", + "extension": { + "vscode": "Extensão VS Code", + "raycast": "Extensão Raycast", + "alfred": "Extensão Alfred" + }, + "donate": { + "openCollective": "Doar no Open Collective", + "payPal": "Doar via PayPal", + "gumroad": "Doar via Gumroad (Visa, Mastercard, etc.)" + }, + "twitter": "Twitter", + "devTools": "Alternar Ferramentas de Desenvolvedor", + "links": { + "snippets": "Coleção de Snippets" + } + }, + "edit": { + "label": "Editar", + "find": "Procurar" + }, + "view": { + "label": "Visualizar", + "sortBy": { + "label": "Ordenar Snippets Por", + "dateModified": "Data de Modificação", + "dateCreated": "Data de Criação", + "name": "Nome" + }, + "compactMode": "Modo Compacto" + }, + "editor": { + "label": "Editor", + "copy": "Copiar Snippet para Área de Transferência", + "format": "Formatar", + "previewCode": "Visualizar Código", + "previewScreenshot": "Visualizar Screenshot", + "fontSizeIncrease": "Aumentar Tamanho da Fonte", + "fontSizeDecrease": "Diminuir Tamanho da Fonte", + "fontSizeReset": "Redefinir Tamanho da Fonte" + }, + "markdown": { + "label": "Markdown", + "presentationMode": "Modo de Apresentação", + "preview": "Visualizar", + "previewMarkdown": "Visualizar Markdown", + "previewMindmap": "Visualizar Mindmap" + }, + "history": { + "label": "Histórico", + "back": "Voltar", + "forward": "Avançar" + }, + "devtools": { + "label": "Ferramentas de Desenvolvedor" + } +} diff --git a/src/main/i18n/locales/pt_BR/messages.json b/src/main/i18n/locales/pt_BR/messages.json new file mode 100644 index 00000000..534888e5 --- /dev/null +++ b/src/main/i18n/locales/pt_BR/messages.json @@ -0,0 +1,49 @@ +{ + "confirm": { + "delete": "Tem certeza que deseja excluir \"{{name}}\"?", + "deletePermanently": "Tem certeza que deseja excluir permanentemente \"{{name}}\"?", + "deleteConfirmMultipleSnippets": "Tem certeza que deseja excluir permanentemente {{count}} snippets selecionados?", + "emptyTrash": "Tem certeza que deseja excluir permanentemente todos os snippets na Lixeira?", + "clearDb": "Tem certeza que deseja limpar o database?", + "migrateDb": [ + "Tem certeza que deseja migrar?", + "Durante a migração, a biblioteca atual será sobrescrita." + ] + }, + "success": { + "migrate": "DB migrado com sucesso." + }, + "warning": { + "noUndo": "Você não pode desfazer esta ação.", + "allSnippetsMoveToTrash": "Todos os snippets nesta pasta serão movidos para a lixeira.", + "deleteTag": "Isso também fará com que todas as tags sejam removidas dos snippets.", + "createDb": "Por favor, selecione outra pasta", + "clearDb": "Isso excluirá permanentemente todos os Snippets, Pastas e Tags do database.", + "htmlCssPreview": "Adicione um fragmento HTML para ver o resultado. Adicione CSS para estilização e JavaScript para interatividade.", + "codeBlockRenderer": [ + "Ao usar Codemirror, a linguagem a ser definida para o bloco de código deve corresponder a um dos valores das", + "languages" + ] + }, + "error": {}, + "description": { + "storage": "Para usar serviços de sincronização como iCloud Drive, Google Drive ou Dropbox, simplesmente mova o armazenamento para as pastas sincronizadas correspondentes", + "migrate": { + "fromV3": "Para migrar do massCode v3, selecione a pasta contendo o arquivo JSON.", + "fromSnippetsLab": "Para migrar do SnippetsLab, selecione o arquivo JSON.", + "snippetsLabLimitations": [ + "Algumas Limitações. Durante a migração do SnippetsLab:", + "Todas as pastas serão de primeiro nível, pois o arquivo JSON (abaixo da v2.1) não representa pastas aninhadas.", + "Snippets com linguagens não suportadas serão definidos como Plain Text padrão." + ] + } + }, + "special": { + "supportMessage": "Olá, aqui é o Anton 👋

    \nObrigado por usar o massCode. Se você achar este app útil, por favor {{-tagStart}}doe{{-tagEnd}}. Isso me inspirará a continuar o desenvolvimento do projeto.", + "unsponsored": "Sem patrocínio" + }, + "update": { + "available": "A versão {{newVersion}} está disponível para download.\nSua versão é {{oldVersion}}.", + "noAvailable": "Não há atualizações disponíveis no momento." + } +} diff --git a/src/main/i18n/locales/pt_BR/preferences.json b/src/main/i18n/locales/pt_BR/preferences.json new file mode 100644 index 00000000..50ad615b --- /dev/null +++ b/src/main/i18n/locales/pt_BR/preferences.json @@ -0,0 +1,50 @@ +{ + "label": "Preferências", + "storage": { + "label": "Storage", + "migrate": "Migrar", + "count": "Contagem", + "clearDatabase": "Limpar Database" + }, + "editor": { + "label": "Editor", + "fontSize": "Tamanho da Fonte", + "fontFamily": "Família da Fonte", + "wrap": { + "label": "Quebra", + "wordWrap": "Quebra de Palavra", + "off": "Desligado" + }, + "tabSize": "Tamanho do Tab", + "showInvisibles": "Mostrar Invisíveis", + "highlightLine": "Destacar Linha", + "highlightGutter": "Destacar Gutter", + "matchBrackets": "Corresponder Colchetes", + "prettier": { + "label": "Prettier", + "trailingComma": { + "label": "Vírgula Final", + "none": "Nenhum", + "all": "Todos", + "es5": "ES5" + }, + "semi": "Ponto e Vírgula", + "singleQuote": "Aspas Simples" + } + }, + "appearance": { + "label": "Aparência", + "theme": { + "label": "Tema", + "light": "Claro", + "dark": "Escuro" + } + }, + "language": { + "label": "Idioma" + }, + "markdown": { + "label": "Markdown", + "codeRenderer": "Renderizador de Bloco de Código" + } +} diff --git a/src/main/i18n/locales/pt_BR/ui.json b/src/main/i18n/locales/pt_BR/ui.json new file mode 100644 index 00000000..24d368fb --- /dev/null +++ b/src/main/i18n/locales/pt_BR/ui.json @@ -0,0 +1,111 @@ +{ + "total": "Total", + "line": "Linha", + "column": "Coluna", + "fragment": "Fragment", + "path": "Caminho", + "button": { + "back": "Voltar", + "cancel": "Cancelar", + "clear": "Limpar", + "confirm": "Confirmar", + "copy": "Copiar", + "fit": "Ajustar", + "generate": "Gerar", + "ok": "OK", + "revers": "Reverter", + "saveAs": "Salvar como", + "sort": "Ordenar", + "update": ["Ir para GitHub", "OK"], + "zoomIn": "Aumentar Zoom", + "zoomOut": "Diminuir Zoom", + "darkMode": "Modo Escuro", + "toggleDarkMode": "Alternar modo escuro", + "background": "Plano de Fundo", + "goToDownload": "Ir para Download", + "refreshPreview": "Atualizar visualização", + "laserPointer": "Ponteiro laser", + "fullscreen": "Tela cheia", + "prev": "Anterior", + "next": "Próximo" + }, + "action": { + "close": "Fechar", + "defaultLanguage": "Linguagem Padrão", + "duplicate": "Duplicar", + "rename": "Renomear", + "restore": "Restaurar", + "setCustomIcon": "Definir Ícone Personalizado", + "show": "Mostrar", + "hide": "Ocultar", + "new": { + "storage": "Novo Storage", + "folder": "Nova Pasta", + "snippet": "Novo Snippet", + "fragment": "Novo Fragment" + }, + "add": { + "description": "Adicionar Descrição", + "tag": "Adicionar Tag", + "toFavorites": "Adicionar aos Favoritos" + }, + "open": { + "storage": "Abrir Storage" + }, + "move": { + "storage": "Mover Storage", + "toTrash": "Mover para Lixeira" + }, + "remove": { + "fromFavorites": "Remover dos Favoritos" + }, + "reload": { + "storage": "Recarregar Storage" + }, + "delete": { + "common": "Excluir", + "now": "Excluir Agora", + "allData": "Excluir Todos os Dados", + "trash": "Esvaziar Lixeira" + }, + "migrate": { + "fromSnippetsLab": "Do SnippetsLab", + "fromV3": "Do massCode v3" + }, + "export": { + "toHtml": "Exportar para HTML" + }, + "copy": { + "snippetLink": "Copiar Link do Snippet" + } + }, + "sidebar": { + "inbox": "Caixa de Entrada", + "favorites": "Favoritos", + "allSnippets": "Todos os Snippets", + "trash": "Lixeira", + "folders": "Pastas", + "library": "Biblioteca", + "tags": "Tags" + }, + "folder": { + "untitled": "Pasta sem título", + "plural": "Pastas", + "collapseAll": "Recolher Tudo", + "expandAll": "Expandir Tudo" + }, + "snippet": { + "untitled": "Snippet sem título", + "plural": "Snippets", + "emptyName": "Digite o nome do snippet", + "selectedMultiple": "{{count}} Snippets Selecionados", + "noSelected": "Nenhum Snippet Selecionado" + }, + "placeholder": { + "emptyTagList": "Adicione tags aos snippets para vê-las aqui", + "emptyFoldersList": "Sem pastas", + "emptySnippetsList": "Sem snippets", + "search": "Pesquisar", + "addTag": "Adicionar Tag" + } +} diff --git a/src/main/i18n/locales/ro_RO/devtools.json b/src/main/i18n/locales/ro_RO/devtools.json new file mode 100644 index 00000000..5e022d3d --- /dev/null +++ b/src/main/i18n/locales/ro_RO/devtools.json @@ -0,0 +1,143 @@ +{ + "label": "Instrumente pentru Dezvoltatori", + "converters": { + "label": "Convertoare", + "caseConverter": { + "label": "Convertor de Majuscule", + "description": "Transformă textul în diferite formate de majuscule", + "caseType": { + "uppercase": "Uppercase", + "lowercase": "Lowercase", + "camelcase": "Camelcase", + "capitalize": "Capitalize", + "constantcase": "Constantcase", + "snakecase": "Snakecase", + "kebabcase": "Kebabcase", + "pascalcase": "Pascalcase", + "dotcase": "Dotcase", + "pathcase": "Pathcase" + } + }, + "textToUnicode": { + "label": "Text în Unicode", + "description": "Convertește textul în Unicode și invers", + "modes": { + "textToUnicode": "Text → Unicode", + "unicodeToText": "Unicode → Text" + } + }, + "textToAscii": { + "label": "Text în ASCII Binary", + "description": "Convertește textul în ASCII binary și invers", + "modes": { + "textToAscii": "Text → ASCII", + "asciiToText": "ASCII → Text" + } + }, + "base64": { + "label": "Base64 Encoder / Decoder", + "description": "Codifică sau decodifică textul în Base64", + "modes": { + "textToBase64": "Text → Base64", + "base64ToText": "Base64 → Text" + } + }, + "jsonToYaml": { + "label": "JSON în YAML", + "description": "Convertește JSON în YAML și invers", + "modes": { + "jsonToYaml": "JSON → YAML", + "yamlToJson": "YAML → JSON" + } + }, + "jsonToToml": { + "label": "JSON în TOML", + "description": "Convertește JSON în TOML și invers", + "modes": { + "jsonToToml": "JSON → TOML", + "tomlToJson": "TOML → JSON" + } + }, + "jsonToXml": { + "label": "JSON în XML", + "description": "Convertește JSON în XML și invers", + "modes": { + "jsonToXml": "JSON → XML", + "xmlToJson": "XML → JSON" + } + }, + "colorConverter": { + "label": "Convertor de Culori", + "description": "Convertește culorile între diferite formate" + } + }, + "crypto": { + "label": "Criptografie / Securitate", + "hash": { + "label": "Generator Hash", + "description": "Generează hash-uri din text" + }, + "hmac": { + "label": "Generator HMAC", + "description": "Generează cod de autentificare a mesajului bazat pe hash (HMAC) compus dintr-o cheie și un mesaj" + }, + "password": { + "label": "Generator de Parole", + "description": "Generează o parolă sigură" + }, + "uuid": { + "label": "Generator UUID", + "description": "Generează un identificator unic universal (UUID)" + } + }, + "web": { + "label": "Web", + "urlParser": { + "label": "Analizor URL", + "description": "Analizează un URL în componentele sale" + }, + "urlEncoder": { + "label": "URL Encoder / Decoder", + "description": "Codifică sau decodifică URL", + "modes": { + "urlEncode": "URL Encode", + "urlDecode": "URL Decode" + } + }, + "slugify": { + "label": "Slugify", + "description": "Convertește textul într-un slug prietenos cu URL" + } + }, + "form": { + "input": "Intrare", + "output": "Ieșire", + "inputString": "Șir de Intrare", + "outputString": "Șir de Ieșire", + "inputUrl": "URL de Intrare", + "outputUrl": "URL de Ieșire", + "parsedUrl": "URL Analizat", + "splitQueryString": "Împarte Query String", + "key": "Cheie", + "value": "Valoare", + "component": "Componentă", + "result": "Rezultat", + "secretKey": "Cheie Secretă", + "algorithm": "Algoritm", + "version": "Versiune", + "amount": "Cantitate", + "type": "Tip", + "length": "Lungime", + "options": "Opțiuni", + "numbers": "Numere", + "symbols": "Simboluri", + "lowercase": "Minuscule", + "uppercase": "Majuscule", + "placeholder": { + "text": "Introduceți un text", + "value": "Introduceți o valoare", + "secretKey": "Introduceți o cheie secretă", + "url": "Introduceți un URL" + } + } +} diff --git a/src/main/i18n/locales/ro_RO/menu.json b/src/main/i18n/locales/ro_RO/menu.json new file mode 100644 index 00000000..50d47d6c --- /dev/null +++ b/src/main/i18n/locales/ro_RO/menu.json @@ -0,0 +1,74 @@ +{ + "app": { + "label": "massCode", + "preferences": "Preferințe", + "devtools": "Instrumente pentru Dezvoltatori", + "update": "Verifică Actualizări...", + "quit": "Închide massCode", + "about": "Despre massCode", + "hide": "Ascunde massCode" + }, + "help": { + "label": "Ajutor", + "website": "Website", + "documentation": "Documentație", + "viewInGitHub": "Vezi pe GitHub", + "changeLog": "Jurnal de Modificări", + "reportIssue": "Raportează o Problemă", + "giveStar": "Dă o Stea", + "extension": { + "vscode": "Extensie VS Code", + "raycast": "Extensie Raycast", + "alfred": "Extensie Alfred" + }, + "donate": { + "openCollective": "Donează pe Open Collective", + "payPal": "Donează prin PayPal", + "gumroad": "Donează prin Gumroad (Visa, Mastercard, etc.)" + }, + "twitter": "Twitter", + "devTools": "Comută Instrumentele de Dezvoltare", + "links": { + "snippets": "Colecție de Snippets" + } + }, + "edit": { + "label": "Editare", + "find": "Căutare" + }, + "view": { + "label": "Vizualizare", + "sortBy": { + "label": "Sortează Snippets După", + "dateModified": "Data Modificării", + "dateCreated": "Data Creării", + "name": "Nume" + }, + "compactMode": "Mod Compact" + }, + "editor": { + "label": "Editor", + "copy": "Copiază Snippet în Clipboard", + "format": "Formatare", + "previewCode": "Previzualizare Cod", + "previewScreenshot": "Previzualizare Screenshot", + "fontSizeIncrease": "Mărește Dimensiunea Fontului", + "fontSizeDecrease": "Micșorează Dimensiunea Fontului", + "fontSizeReset": "Resetează Dimensiunea Fontului" + }, + "markdown": { + "label": "Markdown", + "presentationMode": "Mod Prezentare", + "preview": "Previzualizare", + "previewMarkdown": "Previzualizare Markdown", + "previewMindmap": "Previzualizare Mindmap" + }, + "history": { + "label": "Istoric", + "back": "Înapoi", + "forward": "Înainte" + }, + "devtools": { + "label": "Instrumente pentru Dezvoltatori" + } +} diff --git a/src/main/i18n/locales/ro_RO/messages.json b/src/main/i18n/locales/ro_RO/messages.json new file mode 100644 index 00000000..606f96bb --- /dev/null +++ b/src/main/i18n/locales/ro_RO/messages.json @@ -0,0 +1,49 @@ +{ + "confirm": { + "delete": "Sigur doriți să ștergeți \"{{name}}\"?", + "deletePermanently": "Sigur doriți să ștergeți definitiv \"{{name}}\"?", + "deleteConfirmMultipleSnippets": "Sigur doriți să ștergeți definitiv {{count}} snippets selectate?", + "emptyTrash": "Sigur doriți să ștergeți definitiv toate snippets din Coșul de gunoi?", + "clearDb": "Sigur doriți să ștergeți database-ul?", + "migrateDb": [ + "Sigur doriți să migrați?", + "În timpul migrării, biblioteca curentă va fi suprascrisă." + ] + }, + "success": { + "migrate": "DB a fost migrat cu succes." + }, + "warning": { + "noUndo": "Nu puteți anula această acțiune.", + "allSnippetsMoveToTrash": "Toate snippets din acest folder vor fi mutate în coșul de gunoi.", + "deleteTag": "Acest lucru va determina și eliminarea tuturor tag-urilor din snippets.", + "createDb": "Vă rugăm să selectați un alt folder", + "clearDb": "Aceasta va șterge definitiv toate Snippets, Folders și Tags din database.", + "htmlCssPreview": "Adăugați un fragment HTML pentru a vedea rezultatul. Adăugați CSS pentru stilizare și JavaScript pentru interactivitate.", + "codeBlockRenderer": [ + "Când utilizați Codemirror, limbajul setat pentru blocul de cod trebuie să corespundă uneia dintre valorile", + "languages" + ] + }, + "error": {}, + "description": { + "storage": "Pentru a utiliza servicii de sincronizare precum iCloud Drive, Google Drive sau Dropbox, mutați storage-ul în folderele sincronizate corespunzătoare", + "migrate": { + "fromV3": "Pentru a migra de la massCode v3, selectați folderul care conține fișierul JSON.", + "fromSnippetsLab": "Pentru a migra de la SnippetsLab, selectați fișierul JSON.", + "snippetsLabLimitations": [ + "Câteva limitări. În timpul migrării de la SnippetsLab:", + "Toate folderele vor fi de primul nivel, deoarece fișierul JSON (sub v2.1) nu reprezintă foldere imbricate.", + "Snippets cu limbaje neacceptate vor fi setate la Plain Text implicit." + ] + } + }, + "special": { + "supportMessage": "Bună, sunt Anton 👋

    \nMulțumesc că folosești massCode. Dacă găsești această aplicație utilă, te rog {{-tagStart}}donează{{-tagEnd}}. Mă va inspira să continui dezvoltarea proiectului.", + "unsponsored": "Nesponsorizat" + }, + "update": { + "available": "Versiunea {{newVersion}} este disponibilă pentru descărcare.\nVersiunea ta este {{oldVersion}}.", + "noAvailable": "Nu există actualizări disponibile în prezent." + } +} diff --git a/src/main/i18n/locales/ro_RO/preferences.json b/src/main/i18n/locales/ro_RO/preferences.json new file mode 100644 index 00000000..785d53e4 --- /dev/null +++ b/src/main/i18n/locales/ro_RO/preferences.json @@ -0,0 +1,50 @@ +{ + "label": "Preferințe", + "storage": { + "label": "Storage", + "migrate": "Migrare", + "count": "Număr", + "clearDatabase": "Șterge Database" + }, + "editor": { + "label": "Editor", + "fontSize": "Dimensiune Font", + "fontFamily": "Familie Font", + "wrap": { + "label": "Încadrare", + "wordWrap": "Încadrare Cuvinte", + "off": "Oprit" + }, + "tabSize": "Dimensiune Tab", + "showInvisibles": "Arată Caractere Invizibile", + "highlightLine": "Evidențiere Linie", + "highlightGutter": "Evidențiere Gutter", + "matchBrackets": "Potrivire Paranteze", + "prettier": { + "label": "Prettier", + "trailingComma": { + "label": "Virgulă la Final", + "none": "Niciuna", + "all": "Toate", + "es5": "ES5" + }, + "semi": "Punct și Virgulă", + "singleQuote": "Ghilimele Simple" + } + }, + "appearance": { + "label": "Aspect", + "theme": { + "label": "Temă", + "light": "Luminos", + "dark": "Întunecat" + } + }, + "language": { + "label": "Limbă" + }, + "markdown": { + "label": "Markdown", + "codeRenderer": "Renderer Bloc de Cod" + } +} diff --git a/src/main/i18n/locales/ro_RO/ui.json b/src/main/i18n/locales/ro_RO/ui.json new file mode 100644 index 00000000..bd155ca3 --- /dev/null +++ b/src/main/i18n/locales/ro_RO/ui.json @@ -0,0 +1,111 @@ +{ + "total": "Total", + "line": "Linie", + "column": "Coloană", + "fragment": "Fragment", + "path": "Cale", + "button": { + "back": "Înapoi", + "cancel": "Anulare", + "clear": "Șterge", + "confirm": "Confirmă", + "copy": "Copiază", + "fit": "Potrivește", + "generate": "Generează", + "ok": "OK", + "revers": "Inversează", + "saveAs": "Salvează ca", + "sort": "Sortează", + "update": ["Mergi la GitHub", "OK"], + "zoomIn": "Mărește", + "zoomOut": "Micșorează", + "darkMode": "Mod Întunecat", + "toggleDarkMode": "Comută modul întunecat", + "background": "Fundal", + "goToDownload": "Mergi la Descărcare", + "refreshPreview": "Reîmprospătează previzualizarea", + "laserPointer": "Pointer laser", + "fullscreen": "Ecran complet", + "prev": "Anterior", + "next": "Următor" + }, + "action": { + "close": "Închide", + "defaultLanguage": "Limbaj Implicit", + "duplicate": "Duplică", + "rename": "Redenumește", + "restore": "Restaurează", + "setCustomIcon": "Setează Iconiță Personalizată", + "show": "Arată", + "hide": "Ascunde", + "new": { + "storage": "Storage Nou", + "folder": "Folder Nou", + "snippet": "Snippet Nou", + "fragment": "Fragment Nou" + }, + "add": { + "description": "Adaugă Descriere", + "tag": "Adaugă Tag", + "toFavorites": "Adaugă la Favorite" + }, + "open": { + "storage": "Deschide Storage" + }, + "move": { + "storage": "Mută Storage", + "toTrash": "Mută la Coșul de Gunoi" + }, + "remove": { + "fromFavorites": "Elimină din Favorite" + }, + "reload": { + "storage": "Reîncarcă Storage" + }, + "delete": { + "common": "Șterge", + "now": "Șterge Acum", + "allData": "Șterge Toate Datele", + "trash": "Golește Coșul de Gunoi" + }, + "migrate": { + "fromSnippetsLab": "Din SnippetsLab", + "fromV3": "Din massCode v3" + }, + "export": { + "toHtml": "Exportă în HTML" + }, + "copy": { + "snippetLink": "Copiază Link-ul Snippet-ului" + } + }, + "sidebar": { + "inbox": "Inbox", + "favorites": "Favorite", + "allSnippets": "Toate Snippets", + "trash": "Coș de Gunoi", + "folders": "Foldere", + "library": "Bibliotecă", + "tags": "Tags" + }, + "folder": { + "untitled": "Folder fără titlu", + "plural": "Foldere", + "collapseAll": "Restrânge Tot", + "expandAll": "Extinde Tot" + }, + "snippet": { + "untitled": "Snippet fără titlu", + "plural": "Snippets", + "emptyName": "Introduceți numele snippet-ului", + "selectedMultiple": "{{count}} Snippets Selectate", + "noSelected": "Niciun Snippet Selectat" + }, + "placeholder": { + "emptyTagList": "Adăugați tags la snippets pentru a le vedea aici", + "emptyFoldersList": "Fără foldere", + "emptySnippetsList": "Fără fragmente", + "search": "Caută", + "addTag": "Adaugă Tag" + } +} diff --git a/src/main/i18n/locales/ru_RU/devtools.json b/src/main/i18n/locales/ru_RU/devtools.json new file mode 100644 index 00000000..47229069 --- /dev/null +++ b/src/main/i18n/locales/ru_RU/devtools.json @@ -0,0 +1,143 @@ +{ + "label": "Инструменты разработчика", + "converters": { + "label": "Конвертеры", + "caseConverter": { + "label": "Конвертер регистра", + "description": "Преобразование текста в различные регистры", + "caseType": { + "uppercase": "Uppercase", + "lowercase": "Lowercase", + "camelcase": "Camelcase", + "capitalize": "Capitalize", + "constantcase": "Constantcase", + "snakecase": "Snakecase", + "kebabcase": "Kebabcase", + "pascalcase": "Pascalcase", + "dotcase": "Dotcase", + "pathcase": "Pathcase" + } + }, + "textToUnicode": { + "label": "Текст в Unicode", + "description": "Конвертация текста в Unicode и обратно", + "modes": { + "textToUnicode": "Текст → Unicode", + "unicodeToText": "Unicode → Текст" + } + }, + "textToAscii": { + "label": "Текст в ASCII Binary", + "description": "Конвертация текста в ASCII binary и обратно", + "modes": { + "textToAscii": "Текст → ASCII", + "asciiToText": "ASCII → Текст" + } + }, + "base64": { + "label": "Base64 Encoder / Decoder", + "description": "Кодирование или декодирование текста в Base64", + "modes": { + "textToBase64": "Текст → Base64", + "base64ToText": "Base64 → Текст" + } + }, + "jsonToYaml": { + "label": "JSON в YAML", + "description": "Конвертация JSON в YAML и обратно", + "modes": { + "jsonToYaml": "JSON → YAML", + "yamlToJson": "YAML → JSON" + } + }, + "jsonToToml": { + "label": "JSON в TOML", + "description": "Конвертация JSON в TOML и обратно", + "modes": { + "jsonToToml": "JSON → TOML", + "tomlToJson": "TOML → JSON" + } + }, + "jsonToXml": { + "label": "JSON в XML", + "description": "Конвертация JSON в XML и обратно", + "modes": { + "jsonToXml": "JSON → XML", + "xmlToJson": "XML → JSON" + } + }, + "colorConverter": { + "label": "Конвертер цветов", + "description": "Конвертация цветов между различными форматами" + } + }, + "crypto": { + "label": "Криптография / Безопасность", + "hash": { + "label": "Генератор хешей", + "description": "Генерация хешей из текста" + }, + "hmac": { + "label": "HMAC Генератор", + "description": "Генерация кода аутентификации сообщений на основе хеша (HMAC) из ключа и сообщения" + }, + "password": { + "label": "Генератор паролей", + "description": "Генерация безопасного пароля" + }, + "uuid": { + "label": "UUID Генератор", + "description": "Генерация универсального уникального идентификатора (UUID)" + } + }, + "web": { + "label": "Веб", + "urlParser": { + "label": "URL Парсер", + "description": "Разбор URL на компоненты" + }, + "urlEncoder": { + "label": "URL Encoder / Decoder", + "description": "Кодирование или декодирование URL", + "modes": { + "urlEncode": "URL Encode", + "urlDecode": "URL Decode" + } + }, + "slugify": { + "label": "Slugify", + "description": "Преобразование текста в URL-совместимый slug" + } + }, + "form": { + "input": "Ввод", + "output": "Вывод", + "inputString": "Входная строка", + "outputString": "Выходная строка", + "inputUrl": "Входной URL", + "outputUrl": "Выходной URL", + "parsedUrl": "Разобранный URL", + "splitQueryString": "Разделить Query String", + "key": "Ключ", + "value": "Значение", + "component": "Компонент", + "result": "Результат", + "secretKey": "Секретный ключ", + "algorithm": "Алгоритм", + "version": "Версия", + "amount": "Количество", + "type": "Тип", + "length": "Длина", + "options": "Опции", + "numbers": "Числа", + "symbols": "Символы", + "lowercase": "Строчные", + "uppercase": "Заглавные", + "placeholder": { + "text": "Введите текст", + "value": "Введите значение", + "secretKey": "Введите секретный ключ", + "url": "Введите URL" + } + } +} diff --git a/src/main/i18n/locales/ru_RU/menu.json b/src/main/i18n/locales/ru_RU/menu.json new file mode 100644 index 00000000..c0f8e338 --- /dev/null +++ b/src/main/i18n/locales/ru_RU/menu.json @@ -0,0 +1,74 @@ +{ + "app": { + "label": "massCode", + "preferences": "Настройки", + "devtools": "Инструменты разработчика", + "update": "Проверить обновления...", + "quit": "Выйти из massCode", + "about": "О massCode", + "hide": "Скрыть massCode" + }, + "help": { + "label": "Помощь", + "website": "Веб-сайт", + "documentation": "Документация", + "viewInGitHub": "Открыть на GitHub", + "changeLog": "История изменений", + "reportIssue": "Сообщить о проблеме", + "giveStar": "Поставить звезду", + "extension": { + "vscode": "Расширение VS Code", + "raycast": "Расширение Raycast", + "alfred": "Расширение Alfred" + }, + "donate": { + "openCollective": "Поддержать через Open Collective", + "payPal": "Поддержать через PayPal", + "gumroad": "Поддержать через Gumroad (Visa, Mastercard и др.)" + }, + "twitter": "Twitter", + "devTools": "Инструменты разработчика", + "links": { + "snippets": "Коллекция сниппетов" + } + }, + "edit": { + "label": "Правка", + "find": "Найти" + }, + "view": { + "label": "Вид", + "sortBy": { + "label": "Сортировать сниппеты по", + "dateModified": "Дате изменения", + "dateCreated": "Дате создания", + "name": "Имени" + }, + "compactMode": "Компактный режим" + }, + "editor": { + "label": "Редактор", + "copy": "Копировать сниппет в буфер обмена", + "format": "Форматировать", + "previewCode": "Предпросмотр кода", + "previewScreenshot": "Предпросмотр скриншота", + "fontSizeIncrease": "Увеличить размер шрифта", + "fontSizeDecrease": "Уменьшить размер шрифта", + "fontSizeReset": "Сбросить размер шрифта" + }, + "markdown": { + "label": "Markdown", + "presentationMode": "Режим презентации", + "preview": "Предпросмотр", + "previewMarkdown": "Предпросмотр Markdown", + "previewMindmap": "Предпросмотр диаграммы связей" + }, + "history": { + "label": "История", + "back": "Назад", + "forward": "Вперед" + }, + "devtools": { + "label": "Инструменты разработчика" + } +} diff --git a/src/main/i18n/locales/ru_RU/messages.json b/src/main/i18n/locales/ru_RU/messages.json new file mode 100644 index 00000000..a7cddd62 --- /dev/null +++ b/src/main/i18n/locales/ru_RU/messages.json @@ -0,0 +1,49 @@ +{ + "confirm": { + "delete": "Вы уверены, что хотите удалить \"{{name}}\"?", + "deletePermanently": "Вы уверены, что хотите навсегда удалить \"{{name}}\"?", + "deleteConfirmMultipleSnippets": "Вы уверены, что хотите навсегда удалить {{count}} выбранных сниппетов?", + "emptyTrash": "Вы уверены, что хотите навсегда удалить все сниппеты из Корзины?", + "clearDb": "Вы уверены, что хотите очистить базу данных?", + "migrateDb": [ + "Вы уверены, что хотите выполнить миграцию?", + "Во время миграции текущая библиотека будет перезаписана." + ] + }, + "success": { + "migrate": "База данных успешно мигрирована." + }, + "warning": { + "noUndo": "Это действие нельзя отменить.", + "allSnippetsMoveToTrash": "Все сниппеты в этой папке будут перемещены в корзину.", + "deleteTag": "Это также приведет к удалению этого тега со всех сниппетов.", + "createDb": "Пожалуйста, выберите другую папку", + "clearDb": "Это навсегда удалит все Сниппеты, Папки и Теги из базы данных.", + "htmlCssPreview": "Добавьте HTML-фрагмент, чтобы увидеть результат. Добавьте CSS для стилизации и JavaScript для интерактивности.", + "codeBlockRenderer": [ + "При использовании Codemirror язык, который будет установлен для блока кода, должен соответствовать одному из значений", + "languages" + ] + }, + "error": {}, + "description": { + "storage": "Для использования сервисов синхронизации, таких как iCloud Drive, Google Drive или Dropbox, просто переместите хранилище в соответствующие синхронизируемые папки", + "migrate": { + "fromV3": "Для миграции с massCode v3 выберите папку, содержащую файл JSON.", + "fromSnippetsLab": "Для миграции из SnippetsLab выберите файл JSON.", + "snippetsLabLimitations": [ + "Некоторые ограничения. При миграции из SnippetsLab:", + "Все папки будут первого уровня, так как JSON файл (ниже v2.1) не поддерживает вложенные папки.", + "Сниппеты с неподдерживаемыми языками будут установлены в Plain Text по умолчанию." + ] + } + }, + "special": { + "supportMessage": "Привет, это Антон 👋

    \nСпасибо за использование massCode. Если вы находите это приложение полезным, пожалуйста, {{-tagStart}}поддержите проект{{-tagEnd}}. Это вдохновит меня на продолжение разработки проекта.", + "unsponsored": "Без спонсорства" + }, + "update": { + "available": "Версия {{newVersion}} доступна для загрузки.\nВаша версия {{oldVersion}}.", + "noAvailable": "В настоящее время обновления недоступны." + } +} diff --git a/src/main/services/i18n/locales/ru/preferences.json b/src/main/i18n/locales/ru_RU/preferences.json similarity index 65% rename from src/main/services/i18n/locales/ru/preferences.json rename to src/main/i18n/locales/ru_RU/preferences.json index 531dc81b..a40be6a3 100644 --- a/src/main/services/i18n/locales/ru/preferences.json +++ b/src/main/i18n/locales/ru_RU/preferences.json @@ -1,9 +1,10 @@ { - "title": "Настройки", + "label": "Настройки", "storage": { "label": "Хранилище", "migrate": "Миграция", - "count": "Количество" + "count": "Количество", + "clearDatabase": "Очистить базу данных" }, "editor": { "label": "Редактор", @@ -11,20 +12,20 @@ "fontFamily": "Семейство шрифтов", "wrap": { "label": "Перенос", - "wordWrap": "Перенос по словам", - "off": "Отключить" + "wordWrap": "Перенос слов", + "off": "Выключен" }, "tabSize": "Размер отступа", - "showInvisibles": "Показ невидимых символов", + "showInvisibles": "Показывать невидимые символы", "highlightLine": "Подсветка строки", - "highlightGutter": "Подсветка gutter", + "highlightGutter": "Подсветка номеров строк", "matchBrackets": "Подсветка скобок", "prettier": { "label": "Prettier", "trailingComma": { - "label": "Запятая в конце", + "label": "Замыкающая запятая", "none": "Нет", - "all": "Все", + "all": "Везде", "es5": "ES5" }, "semi": "Точка с запятой", @@ -44,6 +45,6 @@ }, "markdown": { "label": "Markdown", - "codeRenderer": "Рендерер блоков кода" + "codeRenderer": "Рендер блоков кода" } } diff --git a/src/main/i18n/locales/ru_RU/ui.json b/src/main/i18n/locales/ru_RU/ui.json new file mode 100644 index 00000000..be5550f8 --- /dev/null +++ b/src/main/i18n/locales/ru_RU/ui.json @@ -0,0 +1,111 @@ +{ + "total": "Всего", + "line": "Строка", + "column": "Столбец", + "fragment": "Фрагмент", + "path": "Путь", + "button": { + "back": "Назад", + "cancel": "Отмена", + "clear": "Очистить", + "confirm": "Подтвердить", + "copy": "Копировать", + "fit": "По размеру", + "generate": "Сгенерировать", + "ok": "OK", + "revers": "Обратить", + "saveAs": "Сохранить как", + "sort": "Сортировать", + "update": ["Перейти на GitHub", "OK"], + "zoomIn": "Увеличить", + "zoomOut": "Уменьшить", + "darkMode": "Темная тема", + "toggleDarkMode": "Переключить тёмную тему", + "background": "Фон", + "goToDownload": "Перейти к загрузке", + "refreshPreview": "Обновить предпросмотр", + "laserPointer": "Лазерная указка", + "fullscreen": "Полный экран", + "prev": "Назад", + "next": "Далее" + }, + "action": { + "close": "Закрыть", + "defaultLanguage": "Язык по умолчанию", + "duplicate": "Дублировать", + "rename": "Переименовать", + "restore": "Восстановить", + "setCustomIcon": "Установить свою иконку", + "show": "Показать", + "hide": "Скрыть", + "new": { + "storage": "Новое хранилище", + "folder": "Новая папка", + "snippet": "Новый сниппет", + "fragment": "Новый фрагмент" + }, + "add": { + "description": "Добавить описание", + "tag": "Добавить тег", + "toFavorites": "Добавить в избранное" + }, + "open": { + "storage": "Открыть хранилище" + }, + "move": { + "storage": "Переместить хранилище", + "toTrash": "Переместить в корзину" + }, + "remove": { + "fromFavorites": "Удалить из избранного" + }, + "reload": { + "storage": "Перезагрузить хранилище" + }, + "delete": { + "common": "Удалить", + "now": "Удалить сейчас", + "allData": "Удалить все данные", + "trash": "Очистить корзину" + }, + "migrate": { + "fromSnippetsLab": "Из SnippetsLab", + "fromV3": "Из massCode v3" + }, + "export": { + "toHtml": "Экспорт в HTML" + }, + "copy": { + "snippetLink": "Копировать ссылку на сниппет" + } + }, + "sidebar": { + "inbox": "Входящие", + "favorites": "Избранное", + "allSnippets": "Все сниппеты", + "trash": "Корзина", + "folders": "Папки", + "library": "Библиотека", + "tags": "Теги" + }, + "folder": { + "untitled": "Папка без названия", + "plural": "Папки", + "collapseAll": "Свернуть все", + "expandAll": "Развернуть все" + }, + "snippet": { + "untitled": "Сниппет без названия", + "plural": "Сниппеты", + "emptyName": "Введите название сниппета", + "selectedMultiple": "Выбрано сниппетов: {{count}}", + "noSelected": "Нет выбранных сниппетов" + }, + "placeholder": { + "emptyTagList": "Добавьте теги к сниппетам, чтобы увидеть их здесь", + "emptyFoldersList": "Нет папок", + "emptySnippetsList": "Нет сниппетов", + "search": "Поиск", + "addTag": "Добавить тег" + } +} diff --git a/src/main/i18n/locales/tr_TR/devtools.json b/src/main/i18n/locales/tr_TR/devtools.json new file mode 100644 index 00000000..8c62119d --- /dev/null +++ b/src/main/i18n/locales/tr_TR/devtools.json @@ -0,0 +1,143 @@ +{ + "label": "Geliştirici Araçları", + "converters": { + "label": "Dönüştürücüler", + "caseConverter": { + "label": "Büyük/Küçük Harf Dönüştürücü", + "description": "Metni farklı büyük/küçük harf biçimlerine dönüştür", + "caseType": { + "uppercase": "Uppercase", + "lowercase": "Lowercase", + "camelcase": "Camelcase", + "capitalize": "Capitalize", + "constantcase": "Constantcase", + "snakecase": "Snakecase", + "kebabcase": "Kebabcase", + "pascalcase": "Pascalcase", + "dotcase": "Dotcase", + "pathcase": "Pathcase" + } + }, + "textToUnicode": { + "label": "Metin Unicode'a", + "description": "Metni Unicode'a dönüştür ve tersi", + "modes": { + "textToUnicode": "Metin → Unicode", + "unicodeToText": "Unicode → Metin" + } + }, + "textToAscii": { + "label": "Metin ASCII Binary'ye", + "description": "Metni ASCII binary'ye dönüştür ve tersi", + "modes": { + "textToAscii": "Metin → ASCII", + "asciiToText": "ASCII → Metin" + } + }, + "base64": { + "label": "Base64 Encoder / Decoder", + "description": "Metni Base64'e kodla veya çöz", + "modes": { + "textToBase64": "Metin → Base64", + "base64ToText": "Base64 → Metin" + } + }, + "jsonToYaml": { + "label": "JSON'dan YAML'a", + "description": "JSON'u YAML'a dönüştür ve tersi", + "modes": { + "jsonToYaml": "JSON → YAML", + "yamlToJson": "YAML → JSON" + } + }, + "jsonToToml": { + "label": "JSON'dan TOML'a", + "description": "JSON'u TOML'a dönüştür ve tersi", + "modes": { + "jsonToToml": "JSON → TOML", + "tomlToJson": "TOML → JSON" + } + }, + "jsonToXml": { + "label": "JSON'dan XML'e", + "description": "JSON'u XML'e dönüştür ve tersi", + "modes": { + "jsonToXml": "JSON → XML", + "xmlToJson": "XML → JSON" + } + }, + "colorConverter": { + "label": "Renk Dönüştürücü", + "description": "Renkleri farklı formatlar arasında dönüştür" + } + }, + "crypto": { + "label": "Kriptografi / Güvenlik", + "hash": { + "label": "Hash Üretici", + "description": "Metinden hash üret" + }, + "hmac": { + "label": "HMAC Üretici", + "description": "Anahtar ve mesajdan oluşan hash tabanlı mesaj kimlik doğrulama kodu (HMAC) üret" + }, + "password": { + "label": "Şifre Üretici", + "description": "Güvenli şifre üret" + }, + "uuid": { + "label": "UUID Üretici", + "description": "Evrensel benzersiz tanımlayıcı (UUID) üret" + } + }, + "web": { + "label": "Web", + "urlParser": { + "label": "URL Ayrıştırıcı", + "description": "URL'yi bileşenlerine ayrıştır" + }, + "urlEncoder": { + "label": "URL Encoder / Decoder", + "description": "URL'yi kodla veya çöz", + "modes": { + "urlEncode": "URL Encode", + "urlDecode": "URL Decode" + } + }, + "slugify": { + "label": "Slugify", + "description": "Metni URL dostu slug'a dönüştür" + } + }, + "form": { + "input": "Giriş", + "output": "Çıkış", + "inputString": "Giriş Dizesi", + "outputString": "Çıkış Dizesi", + "inputUrl": "Giriş URL", + "outputUrl": "Çıkış URL", + "parsedUrl": "Ayrıştırılmış URL", + "splitQueryString": "Query String'i Böl", + "key": "Anahtar", + "value": "Değer", + "component": "Bileşen", + "result": "Sonuç", + "secretKey": "Gizli Anahtar", + "algorithm": "Algoritma", + "version": "Sürüm", + "amount": "Miktar", + "type": "Tür", + "length": "Uzunluk", + "options": "Seçenekler", + "numbers": "Sayılar", + "symbols": "Semboller", + "lowercase": "Küçük harf", + "uppercase": "Büyük harf", + "placeholder": { + "text": "Metin girin", + "value": "Değer girin", + "secretKey": "Gizli anahtar girin", + "url": "URL girin" + } + } +} diff --git a/src/main/services/i18n/locales/tr/menu.json b/src/main/i18n/locales/tr_TR/menu.json similarity index 50% rename from src/main/services/i18n/locales/tr/menu.json rename to src/main/i18n/locales/tr_TR/menu.json index 5e871a12..dc3ae5a1 100644 --- a/src/main/services/i18n/locales/tr/menu.json +++ b/src/main/i18n/locales/tr_TR/menu.json @@ -2,22 +2,16 @@ "app": { "label": "massCode", "preferences": "Tercihler", - "update": { - "label": "Güncellemeleri Kontrol Et....", - "message": "Sürüm {{newVersion}} şimdi indirilebilir durumda.\nMevcut sürümünüz {{oldVersion}}.", - "button": ["İndirmeye Git", "Tamam"], - "noUpdate": "Şu anda mevcut güncelleme yok." - }, - "quit": "massCode'u Kapat", + "devtools": "Geliştirici Araçları", + "update": "Güncellemeleri Kontrol Et...", + "quit": "massCode'dan Çık", "about": "massCode Hakkında", - "hide": "massCode'u Gizle", - "hideOther": "Diğerlerini Gizle", - "showAll": "Hepsini Göster" + "hide": "massCode'u Gizle" }, "help": { "label": "Yardım", "website": "Web Sitesi", - "documentation": "Belgeler", + "documentation": "Dokümantasyon", "viewInGitHub": "GitHub'da Görüntüle", "changeLog": "Değişiklik Günlüğü", "reportIssue": "Sorun Bildir", @@ -28,56 +22,46 @@ "alfred": "Alfred Eklentisi" }, "donate": { - "openCollective": "Open Collective Üzerinden Bağış Yap", + "openCollective": "Open Collective'de Bağış Yap", "payPal": "PayPal ile Bağış Yap", - "gumroad": "Gumroad Üzerinden Bağış Yap (Visa, Mastercard, vb.)" + "gumroad": "Gumroad ile Bağış Yap (Visa, Mastercard, vb.)" }, "twitter": "Twitter", "devTools": "Geliştirici Araçlarını Aç/Kapat", "links": { - "snippets": "Kod Parçaları Koleksiyonu" + "snippets": "Snippet Koleksiyonu" } }, - "file": { - "label": "Dosya", - "find": "Ara" + "edit": { + "label": "Düzenle", + "find": "Bul" }, "view": { "label": "Görünüm", "sortBy": { - "label": "Kod Parçalarını Sırala", + "label": "Snippet'leri Sırala", "dateModified": "Değiştirilme Tarihi", - "dateCreated": "Oluşturma Tarihi", - "name": "Ad" + "dateCreated": "Oluşturulma Tarihi", + "name": "İsim" }, - "hideSubfolderSnippets": "Alt Klasör Kod Parçalarını Gizle", "compactMode": "Kompakt Mod" }, - "edit": { - "label": "Düzenle", - "undo": "Geri Al", - "redo": "Yinele", - "cut": "Kes", - "copy": "Kopyala", - "paste": "Yapıştır", - "delete": "Sil", - "selectAll": "Tümünü Seç" - }, "editor": { "label": "Editör", - "copy": "Kod Parçasını Panoya Kopyala", + "copy": "Snippet'i Panoya Kopyala", "format": "Biçimlendir", "previewCode": "Kodu Önizle", "previewScreenshot": "Ekran Görüntüsünü Önizle", - "previewMarkdown": "Markdown'u Önizle", - "fontSizeIncrease": "Yazı Boyutunu Büyüt", - "fontSizeDecrease": "Yazı Boyutunu Küçült", + "fontSizeIncrease": "Yazı Boyutunu Artır", + "fontSizeDecrease": "Yazı Boyutunu Azalt", "fontSizeReset": "Yazı Boyutunu Sıfırla" }, "markdown": { "label": "Markdown", "presentationMode": "Sunum Modu", - "preview": "Önizleme" + "preview": "Önizleme", + "previewMarkdown": "Markdown Önizle", + "previewMindmap": "Mindmap Önizle" }, "history": { "label": "Geçmiş", diff --git a/src/main/i18n/locales/tr_TR/messages.json b/src/main/i18n/locales/tr_TR/messages.json new file mode 100644 index 00000000..627e5f10 --- /dev/null +++ b/src/main/i18n/locales/tr_TR/messages.json @@ -0,0 +1,49 @@ +{ + "confirm": { + "delete": "\"{{name}}\" öğesini silmek istediğinizden emin misiniz?", + "deletePermanently": "\"{{name}}\" öğesini kalıcı olarak silmek istediğinizden emin misiniz?", + "deleteConfirmMultipleSnippets": "{{count}} seçili snippet'i kalıcı olarak silmek istediğinizden emin misiniz?", + "emptyTrash": "Çöp Kutusu'ndaki tüm snippet'leri kalıcı olarak silmek istediğinizden emin misiniz?", + "clearDb": "Database'i temizlemek istediğinizden emin misiniz?", + "migrateDb": [ + "Taşımak istediğinizden emin misiniz?", + "Taşıma sırasında mevcut kütüphane üzerine yazılacaktır." + ] + }, + "success": { + "migrate": "Database başarıyla taşındı." + }, + "warning": { + "noUndo": "Bu işlemi geri alamazsınız.", + "allSnippetsMoveToTrash": "Bu klasördeki tüm snippet'ler çöp kutusuna taşınacak.", + "deleteTag": "Bu, tüm snippet'lerden bu etiketin kaldırılmasına neden olacaktır.", + "createDb": "Lütfen başka bir klasör seçin", + "clearDb": "Bu, database'deki tüm Snippet'leri, Klasörleri ve Etiketleri kalıcı olarak silecektir.", + "htmlCssPreview": "Sonucu görmek için HTML parçası ekleyin. Stil için CSS ve etkileşim için JavaScript ekleyin.", + "codeBlockRenderer": [ + "Codemirror kullanırken, kod bloğu için ayarlanacak dilin", + "languages" + ] + }, + "error": {}, + "description": { + "storage": "iCloud Drive, Google Drive veya Dropbox gibi senkronizasyon servislerini kullanmak için depolamayı ilgili senkronize klasörlere taşımanız yeterlidir", + "migrate": { + "fromV3": "massCode v3'ten taşımak için JSON dosyasını içeren klasörü seçin.", + "fromSnippetsLab": "SnippetsLab'den taşımak için JSON dosyasını seçin.", + "snippetsLabLimitations": [ + "Bazı Sınırlamalar. SnippetsLab'den taşıma sırasında:", + "JSON dosyası (v2.1'in altında) iç içe klasörleri temsil etmediğinden tüm klasörler birinci seviye olacaktır.", + "Desteklenmeyen dillere sahip snippet'ler varsayılan Plain Text olarak ayarlanacaktır." + ] + } + }, + "special": { + "supportMessage": "Merhaba, ben Anton 👋

    \nmassCode'u kullandığınız için teşekkürler. Bu uygulamayı faydalı buluyorsanız, lütfen {{-tagStart}}bağış yapın{{-tagEnd}}. Bu beni projenin geliştirilmesine devam etmem için teşvik edecektir.", + "unsponsored": "Sponsorsuz" + }, + "update": { + "available": "{{newVersion}} sürümü artık indirilebilir.\nSizin sürümünüz {{oldVersion}}.", + "noAvailable": "Şu anda mevcut güncelleme yok." + } +} diff --git a/src/main/services/i18n/locales/tr/preferences.json b/src/main/i18n/locales/tr_TR/preferences.json similarity index 70% rename from src/main/services/i18n/locales/tr/preferences.json rename to src/main/i18n/locales/tr_TR/preferences.json index 83b6f273..c65dd6ed 100644 --- a/src/main/services/i18n/locales/tr/preferences.json +++ b/src/main/i18n/locales/tr_TR/preferences.json @@ -1,30 +1,31 @@ { - "title": "Tercihler", + "label": "Tercihler", "storage": { "label": "Depolama", - "migrate": "Göç Et", - "count": "Say" + "migrate": "Taşı", + "count": "Sayı", + "clearDatabase": "Database'i Temizle" }, "editor": { "label": "Editör", "fontSize": "Yazı Boyutu", "fontFamily": "Yazı Tipi", "wrap": { - "label": "Satır Sarması", - "wordWrap": "Kelime Sarması", - "off": "Kapat" + "label": "Kaydırma", + "wordWrap": "Kelime Kaydırma", + "off": "Kapalı" }, "tabSize": "Sekme Boyutu", "showInvisibles": "Görünmezleri Göster", "highlightLine": "Satırı Vurgula", - "highlightGutter": "Sütunu Vurgula", + "highlightGutter": "Kenar Boşluğunu Vurgula", "matchBrackets": "Parantezleri Eşleştir", "prettier": { "label": "Prettier", "trailingComma": { - "label": "Son Virgül", - "none": "Hiçbiri", - "all": "Tümü", + "label": "Sondaki Virgül", + "none": "Yok", + "all": "Hepsi", "es5": "ES5" }, "semi": "Noktalı Virgül", diff --git a/src/main/i18n/locales/tr_TR/ui.json b/src/main/i18n/locales/tr_TR/ui.json new file mode 100644 index 00000000..cee067c1 --- /dev/null +++ b/src/main/i18n/locales/tr_TR/ui.json @@ -0,0 +1,111 @@ +{ + "total": "Toplam", + "line": "Satır", + "column": "Sütun", + "fragment": "Fragment", + "path": "Yol", + "button": { + "back": "Geri", + "cancel": "İptal", + "clear": "Temizle", + "confirm": "Onayla", + "copy": "Kopyala", + "fit": "Sığdır", + "generate": "Oluştur", + "ok": "Tamam", + "revers": "Ters Çevir", + "saveAs": "Farklı Kaydet", + "sort": "Sırala", + "update": ["GitHub'a Git", "Tamam"], + "zoomIn": "Yakınlaştır", + "zoomOut": "Uzaklaştır", + "darkMode": "Karanlık Mod", + "toggleDarkMode": "Karanlık modu değiştir", + "background": "Arka Plan", + "goToDownload": "İndirmeye Git", + "refreshPreview": "Önizlemeyi yenile", + "laserPointer": "Lazer işaretçi", + "fullscreen": "Tam ekran", + "prev": "Önceki", + "next": "Sonraki" + }, + "action": { + "close": "Kapat", + "defaultLanguage": "Varsayılan Dil", + "duplicate": "Çoğalt", + "rename": "Yeniden Adlandır", + "restore": "Geri Yükle", + "setCustomIcon": "Özel İkon Ayarla", + "show": "Göster", + "hide": "Gizle", + "new": { + "storage": "Yeni Depolama", + "folder": "Yeni Klasör", + "snippet": "Yeni Snippet", + "fragment": "Yeni Fragment" + }, + "add": { + "description": "Açıklama Ekle", + "tag": "Etiket Ekle", + "toFavorites": "Favorilere Ekle" + }, + "open": { + "storage": "Depolama Aç" + }, + "move": { + "storage": "Depolamayı Taşı", + "toTrash": "Çöp Kutusuna Taşı" + }, + "remove": { + "fromFavorites": "Favorilerden Kaldır" + }, + "reload": { + "storage": "Depolamayı Yenile" + }, + "delete": { + "common": "Sil", + "now": "Şimdi Sil", + "allData": "Tüm Verileri Sil", + "trash": "Çöp Kutusunu Boşalt" + }, + "migrate": { + "fromSnippetsLab": "SnippetsLab'den", + "fromV3": "massCode v3'ten" + }, + "export": { + "toHtml": "HTML Olarak Dışa Aktar" + }, + "copy": { + "snippetLink": "Snippet Bağlantısını Kopyala" + } + }, + "sidebar": { + "inbox": "Gelen Kutusu", + "favorites": "Favoriler", + "allSnippets": "Tüm Snippet'ler", + "trash": "Çöp Kutusu", + "folders": "Klasörler", + "library": "Kütüphane", + "tags": "Etiketler" + }, + "folder": { + "untitled": "İsimsiz klasör", + "plural": "Klasörler", + "collapseAll": "Tümünü Daralt", + "expandAll": "Tümünü Genişlet" + }, + "snippet": { + "untitled": "İsimsiz snippet", + "plural": "Snippet'ler", + "emptyName": "Snippet adını yazın", + "selectedMultiple": "{{count}} Snippet Seçildi", + "noSelected": "Snippet Seçilmedi" + }, + "placeholder": { + "emptyTagList": "Burada görmek için snippet'lere etiket ekleyin", + "emptyFoldersList": "Klasör yok", + "emptySnippetsList": "Snippet yok", + "search": "Ara", + "addTag": "Etiket Ekle" + } +} diff --git a/src/main/i18n/locales/uk_UA/devtools.json b/src/main/i18n/locales/uk_UA/devtools.json new file mode 100644 index 00000000..ae4ac63d --- /dev/null +++ b/src/main/i18n/locales/uk_UA/devtools.json @@ -0,0 +1,143 @@ +{ + "label": "Інструменти розробника", + "converters": { + "label": "Конвертери", + "caseConverter": { + "label": "Конвертер регістру", + "description": "Перетворення тексту в різні регістри", + "caseType": { + "uppercase": "Uppercase", + "lowercase": "Lowercase", + "camelcase": "Camelcase", + "capitalize": "Capitalize", + "constantcase": "Constantcase", + "snakecase": "Snakecase", + "kebabcase": "Kebabcase", + "pascalcase": "Pascalcase", + "dotcase": "Dotcase", + "pathcase": "Pathcase" + } + }, + "textToUnicode": { + "label": "Текст в Unicode", + "description": "Конвертація тексту в Unicode і навпаки", + "modes": { + "textToUnicode": "Текст → Unicode", + "unicodeToText": "Unicode → Текст" + } + }, + "textToAscii": { + "label": "Текст в ASCII Binary", + "description": "Конвертація тексту в ASCII binary і навпаки", + "modes": { + "textToAscii": "Текст → ASCII", + "asciiToText": "ASCII → Текст" + } + }, + "base64": { + "label": "Base64 Encoder / Decoder", + "description": "Кодування або декодування тексту в Base64", + "modes": { + "textToBase64": "Текст → Base64", + "base64ToText": "Base64 → Текст" + } + }, + "jsonToYaml": { + "label": "JSON в YAML", + "description": "Конвертація JSON в YAML і навпаки", + "modes": { + "jsonToYaml": "JSON → YAML", + "yamlToJson": "YAML → JSON" + } + }, + "jsonToToml": { + "label": "JSON в TOML", + "description": "Конвертація JSON в TOML і навпаки", + "modes": { + "jsonToToml": "JSON → TOML", + "tomlToJson": "TOML → JSON" + } + }, + "jsonToXml": { + "label": "JSON в XML", + "description": "Конвертація JSON в XML і навпаки", + "modes": { + "jsonToXml": "JSON → XML", + "xmlToJson": "XML → JSON" + } + }, + "colorConverter": { + "label": "Конвертер кольорів", + "description": "Конвертація кольорів між різними форматами" + } + }, + "crypto": { + "label": "Криптографія / Безпека", + "hash": { + "label": "Генератор хешів", + "description": "Генерація хешів з тексту" + }, + "hmac": { + "label": "HMAC Генератор", + "description": "Генерація коду автентифікації повідомлень на основі хешу (HMAC) з ключа та повідомлення" + }, + "password": { + "label": "Генератор паролів", + "description": "Генерація безпечного пароля" + }, + "uuid": { + "label": "UUID Генератор", + "description": "Генерація універсального унікального ідентифікатора (UUID)" + } + }, + "web": { + "label": "Веб", + "urlParser": { + "label": "URL Парсер", + "description": "Розбір URL на компоненти" + }, + "urlEncoder": { + "label": "URL Encoder / Decoder", + "description": "Кодування або декодування URL", + "modes": { + "urlEncode": "URL Encode", + "urlDecode": "URL Decode" + } + }, + "slugify": { + "label": "Slugify", + "description": "Перетворення тексту в URL-сумісний slug" + } + }, + "form": { + "input": "Введення", + "output": "Виведення", + "inputString": "Вхідний рядок", + "outputString": "Вихідний рядок", + "inputUrl": "Вхідний URL", + "outputUrl": "Вихідний URL", + "parsedUrl": "Розібраний URL", + "splitQueryString": "Розділити Query String", + "key": "Ключ", + "value": "Значення", + "component": "Компонент", + "result": "Результат", + "secretKey": "Секретний ключ", + "algorithm": "Алгоритм", + "version": "Версія", + "amount": "Кількість", + "type": "Тип", + "length": "Довжина", + "options": "Опції", + "numbers": "Цифри", + "symbols": "Символи", + "lowercase": "Малі літери", + "uppercase": "Великі літери", + "placeholder": { + "text": "Введіть текст", + "value": "Введіть значення", + "secretKey": "Введіть секретний ключ", + "url": "Введіть URL" + } + } +} diff --git a/src/main/i18n/locales/uk_UA/menu.json b/src/main/i18n/locales/uk_UA/menu.json new file mode 100644 index 00000000..38874418 --- /dev/null +++ b/src/main/i18n/locales/uk_UA/menu.json @@ -0,0 +1,74 @@ +{ + "app": { + "label": "massCode", + "preferences": "Налаштування", + "devtools": "Інструменти розробника", + "update": "Перевірити оновлення...", + "quit": "Вийти з massCode", + "about": "Про massCode", + "hide": "Приховати massCode" + }, + "help": { + "label": "Допомога", + "website": "Веб-сайт", + "documentation": "Документація", + "viewInGitHub": "Переглянути на GitHub", + "changeLog": "Журнал змін", + "reportIssue": "Повідомити про проблему", + "giveStar": "Поставити зірку", + "extension": { + "vscode": "Розширення VS Code", + "raycast": "Розширення Raycast", + "alfred": "Розширення Alfred" + }, + "donate": { + "openCollective": "Підтримати через Open Collective", + "payPal": "Підтримати через PayPal", + "gumroad": "Підтримати через Gumroad (Visa, Mastercard, тощо)" + }, + "twitter": "Twitter", + "devTools": "Інструменти розробника", + "links": { + "snippets": "Колекція сніпетів" + } + }, + "edit": { + "label": "Редагувати", + "find": "Знайти" + }, + "view": { + "label": "Вигляд", + "sortBy": { + "label": "Сортувати сніпети за", + "dateModified": "Датою зміни", + "dateCreated": "Датою створення", + "name": "Назвою" + }, + "compactMode": "Компактний режим" + }, + "editor": { + "label": "Редактор", + "copy": "Копіювати сніпет в буфер обміну", + "format": "Форматувати", + "previewCode": "Попередній перегляд коду", + "previewScreenshot": "Попередній перегляд знімка екрану", + "fontSizeIncrease": "Збільшити розмір шрифту", + "fontSizeDecrease": "Зменшити розмір шрифту", + "fontSizeReset": "Скинути розмір шрифту" + }, + "markdown": { + "label": "Markdown", + "presentationMode": "Режим презентації", + "preview": "Попередній перегляд", + "previewMarkdown": "Попередній перегляд Markdown", + "previewMindmap": "Попередній перегляд Mindmap" + }, + "history": { + "label": "Історія", + "back": "Назад", + "forward": "Вперед" + }, + "devtools": { + "label": "Інструменти розробника" + } +} diff --git a/src/main/i18n/locales/uk_UA/messages.json b/src/main/i18n/locales/uk_UA/messages.json new file mode 100644 index 00000000..fc43c08e --- /dev/null +++ b/src/main/i18n/locales/uk_UA/messages.json @@ -0,0 +1,49 @@ +{ + "confirm": { + "delete": "Ви впевнені, що хочете видалити \"{{name}}\"?", + "deletePermanently": "Ви впевнені, що хочете назавжди видалити \"{{name}}\"?", + "deleteConfirmMultipleSnippets": "Ви впевнені, що хочете назавжди видалити {{count}} вибраних сніпетів?", + "emptyTrash": "Ви впевнені, що хочете назавжди видалити всі сніпети у Кошику?", + "clearDb": "Ви впевнені, що хочете очистити базу даних?", + "migrateDb": [ + "Ви впевнені, що хочете виконати міграцію?", + "Під час міграції поточна бібліотека буде перезаписана." + ] + }, + "success": { + "migrate": "База даних успішно мігрована." + }, + "warning": { + "noUndo": "Ви не зможете скасувати цю дію.", + "allSnippetsMoveToTrash": "Всі сніпети в цій папці будуть переміщені до кошика.", + "deleteTag": "Це також призведе до видалення цього тегу з усіх сніпетів.", + "createDb": "Будь ласка, виберіть іншу папку", + "clearDb": "Це назавжди видалить всі Сніпети, Папки та Теги з бази даних.", + "htmlCssPreview": "Додайте HTML-фрагмент, щоб побачити результат. Додайте CSS для стилізації та JavaScript для інтерактивності.", + "codeBlockRenderer": [ + "При використанні Codemirror мова для блоку коду повинна відповідати одному зі значень", + "languages" + ] + }, + "error": {}, + "description": { + "storage": "Щоб використовувати сервіси синхронізації, такі як iCloud Drive, Google Drive або Dropbox, просто перемістіть сховище у відповідні синхронізовані папки", + "migrate": { + "fromV3": "Для міграції з massCode v3 виберіть папку, що містить JSON файл.", + "fromSnippetsLab": "Для міграції зі SnippetsLab виберіть JSON файл.", + "snippetsLabLimitations": [ + "Деякі обмеження. Під час міграції зі SnippetsLab:", + "Всі папки будуть першого рівня, оскільки JSON файл (нижче v2.1) не представляє вкладені папки.", + "Сніпети з непідтримуваними мовами будуть встановлені за замовчуванням як Plain Text." + ] + } + }, + "special": { + "supportMessage": "Привіт, це Антон 👋

    \nДякую за використання massCode. Якщо ви вважаєте цей додаток корисним, будь ласка, {{-tagStart}}підтримайте проект{{-tagEnd}}. Це надихне мене продовжувати розробку проекту.", + "unsponsored": "Без спонсора" + }, + "update": { + "available": "Версія {{newVersion}} доступна для завантаження.\nВаша версія {{oldVersion}}.", + "noAvailable": "На даний момент оновлень немає." + } +} diff --git a/src/main/i18n/locales/uk_UA/preferences.json b/src/main/i18n/locales/uk_UA/preferences.json new file mode 100644 index 00000000..cb226bba --- /dev/null +++ b/src/main/i18n/locales/uk_UA/preferences.json @@ -0,0 +1,50 @@ +{ + "label": "Налаштування", + "storage": { + "label": "Сховище", + "migrate": "Міграція", + "count": "Кількість", + "clearDatabase": "Очистити базу даних" + }, + "editor": { + "label": "Редактор", + "fontSize": "Розмір шрифту", + "fontFamily": "Сімейство шрифтів", + "wrap": { + "label": "Перенесення", + "wordWrap": "Перенесення слів", + "off": "Вимкнено" + }, + "tabSize": "Розмір табуляції", + "showInvisibles": "Показати невидимі символи", + "highlightLine": "Підсвічування рядка", + "highlightGutter": "Підсвічування відступів", + "matchBrackets": "Парні дужки", + "prettier": { + "label": "Prettier", + "trailingComma": { + "label": "Кома в кінці", + "none": "Немає", + "all": "Всюди", + "es5": "ES5" + }, + "semi": "Крапка з комою", + "singleQuote": "Одинарні лапки" + } + }, + "appearance": { + "label": "Зовнішній вигляд", + "theme": { + "label": "Тема", + "light": "Світла", + "dark": "Темна" + } + }, + "language": { + "label": "Мова" + }, + "markdown": { + "label": "Markdown", + "codeRenderer": "Відображення блоків коду" + } +} diff --git a/src/main/i18n/locales/uk_UA/ui.json b/src/main/i18n/locales/uk_UA/ui.json new file mode 100644 index 00000000..be64f77d --- /dev/null +++ b/src/main/i18n/locales/uk_UA/ui.json @@ -0,0 +1,111 @@ +{ + "total": "Всього", + "line": "Рядок", + "column": "Стовпець", + "fragment": "Fragment", + "path": "Шлях", + "button": { + "back": "Назад", + "cancel": "Скасувати", + "clear": "Очистити", + "confirm": "Підтвердити", + "copy": "Копіювати", + "fit": "За розміром", + "generate": "Згенерувати", + "ok": "OK", + "revers": "Реверс", + "saveAs": "Зберегти як", + "sort": "Сортувати", + "update": ["Перейти на GitHub", "OK"], + "zoomIn": "Збільшити", + "zoomOut": "Зменшити", + "darkMode": "Темний режим", + "toggleDarkMode": "Перемкнути темний режим", + "background": "Фон", + "goToDownload": "Перейти до завантаження", + "refreshPreview": "Оновити попередній перегляд", + "laserPointer": "Лазерна указка", + "fullscreen": "Повний екран", + "prev": "Попередній", + "next": "Наступний" + }, + "action": { + "close": "Закрити", + "defaultLanguage": "Мова за замовчуванням", + "duplicate": "Дублювати", + "rename": "Перейменувати", + "restore": "Відновити", + "setCustomIcon": "Встановити власну іконку", + "show": "Показати", + "hide": "Приховати", + "new": { + "storage": "Нове сховище", + "folder": "Нова папка", + "snippet": "Новий сніпет", + "fragment": "Новий фрагмент" + }, + "add": { + "description": "Додати опис", + "tag": "Додати тег", + "toFavorites": "Додати до обраного" + }, + "open": { + "storage": "Відкрити сховище" + }, + "move": { + "storage": "Перемістити сховище", + "toTrash": "Перемістити до кошика" + }, + "remove": { + "fromFavorites": "Видалити з обраного" + }, + "reload": { + "storage": "Перезавантажити сховище" + }, + "delete": { + "common": "Видалити", + "now": "Видалити зараз", + "allData": "Видалити всі дані", + "trash": "Очистити кошик" + }, + "migrate": { + "fromSnippetsLab": "Зі SnippetsLab", + "fromV3": "З massCode v3" + }, + "export": { + "toHtml": "Експортувати в HTML" + }, + "copy": { + "snippetLink": "Копіювати посилання на сніпет" + } + }, + "sidebar": { + "inbox": "Вхідні", + "favorites": "Обране", + "allSnippets": "Всі сніпети", + "trash": "Кошик", + "folders": "Папки", + "library": "Бібліотека", + "tags": "Теги" + }, + "folder": { + "untitled": "Папка без назви", + "plural": "Папки", + "collapseAll": "Згорнути все", + "expandAll": "Розгорнути все" + }, + "snippet": { + "untitled": "Сніпет без назви", + "plural": "Сніпети", + "emptyName": "Введіть назву сніпета", + "selectedMultiple": "Вибрано {{count}} сніпетів", + "noSelected": "Сніпети не вибрані" + }, + "placeholder": { + "emptyTagList": "Додайте теги до сніпетів, щоб побачити їх тут", + "emptyFoldersList": "Немає папок", + "emptySnippetsList": "Немає сніппетів", + "search": "Пошук", + "addTag": "Додати тег" + } +} diff --git a/src/main/i18n/locales/zh_CN/devtools.json b/src/main/i18n/locales/zh_CN/devtools.json new file mode 100644 index 00000000..ff9748b8 --- /dev/null +++ b/src/main/i18n/locales/zh_CN/devtools.json @@ -0,0 +1,143 @@ +{ + "label": "开发者工具", + "converters": { + "label": "转换器", + "caseConverter": { + "label": "大小写转换器", + "description": "将文本转换为不同的大小写格式", + "caseType": { + "uppercase": "Uppercase", + "lowercase": "Lowercase", + "camelcase": "Camelcase", + "capitalize": "Capitalize", + "constantcase": "Constantcase", + "snakecase": "Snakecase", + "kebabcase": "Kebabcase", + "pascalcase": "Pascalcase", + "dotcase": "Dotcase", + "pathcase": "Pathcase" + } + }, + "textToUnicode": { + "label": "文本转Unicode", + "description": "将文本转换为Unicode,反之亦然", + "modes": { + "textToUnicode": "文本 → Unicode", + "unicodeToText": "Unicode → 文本" + } + }, + "textToAscii": { + "label": "文本转ASCII Binary", + "description": "将文本转换为ASCII binary,反之亦然", + "modes": { + "textToAscii": "文本 → ASCII", + "asciiToText": "ASCII → 文本" + } + }, + "base64": { + "label": "Base64 Encoder / Decoder", + "description": "将文本编码或解码为Base64", + "modes": { + "textToBase64": "文本 → Base64", + "base64ToText": "Base64 → 文本" + } + }, + "jsonToYaml": { + "label": "JSON转YAML", + "description": "将JSON转换为YAML,反之亦然", + "modes": { + "jsonToYaml": "JSON → YAML", + "yamlToJson": "YAML → JSON" + } + }, + "jsonToToml": { + "label": "JSON转TOML", + "description": "将JSON转换为TOML,反之亦然", + "modes": { + "jsonToToml": "JSON → TOML", + "tomlToJson": "TOML → JSON" + } + }, + "jsonToXml": { + "label": "JSON转XML", + "description": "将JSON转换为XML,反之亦然", + "modes": { + "jsonToXml": "JSON → XML", + "xmlToJson": "XML → JSON" + } + }, + "colorConverter": { + "label": "颜色转换器", + "description": "在不同格式之间转换颜色" + } + }, + "crypto": { + "label": "加密 / 安全", + "hash": { + "label": "哈希生成器", + "description": "从文本生成哈希值" + }, + "hmac": { + "label": "HMAC生成器", + "description": "生成由密钥和消息组成的基于哈希的消息认证码(HMAC)" + }, + "password": { + "label": "密码生成器", + "description": "生成安全密码" + }, + "uuid": { + "label": "UUID生成器", + "description": "生成通用唯一标识符(UUID)" + } + }, + "web": { + "label": "网络", + "urlParser": { + "label": "URL解析器", + "description": "将URL解析为其组件" + }, + "urlEncoder": { + "label": "URL Encoder / Decoder", + "description": "编码或解码URL", + "modes": { + "urlEncode": "URL Encode", + "urlDecode": "URL Decode" + } + }, + "slugify": { + "label": "Slugify", + "description": "将文本转换为URL友好的slug" + } + }, + "form": { + "input": "输入", + "output": "输出", + "inputString": "输入字符串", + "outputString": "输出字符串", + "inputUrl": "输入URL", + "outputUrl": "输出URL", + "parsedUrl": "解析的URL", + "splitQueryString": "分割Query String", + "key": "键", + "value": "值", + "component": "组件", + "result": "结果", + "secretKey": "密钥", + "algorithm": "算法", + "version": "版本", + "amount": "数量", + "type": "类型", + "length": "长度", + "options": "选项", + "numbers": "数字", + "symbols": "符号", + "lowercase": "小写", + "uppercase": "大写", + "placeholder": { + "text": "输入文本", + "value": "输入值", + "secretKey": "输入密钥", + "url": "输入URL" + } + } +} diff --git a/src/main/i18n/locales/zh_CN/menu.json b/src/main/i18n/locales/zh_CN/menu.json new file mode 100644 index 00000000..1cefb9ea --- /dev/null +++ b/src/main/i18n/locales/zh_CN/menu.json @@ -0,0 +1,74 @@ +{ + "app": { + "label": "massCode", + "preferences": "首选项", + "devtools": "开发者工具", + "update": "检查更新...", + "quit": "退出 massCode", + "about": "关于 massCode", + "hide": "隐藏 massCode" + }, + "help": { + "label": "帮助", + "website": "网站", + "documentation": "文档", + "viewInGitHub": "在 GitHub 中查看", + "changeLog": "更新日志", + "reportIssue": "报告问题", + "giveStar": "点个赞", + "extension": { + "vscode": "VS Code 扩展", + "raycast": "Raycast 扩展", + "alfred": "Alfred 扩展" + }, + "donate": { + "openCollective": "在 Open Collective 上捐赠", + "payPal": "通过 PayPal 捐赠", + "gumroad": "通过 Gumroad 捐赠(Visa、Mastercard 等)" + }, + "twitter": "Twitter", + "devTools": "切换开发者工具", + "links": { + "snippets": "代码片段集合" + } + }, + "edit": { + "label": "编辑", + "find": "查找" + }, + "view": { + "label": "视图", + "sortBy": { + "label": "代码片段排序方式", + "dateModified": "修改日期", + "dateCreated": "创建日期", + "name": "名称" + }, + "compactMode": "紧凑模式" + }, + "editor": { + "label": "编辑器", + "copy": "复制代码片段到剪贴板", + "format": "格式化", + "previewCode": "预览代码", + "previewScreenshot": "预览截图", + "fontSizeIncrease": "增大字体", + "fontSizeDecrease": "减小字体", + "fontSizeReset": "重置字体大小" + }, + "markdown": { + "label": "Markdown", + "presentationMode": "演示模式", + "preview": "预览", + "previewMarkdown": "预览 Markdown", + "previewMindmap": "预览思维导图" + }, + "history": { + "label": "历史", + "back": "后退", + "forward": "前进" + }, + "devtools": { + "label": "开发者工具" + } +} diff --git a/src/main/i18n/locales/zh_CN/messages.json b/src/main/i18n/locales/zh_CN/messages.json new file mode 100644 index 00000000..ccf2df7f --- /dev/null +++ b/src/main/i18n/locales/zh_CN/messages.json @@ -0,0 +1,49 @@ +{ + "confirm": { + "delete": "您确定要删除 \"{{name}}\" 吗?", + "deletePermanently": "您确定要永久删除 \"{{name}}\" 吗?", + "deleteConfirmMultipleSnippets": "您确定要永久删除已选择的 {{count}} 个代码片段吗?", + "emptyTrash": "您确定要永久删除回收站中的所有代码片段吗?", + "clearDb": "您确定要清空数据库吗?", + "migrateDb": [ + "您确定要进行迁移吗?", + "迁移期间,当前库将被覆盖。" + ] + }, + "success": { + "migrate": "数据库迁移成功。" + }, + "warning": { + "noUndo": "此操作无法撤消。", + "allSnippetsMoveToTrash": "此文件夹中的所有代码片段将被移至回收站。", + "deleteTag": "这也将导致所有带有该标签的代码片段移除此标签。", + "createDb": "请选择其他文件夹", + "clearDb": "这将永久删除数据库中的所有代码片段、文件夹和标签。", + "htmlCssPreview": "添加HTML片段以查看结果。添加CSS进行样式设计,添加JavaScript实现交互功能。", + "codeBlockRenderer": [ + "使用 Codemirror 时,代码块设置的语言必须对应", + "languages" + ] + }, + "error": {}, + "description": { + "storage": "要使用 iCloud Drive、Google Drive 或 Dropbox 等同步服务,只需将存储移动到相应的同步文件夹即可", + "migrate": { + "fromV3": "要从 massCode v3 迁移,请选择包含 JSON 文件的文件夹。", + "fromSnippetsLab": "要从 SnippetsLab 迁移,请选择 JSON 文件。", + "snippetsLabLimitations": [ + "一些限制。从 SnippetsLab 迁移时:", + "由于 JSON 文件(2.1 版以下)不支持嵌套文件夹,所有文件夹将位于第一层。", + "使用不支持语言的代码片段将被设置为默认的纯文本。" + ] + } + }, + "special": { + "supportMessage": "你好,我是 Anton 👋

    \n感谢使用 massCode。如果您觉得这个应用有用,请{{-tagStart}}捐赠{{-tagEnd}}。这将激励我继续开发这个项目。", + "unsponsored": "未赞助" + }, + "update": { + "available": "版本 {{newVersion}} 现已可供下载。\n您的版本是 {{oldVersion}}。", + "noAvailable": "目前没有可用的更新。" + } +} diff --git a/src/main/i18n/locales/zh_CN/preferences.json b/src/main/i18n/locales/zh_CN/preferences.json new file mode 100644 index 00000000..5d121521 --- /dev/null +++ b/src/main/i18n/locales/zh_CN/preferences.json @@ -0,0 +1,50 @@ +{ + "label": "首选项", + "storage": { + "label": "存储", + "migrate": "迁移", + "count": "数量", + "clearDatabase": "清空数据库" + }, + "editor": { + "label": "编辑器", + "fontSize": "字体大小", + "fontFamily": "字体", + "wrap": { + "label": "换行", + "wordWrap": "自动换行", + "off": "关闭" + }, + "tabSize": "缩进大小", + "showInvisibles": "显示不可见字符", + "highlightLine": "高亮当前行", + "highlightGutter": "高亮行号", + "matchBrackets": "匹配括号", + "prettier": { + "label": "Prettier", + "trailingComma": { + "label": "尾随逗号", + "none": "无", + "all": "全部", + "es5": "ES5" + }, + "semi": "分号", + "singleQuote": "单引号" + } + }, + "appearance": { + "label": "外观", + "theme": { + "label": "主题", + "light": "浅色", + "dark": "深色" + } + }, + "language": { + "label": "语言" + }, + "markdown": { + "label": "Markdown", + "codeRenderer": "代码块渲染器" + } +} diff --git a/src/main/i18n/locales/zh_CN/ui.json b/src/main/i18n/locales/zh_CN/ui.json new file mode 100644 index 00000000..28cf0bce --- /dev/null +++ b/src/main/i18n/locales/zh_CN/ui.json @@ -0,0 +1,111 @@ +{ + "total": "总计", + "line": "行", + "column": "列", + "fragment": "片段", + "path": "路径", + "button": { + "back": "返回", + "cancel": "取消", + "clear": "清除", + "confirm": "确认", + "copy": "复制", + "fit": "适应", + "generate": "生成", + "ok": "确定", + "revers": "反转", + "saveAs": "另存为", + "sort": "排序", + "update": ["前往 GitHub", "确定"], + "zoomIn": "放大", + "zoomOut": "缩小", + "darkMode": "深色模式", + "toggleDarkMode": "切换深色模式", + "background": "背景", + "goToDownload": "前往下载", + "refreshPreview": "刷新预览", + "laserPointer": "激光指针", + "fullscreen": "全屏", + "prev": "上一个", + "next": "下一个" + }, + "action": { + "close": "关闭", + "defaultLanguage": "默认语言", + "duplicate": "复制", + "rename": "重命名", + "restore": "恢复", + "setCustomIcon": "设置自定义图标", + "show": "显示", + "hide": "隐藏", + "new": { + "storage": "新建存储", + "folder": "新建文件夹", + "snippet": "新建代码片段", + "fragment": "新建片段" + }, + "add": { + "description": "添加描述", + "tag": "添加标签", + "toFavorites": "添加到收藏" + }, + "open": { + "storage": "打开存储" + }, + "move": { + "storage": "移动存储", + "toTrash": "移到回收站" + }, + "remove": { + "fromFavorites": "从收藏中移除" + }, + "reload": { + "storage": "重新加载存储" + }, + "delete": { + "common": "删除", + "now": "立即删除", + "allData": "删除所有数据", + "trash": "清空回收站" + }, + "migrate": { + "fromSnippetsLab": "从 SnippetsLab 导入", + "fromV3": "从 massCode v3 导入" + }, + "export": { + "toHtml": "导出为 HTML" + }, + "copy": { + "snippetLink": "复制代码片段链接" + } + }, + "sidebar": { + "inbox": "收件箱", + "favorites": "收藏", + "allSnippets": "所有代码片段", + "trash": "回收站", + "folders": "文件夹", + "library": "库", + "tags": "标签" + }, + "folder": { + "untitled": "未命名文件夹", + "plural": "文件夹", + "collapseAll": "全部折叠", + "expandAll": "全部展开" + }, + "snippet": { + "untitled": "未命名代码片段", + "plural": "代码片段", + "emptyName": "输入代码片段名称", + "selectedMultiple": "已选择 {{count}} 个代码片段", + "noSelected": "未选择代码片段" + }, + "placeholder": { + "emptyTagList": "在代码片段中添加标签以在此处查看", + "emptyFoldersList": "没有文件夹", + "emptySnippetsList": "没有代码片段", + "search": "搜索", + "addTag": "添加标签" + } +} diff --git a/src/main/i18n/locales/zh_HK/devtools.json b/src/main/i18n/locales/zh_HK/devtools.json new file mode 100644 index 00000000..042f4790 --- /dev/null +++ b/src/main/i18n/locales/zh_HK/devtools.json @@ -0,0 +1,143 @@ +{ + "label": "開發者工具", + "converters": { + "label": "轉換器", + "caseConverter": { + "label": "大小寫轉換器", + "description": "將文字轉換為不同的大小寫格式", + "caseType": { + "uppercase": "Uppercase", + "lowercase": "Lowercase", + "camelcase": "Camelcase", + "capitalize": "Capitalize", + "constantcase": "Constantcase", + "snakecase": "Snakecase", + "kebabcase": "Kebabcase", + "pascalcase": "Pascalcase", + "dotcase": "Dotcase", + "pathcase": "Pathcase" + } + }, + "textToUnicode": { + "label": "文字轉Unicode", + "description": "將文字轉換為Unicode,反之亦然", + "modes": { + "textToUnicode": "文字 → Unicode", + "unicodeToText": "Unicode → 文字" + } + }, + "textToAscii": { + "label": "文字轉ASCII Binary", + "description": "將文字轉換為ASCII binary,反之亦然", + "modes": { + "textToAscii": "文字 → ASCII", + "asciiToText": "ASCII → 文字" + } + }, + "base64": { + "label": "Base64 Encoder / Decoder", + "description": "將文字編碼或解碼為Base64", + "modes": { + "textToBase64": "文字 → Base64", + "base64ToText": "Base64 → 文字" + } + }, + "jsonToYaml": { + "label": "JSON轉YAML", + "description": "將JSON轉換為YAML,反之亦然", + "modes": { + "jsonToYaml": "JSON → YAML", + "yamlToJson": "YAML → JSON" + } + }, + "jsonToToml": { + "label": "JSON轉TOML", + "description": "將JSON轉換為TOML,反之亦然", + "modes": { + "jsonToToml": "JSON → TOML", + "tomlToJson": "TOML → JSON" + } + }, + "jsonToXml": { + "label": "JSON轉XML", + "description": "將JSON轉換為XML,反之亦然", + "modes": { + "jsonToXml": "JSON → XML", + "xmlToJson": "XML → JSON" + } + }, + "colorConverter": { + "label": "顏色轉換器", + "description": "在不同格式之間轉換顏色" + } + }, + "crypto": { + "label": "加密 / 安全", + "hash": { + "label": "雜湊產生器", + "description": "從文字產生雜湊值" + }, + "hmac": { + "label": "HMAC產生器", + "description": "產生由金鑰和訊息組成的基於雜湊的訊息認證碼(HMAC)" + }, + "password": { + "label": "密碼產生器", + "description": "產生安全密碼" + }, + "uuid": { + "label": "UUID產生器", + "description": "產生通用唯一識別碼(UUID)" + } + }, + "web": { + "label": "網絡", + "urlParser": { + "label": "URL解析器", + "description": "將URL解析為其組件" + }, + "urlEncoder": { + "label": "URL Encoder / Decoder", + "description": "編碼或解碼URL", + "modes": { + "urlEncode": "URL Encode", + "urlDecode": "URL Decode" + } + }, + "slugify": { + "label": "Slugify", + "description": "將文字轉換為URL友好的slug" + } + }, + "form": { + "input": "輸入", + "output": "輸出", + "inputString": "輸入字串", + "outputString": "輸出字串", + "inputUrl": "輸入URL", + "outputUrl": "輸出URL", + "parsedUrl": "解析的URL", + "splitQueryString": "分割Query String", + "key": "金鑰", + "value": "值", + "component": "組件", + "result": "結果", + "secretKey": "秘密金鑰", + "algorithm": "演算法", + "version": "版本", + "amount": "數量", + "type": "類型", + "length": "長度", + "options": "選項", + "numbers": "數字", + "symbols": "符號", + "lowercase": "小寫", + "uppercase": "大寫", + "placeholder": { + "text": "輸入文字", + "value": "輸入值", + "secretKey": "輸入秘密金鑰", + "url": "輸入URL" + } + } +} diff --git a/src/main/i18n/locales/zh_HK/menu.json b/src/main/i18n/locales/zh_HK/menu.json new file mode 100644 index 00000000..28a538f0 --- /dev/null +++ b/src/main/i18n/locales/zh_HK/menu.json @@ -0,0 +1,74 @@ +{ + "app": { + "label": "massCode", + "preferences": "偏好設置", + "devtools": "開發者工具", + "update": "檢查更新...", + "quit": "退出 massCode", + "about": "關於 massCode", + "hide": "隱藏 massCode" + }, + "help": { + "label": "幫助", + "website": "網站", + "documentation": "文檔", + "viewInGitHub": "在 GitHub 中查看", + "changeLog": "更新日誌", + "reportIssue": "報告問題", + "giveStar": "點個讚", + "extension": { + "vscode": "VS Code 擴展", + "raycast": "Raycast 擴展", + "alfred": "Alfred 擴展" + }, + "donate": { + "openCollective": "在 Open Collective 上捐贈", + "payPal": "通過 PayPal 捐贈", + "gumroad": "通過 Gumroad 捐贈(Visa、Mastercard 等)" + }, + "twitter": "Twitter", + "devTools": "切換開發者工具", + "links": { + "snippets": "程式碼片段集合" + } + }, + "edit": { + "label": "編輯", + "find": "尋找" + }, + "view": { + "label": "視圖", + "sortBy": { + "label": "程式碼片段排序方式", + "dateModified": "修改日期", + "dateCreated": "創建日期", + "name": "名稱" + }, + "compactMode": "緊湊模式" + }, + "editor": { + "label": "編輯器", + "copy": "複製程式碼片段到剪貼板", + "format": "格式化", + "previewCode": "預覽程式碼", + "previewScreenshot": "預覽截圖", + "fontSizeIncrease": "增大字體", + "fontSizeDecrease": "減小字體", + "fontSizeReset": "重置字體大小" + }, + "markdown": { + "label": "Markdown", + "presentationMode": "演示模式", + "preview": "預覽", + "previewMarkdown": "預覽 Markdown", + "previewMindmap": "預覽思維導圖" + }, + "history": { + "label": "歷史", + "back": "後退", + "forward": "前進" + }, + "devtools": { + "label": "開發者工具" + } +} diff --git a/src/main/i18n/locales/zh_HK/messages.json b/src/main/i18n/locales/zh_HK/messages.json new file mode 100644 index 00000000..21660b6a --- /dev/null +++ b/src/main/i18n/locales/zh_HK/messages.json @@ -0,0 +1,49 @@ +{ + "confirm": { + "delete": "您確定要刪除 \"{{name}}\" 嗎?", + "deletePermanently": "您確定要永久刪除 \"{{name}}\" 嗎?", + "deleteConfirmMultipleSnippets": "您確定要永久刪除已選擇的 {{count}} 個程式碼片段嗎?", + "emptyTrash": "您確定要永久刪除回收桶中的所有程式碼片段嗎?", + "clearDb": "您確定要清空資料庫嗎?", + "migrateDb": [ + "您確定要進行遷移嗎?", + "遷移期間,當前庫將被覆蓋。" + ] + }, + "success": { + "migrate": "資料庫遷移成功。" + }, + "warning": { + "noUndo": "此操作無法撤消。", + "allSnippetsMoveToTrash": "此資料夾中的所有程式碼片段將被移至回收桶。", + "deleteTag": "這也將導致所有帶有該標籤的程式碼片段移除此標籤。", + "createDb": "請選擇其他資料夾", + "clearDb": "這將永久刪除資料庫中的所有程式碼片段、資料夾和標籤。", + "htmlCssPreview": "添加HTML片段以查看結果。添加CSS進行樣式設計,添加JavaScript實現互動功能。", + "codeBlockRenderer": [ + "使用 Codemirror 時,程式碼區塊設置的語言必須對應", + "languages" + ] + }, + "error": {}, + "description": { + "storage": "要使用 iCloud Drive、Google Drive 或 Dropbox 等同步服務,只需將存儲移動到相應的同步資料夾即可", + "migrate": { + "fromV3": "要從 massCode v3 遷移,請選擇包含 JSON 檔案的資料夾。", + "fromSnippetsLab": "要從 SnippetsLab 遷移,請選擇 JSON 檔案。", + "snippetsLabLimitations": [ + "一些限制。從 SnippetsLab 遷移時:", + "由於 JSON 檔案(2.1 版以下)不支持嵌套資料夾,所有資料夾將位於第一層。", + "使用不支持語言的程式碼片段將被設置為預設的純文字。" + ] + } + }, + "special": { + "supportMessage": "你好,我是 Anton 👋

    \n感謝使用 massCode。如果您覺得這個應用有用,請{{-tagStart}}捐贈{{-tagEnd}}。這將激勵我繼續開發這個項目。", + "unsponsored": "未贊助" + }, + "update": { + "available": "版本 {{newVersion}} 現已可供下載。\n您的版本是 {{oldVersion}}。", + "noAvailable": "目前沒有可用的更新。" + } +} diff --git a/src/main/i18n/locales/zh_HK/preferences.json b/src/main/i18n/locales/zh_HK/preferences.json new file mode 100644 index 00000000..fe22f8ad --- /dev/null +++ b/src/main/i18n/locales/zh_HK/preferences.json @@ -0,0 +1,50 @@ +{ + "label": "偏好設置", + "storage": { + "label": "存儲", + "migrate": "遷移", + "count": "數量", + "clearDatabase": "清空數據庫" + }, + "editor": { + "label": "編輯器", + "fontSize": "字體大小", + "fontFamily": "字體", + "wrap": { + "label": "換行", + "wordWrap": "自動換行", + "off": "關閉" + }, + "tabSize": "縮進大小", + "showInvisibles": "顯示不可見字符", + "highlightLine": "高亮當前行", + "highlightGutter": "高亮行號", + "matchBrackets": "匹配括號", + "prettier": { + "label": "Prettier", + "trailingComma": { + "label": "尾隨逗號", + "none": "無", + "all": "全部", + "es5": "ES5" + }, + "semi": "分號", + "singleQuote": "單引號" + } + }, + "appearance": { + "label": "外觀", + "theme": { + "label": "主題", + "light": "淺色", + "dark": "深色" + } + }, + "language": { + "label": "語言" + }, + "markdown": { + "label": "Markdown", + "codeRenderer": "程式碼區塊渲染器" + } +} diff --git a/src/main/i18n/locales/zh_HK/ui.json b/src/main/i18n/locales/zh_HK/ui.json new file mode 100644 index 00000000..2bcdf286 --- /dev/null +++ b/src/main/i18n/locales/zh_HK/ui.json @@ -0,0 +1,111 @@ +{ + "total": "總計", + "line": "行", + "column": "列", + "fragment": "片段", + "path": "路徑", + "button": { + "back": "返回", + "cancel": "取消", + "clear": "清除", + "confirm": "確認", + "copy": "複製", + "fit": "適應", + "generate": "生成", + "ok": "確定", + "revers": "反轉", + "saveAs": "另存為", + "sort": "排序", + "update": ["前往 GitHub", "確定"], + "zoomIn": "放大", + "zoomOut": "縮小", + "darkMode": "深色模式", + "toggleDarkMode": "切換深色模式", + "background": "背景", + "goToDownload": "前往下載", + "refreshPreview": "刷新預覽", + "laserPointer": "激光指針", + "fullscreen": "全屏", + "prev": "上一個", + "next": "下一個" + }, + "action": { + "close": "關閉", + "defaultLanguage": "預設語言", + "duplicate": "複製", + "rename": "重命名", + "restore": "恢復", + "setCustomIcon": "設置自定義圖標", + "show": "顯示", + "hide": "隱藏", + "new": { + "storage": "新建存儲", + "folder": "新建資料夾", + "snippet": "新建程式碼片段", + "fragment": "新建片段" + }, + "add": { + "description": "添加描述", + "tag": "添加標籤", + "toFavorites": "添加到收藏" + }, + "open": { + "storage": "打開存儲" + }, + "move": { + "storage": "移動存儲", + "toTrash": "移到回收桶" + }, + "remove": { + "fromFavorites": "從收藏中移除" + }, + "reload": { + "storage": "重新加載存儲" + }, + "delete": { + "common": "刪除", + "now": "立即刪除", + "allData": "刪除所有數據", + "trash": "清空回收桶" + }, + "migrate": { + "fromSnippetsLab": "從 SnippetsLab 導入", + "fromV3": "從 massCode v3 導入" + }, + "export": { + "toHtml": "導出為 HTML" + }, + "copy": { + "snippetLink": "複製程式碼片段鏈接" + } + }, + "sidebar": { + "inbox": "收件箱", + "favorites": "收藏", + "allSnippets": "所有程式碼片段", + "trash": "回收桶", + "folders": "資料夾", + "library": "庫", + "tags": "標籤" + }, + "folder": { + "untitled": "未命名資料夾", + "plural": "資料夾", + "collapseAll": "全部折疊", + "expandAll": "全部展開" + }, + "snippet": { + "untitled": "未命名程式碼片段", + "plural": "程式碼片段", + "emptyName": "輸入程式碼片段名稱", + "selectedMultiple": "已選擇 {{count}} 個程式碼片段", + "noSelected": "未選擇程式碼片段" + }, + "placeholder": { + "emptyTagList": "在程式碼片段中添加標籤以在此處查看", + "emptyFoldersList": "沒有資料夾", + "emptySnippetsList": "沒有程式碼片段", + "search": "搜索", + "addTag": "添加標籤" + } +} diff --git a/src/main/i18n/locales/zh_TW/devtools.json b/src/main/i18n/locales/zh_TW/devtools.json new file mode 100644 index 00000000..29e436c2 --- /dev/null +++ b/src/main/i18n/locales/zh_TW/devtools.json @@ -0,0 +1,143 @@ +{ + "label": "開發者工具", + "converters": { + "label": "轉換器", + "caseConverter": { + "label": "大小寫轉換器", + "description": "將文字轉換為不同的大小寫格式", + "caseType": { + "uppercase": "Uppercase", + "lowercase": "Lowercase", + "camelcase": "Camelcase", + "capitalize": "Capitalize", + "constantcase": "Constantcase", + "snakecase": "Snakecase", + "kebabcase": "Kebabcase", + "pascalcase": "Pascalcase", + "dotcase": "Dotcase", + "pathcase": "Pathcase" + } + }, + "textToUnicode": { + "label": "文字轉Unicode", + "description": "將文字轉換為Unicode,反之亦然", + "modes": { + "textToUnicode": "文字 → Unicode", + "unicodeToText": "Unicode → 文字" + } + }, + "textToAscii": { + "label": "文字轉ASCII Binary", + "description": "將文字轉換為ASCII binary,反之亦然", + "modes": { + "textToAscii": "文字 → ASCII", + "asciiToText": "ASCII → 文字" + } + }, + "base64": { + "label": "Base64 Encoder / Decoder", + "description": "將文字編碼或解碼為Base64", + "modes": { + "textToBase64": "文字 → Base64", + "base64ToText": "Base64 → 文字" + } + }, + "jsonToYaml": { + "label": "JSON轉YAML", + "description": "將JSON轉換為YAML,反之亦然", + "modes": { + "jsonToYaml": "JSON → YAML", + "yamlToJson": "YAML → JSON" + } + }, + "jsonToToml": { + "label": "JSON轉TOML", + "description": "將JSON轉換為TOML,反之亦然", + "modes": { + "jsonToToml": "JSON → TOML", + "tomlToJson": "TOML → JSON" + } + }, + "jsonToXml": { + "label": "JSON轉XML", + "description": "將JSON轉換為XML,反之亦然", + "modes": { + "jsonToXml": "JSON → XML", + "xmlToJson": "XML → JSON" + } + }, + "colorConverter": { + "label": "顏色轉換器", + "description": "在不同格式之間轉換顏色" + } + }, + "crypto": { + "label": "加密 / 安全", + "hash": { + "label": "雜湊產生器", + "description": "從文字產生雜湊值" + }, + "hmac": { + "label": "HMAC產生器", + "description": "產生由金鑰和訊息組成的基於雜湊的訊息認證碼(HMAC)" + }, + "password": { + "label": "密碼產生器", + "description": "產生安全密碼" + }, + "uuid": { + "label": "UUID產生器", + "description": "產生通用唯一識別碼(UUID)" + } + }, + "web": { + "label": "網路", + "urlParser": { + "label": "URL解析器", + "description": "將URL解析為其組件" + }, + "urlEncoder": { + "label": "URL Encoder / Decoder", + "description": "編碼或解碼URL", + "modes": { + "urlEncode": "URL Encode", + "urlDecode": "URL Decode" + } + }, + "slugify": { + "label": "Slugify", + "description": "將文字轉換為URL友好的slug" + } + }, + "form": { + "input": "輸入", + "output": "輸出", + "inputString": "輸入字串", + "outputString": "輸出字串", + "inputUrl": "輸入URL", + "outputUrl": "輸出URL", + "parsedUrl": "解析的URL", + "splitQueryString": "分割Query String", + "key": "金鑰", + "value": "值", + "component": "組件", + "result": "結果", + "secretKey": "秘密金鑰", + "algorithm": "演算法", + "version": "版本", + "amount": "數量", + "type": "類型", + "length": "長度", + "options": "選項", + "numbers": "數字", + "symbols": "符號", + "lowercase": "小寫", + "uppercase": "大寫", + "placeholder": { + "text": "輸入文字", + "value": "輸入值", + "secretKey": "輸入秘密金鑰", + "url": "輸入URL" + } + } +} diff --git a/src/main/i18n/locales/zh_TW/menu.json b/src/main/i18n/locales/zh_TW/menu.json new file mode 100644 index 00000000..bd390704 --- /dev/null +++ b/src/main/i18n/locales/zh_TW/menu.json @@ -0,0 +1,74 @@ +{ + "app": { + "label": "massCode", + "preferences": "偏好設定", + "devtools": "開發者工具", + "update": "檢查更新...", + "quit": "退出 massCode", + "about": "關於 massCode", + "hide": "隱藏 massCode" + }, + "help": { + "label": "幫助", + "website": "網站", + "documentation": "文檔", + "viewInGitHub": "在 GitHub 上查看", + "changeLog": "更新日誌", + "reportIssue": "報告問題", + "giveStar": "給個星星", + "extension": { + "vscode": "VS Code 擴展", + "raycast": "Raycast 擴展", + "alfred": "Alfred 擴展" + }, + "donate": { + "openCollective": "在 Open Collective 上贊助", + "payPal": "通過 PayPal 贊助", + "gumroad": "通過 Gumroad 贊助(Visa、Mastercard 等)" + }, + "twitter": "Twitter", + "devTools": "切換開發者工具", + "links": { + "snippets": "程式碼片段集合" + } + }, + "edit": { + "label": "編輯", + "find": "尋找" + }, + "view": { + "label": "檢視", + "sortBy": { + "label": "程式碼片段排序方式", + "dateModified": "修改日期", + "dateCreated": "創建日期", + "name": "名稱" + }, + "compactMode": "緊湊模式" + }, + "editor": { + "label": "編輯器", + "copy": "複製程式碼片段到剪貼板", + "format": "格式化", + "previewCode": "預覽程式碼", + "previewScreenshot": "預覽截圖", + "fontSizeIncrease": "增大字體", + "fontSizeDecrease": "減小字體", + "fontSizeReset": "重置字體大小" + }, + "markdown": { + "label": "Markdown", + "presentationMode": "演示模式", + "preview": "預覽", + "previewMarkdown": "預覽 Markdown", + "previewMindmap": "預覽思維導圖" + }, + "history": { + "label": "歷史", + "back": "後退", + "forward": "前進" + }, + "devtools": { + "label": "開發者工具" + } +} diff --git a/src/main/i18n/locales/zh_TW/messages.json b/src/main/i18n/locales/zh_TW/messages.json new file mode 100644 index 00000000..c4b1884f --- /dev/null +++ b/src/main/i18n/locales/zh_TW/messages.json @@ -0,0 +1,49 @@ +{ + "confirm": { + "delete": "您確定要刪除 \"{{name}}\" 嗎?", + "deletePermanently": "您確定要永久刪除 \"{{name}}\" 嗎?", + "deleteConfirmMultipleSnippets": "您確定要永久刪除已選擇的 {{count}} 個程式碼片段嗎?", + "emptyTrash": "您確定要永久刪除回收桶中的所有程式碼片段嗎?", + "clearDb": "您確定要清空資料庫嗎?", + "migrateDb": [ + "您確定要進行遷移嗎?", + "在遷移過程中,當前的程式庫將被覆蓋。" + ] + }, + "success": { + "migrate": "資料庫遷移成功。" + }, + "warning": { + "noUndo": "此操作無法撤銷。", + "allSnippetsMoveToTrash": "此資料夾中的所有程式碼片段將被移至回收桶。", + "deleteTag": "這也將導致所有具有該標籤的程式碼片段移除標籤。", + "createDb": "請選擇其他資料夾", + "clearDb": "這將永久刪除資料庫中的所有程式碼片段、資料夾和標籤。", + "htmlCssPreview": "添加HTML片段以查看結果。添加CSS進行樣式設計,添加JavaScript實現互動功能。", + "codeBlockRenderer": [ + "使用 Codemirror 時,代碼塊的語言設置必須對應於", + "languages" + ] + }, + "error": {}, + "description": { + "storage": "要使用 iCloud Drive、Google Drive 或 Dropbox 等同步服務,只需將儲存位置移至相應的同步資料夾", + "migrate": { + "fromV3": "要從 massCode v3 遷移,請選擇包含 JSON 文件的資料夾。", + "fromSnippetsLab": "要從 SnippetsLab 遷移,請選擇 JSON 文件。", + "snippetsLabLimitations": [ + "一些限制。從 SnippetsLab 遷移時:", + "所有資料夾將為第一層級,因為 JSON 文件(2.1 版以下)不支援巢狀資料夾。", + "不支援的語言的程式碼片段將設置為預設的純文字。" + ] + } + }, + "special": { + "supportMessage": "嗨,我是 Anton 👋

    \n感謝使用 massCode。如果您覺得這個應用程式有用,請{{-tagStart}}贊助{{-tagEnd}}。這將激勵我繼續開發這個專案。", + "unsponsored": "未贊助" + }, + "update": { + "available": "版本 {{newVersion}} 現已可供下載。\n您的版本是 {{oldVersion}}。", + "noAvailable": "目前沒有可用的更新。" + } +} diff --git a/src/main/services/i18n/locales/zh_HK/preferences.json b/src/main/i18n/locales/zh_TW/preferences.json similarity index 52% rename from src/main/services/i18n/locales/zh_HK/preferences.json rename to src/main/i18n/locales/zh_TW/preferences.json index ac2058f1..bbdf04d6 100644 --- a/src/main/services/i18n/locales/zh_HK/preferences.json +++ b/src/main/i18n/locales/zh_TW/preferences.json @@ -1,34 +1,35 @@ { - "title": "首選項", + "label": "偏好設定", "storage": { - "label": "存儲路徑", + "label": "儲存庫", "migrate": "遷移", - "count": "總計" + "count": "數量", + "clearDatabase": "清空資料庫" }, "editor": { "label": "編輯器", "fontSize": "字體大小", - "fontFamily": "字體系列", + "fontFamily": "字體", "wrap": { - "label": "自動換行", - "wordWrap": "開啓", + "label": "換行", + "wordWrap": "自動換行", "off": "關閉" }, - "tabSize": "Tab 空格數", - "showInvisibles": "顯示空格與換行符", - "highlightLine": "高亮光標所在行整行", - "highlightGutter": "高亮光標所在行行號", + "tabSize": "縮排大小", + "showInvisibles": "顯示不可見字符", + "highlightLine": "高亮當前行", + "highlightGutter": "高亮行號", "matchBrackets": "括號匹配", "prettier": { "label": "Prettier", "trailingComma": { - "label": "尾後逗號", - "none": "None", - "all": "All", + "label": "尾隨逗號", + "none": "無", + "all": "全部", "es5": "ES5" }, - "semi": "句尾添加分號", - "singleQuote": "使用單引號代替雙引號" + "semi": "分號", + "singleQuote": "單引號" } }, "appearance": { diff --git a/src/main/i18n/locales/zh_TW/ui.json b/src/main/i18n/locales/zh_TW/ui.json new file mode 100644 index 00000000..f3524003 --- /dev/null +++ b/src/main/i18n/locales/zh_TW/ui.json @@ -0,0 +1,111 @@ +{ + "total": "總計", + "line": "行", + "column": "列", + "fragment": "片段", + "path": "路徑", + "button": { + "back": "返回", + "cancel": "取消", + "clear": "清除", + "confirm": "確認", + "copy": "複製", + "fit": "適應", + "generate": "生成", + "ok": "確定", + "revers": "反轉", + "saveAs": "另存為", + "sort": "排序", + "update": ["前往 GitHub", "確定"], + "zoomIn": "放大", + "zoomOut": "縮小", + "darkMode": "深色模式", + "toggleDarkMode": "切換深色模式", + "background": "背景", + "goToDownload": "前往下載", + "refreshPreview": "重新整理預覽", + "laserPointer": "雷射指標", + "fullscreen": "全螢幕", + "prev": "上一個", + "next": "下一個" + }, + "action": { + "close": "關閉", + "defaultLanguage": "預設語言", + "duplicate": "複製", + "rename": "重命名", + "restore": "還原", + "setCustomIcon": "設置自定義圖標", + "show": "顯示", + "hide": "隱藏", + "new": { + "storage": "新建儲存庫", + "folder": "新建資料夾", + "snippet": "新建程式碼片段", + "fragment": "新建片段" + }, + "add": { + "description": "添加描述", + "tag": "添加標籤", + "toFavorites": "添加到收藏" + }, + "open": { + "storage": "開啟儲存庫" + }, + "move": { + "storage": "移動儲存庫", + "toTrash": "移至回收桶" + }, + "remove": { + "fromFavorites": "從收藏中移除" + }, + "reload": { + "storage": "重新載入儲存庫" + }, + "delete": { + "common": "刪除", + "now": "立即刪除", + "allData": "刪除所有數據", + "trash": "清空回收桶" + }, + "migrate": { + "fromSnippetsLab": "從 SnippetsLab", + "fromV3": "從 massCode v3" + }, + "export": { + "toHtml": "匯出為 HTML" + }, + "copy": { + "snippetLink": "複製程式碼片段連結" + } + }, + "sidebar": { + "inbox": "收件匣", + "favorites": "收藏", + "allSnippets": "所有程式碼片段", + "trash": "回收桶", + "folders": "資料夾", + "library": "程式庫", + "tags": "標籤" + }, + "folder": { + "untitled": "未命名資料夾", + "plural": "資料夾", + "collapseAll": "全部摺疊", + "expandAll": "全部展開" + }, + "snippet": { + "untitled": "未命名程式碼片段", + "plural": "程式碼片段", + "emptyName": "輸入程式碼片段名稱", + "selectedMultiple": "已選擇 {{count}} 個程式碼片段", + "noSelected": "未選擇程式碼片段" + }, + "placeholder": { + "emptyTagList": "在程式碼片段中添加標籤以在此處查看", + "emptyFoldersList": "沒有資料夾", + "emptySnippetsList": "沒有程式碼片段", + "search": "搜尋", + "addTag": "添加標籤" + } +} diff --git a/src/main/index.ts b/src/main/index.ts index be912e32..0aabe5db 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -1,130 +1,129 @@ -import { app, BrowserWindow, ipcMain, Menu, shell } from 'electron' -import path from 'path' -import os from 'os' -import { store } from './store' -import { ApiServer } from './services/api/server' -import { createDb } from './services/db' -import { debounce } from 'lodash' -import { subscribeToChannels } from './services/ipc' +/* eslint-disable node/prefer-global/process */ +import { readFileSync } from 'node:fs' +import path from 'node:path' +import { app, BrowserWindow, Menu } from 'electron' +import { initApi } from './api' +import { startAutoBackup } from './db' +import { migrateJsonToSqlite } from './db/migrate' +import { registerIPC } from './ipc' import { mainMenu } from './menu/main' -import { subscribeToDialog } from './services/ipc/dialog' -import { checkForUpdateWithInterval } from './services/update-check' +import { store } from './store' +import { checkForUpdates } from './updates' + +process.env.ELECTRON_DISABLE_SECURITY_WARNINGS = 'true' // Отключаем security warnings const isDev = process.env.NODE_ENV === 'development' -const isMac = process.platform === 'darwin' const gotTheLock = app.requestSingleInstanceLock() let mainWindow: BrowserWindow +let isQuitting = false -createDb() -const apiServer = new ApiServer() - -subscribeToChannels() -subscribeToDialog() - -if (!gotTheLock) { - // @ts-ignore - return app.quit() +if (process.defaultApp) { + if (process.argv.length >= 2) { + app.setAsDefaultProtocolClient('masscode', process.execPath, [ + path.resolve(process.argv[1]), + ]) + } +} +else { + app.setAsDefaultProtocolClient('masscode') } -function createWindow () { +function createWindow() { const bounds = store.app.get('bounds') + mainWindow = new BrowserWindow({ - width: 1000, - height: 600, + width: 1200, + height: 800, ...bounds, - titleBarStyle: isMac ? 'hidden' : 'default', + titleBarStyle: process.platform === 'darwin' ? 'hidden' : 'default', webPreferences: { - preload: path.resolve(__dirname, 'preload.js'), + preload: path.join(__dirname, 'preload.js'), nodeIntegration: true, - contextIsolation: true, - webSecurity: false - } + webSecurity: false, + }, }) Menu.setApplicationMenu(mainMenu) if (isDev) { - const rendererPort = process.argv[2] - mainWindow.loadURL(`http://localhost:${rendererPort}`) + mainWindow.loadURL('http://localhost:5173') mainWindow.webContents.openDevTools() - } else { - mainWindow.loadFile(path.resolve(app.getAppPath(), 'renderer/index.html')) + } + else { + mainWindow.loadFile( + path.join(__dirname, '../../build/renderer/index.html'), + ) } - mainWindow.on('resize', () => storeBounds(mainWindow)) - mainWindow.on('move', () => storeBounds(mainWindow)) + mainWindow.on('close', (event) => { + store.app.set('bounds', mainWindow.getBounds()) - checkForUpdateWithInterval() -} + if (process.platform === 'darwin' && !isQuitting) { + event.preventDefault() + mainWindow.hide() + return + } -const storeBounds = debounce((mainWindow: BrowserWindow) => { - store.app.set('bounds', mainWindow.getBounds()) -}, 300) + mainWindow.destroy() + }) +} -if (process.defaultApp) { - if (process.argv.length >= 2) { - app.setAsDefaultProtocolClient('masscode', process.execPath, [ - path.resolve(process.argv[1]) - ]) - } -} else { - app.setAsDefaultProtocolClient('masscode') +if (!gotTheLock) { + app.quit() } +else { + app.whenReady().then(() => { + createWindow() + registerIPC() + initApi() + checkForUpdates() + startAutoBackup() + + if (store.app.get('isAutoMigratedFromJson')) { + return + } -app.whenReady().then(async () => { - createWindow() + try { + const jsonDbPath = `${store.preferences.get('storagePath')}/db.json` + const jsonData = readFileSync(jsonDbPath, 'utf8') - app.on('activate', function () { - // On macOS it's common to re-create a window in the app when the - // dock icon is clicked and there are no other windows open. - if (BrowserWindow.getAllWindows().length === 0) { - createWindow() + migrateJsonToSqlite(JSON.parse(jsonData)) + store.app.set('isAutoMigratedFromJson', true) + } + catch (err) { + console.error('Error on auto migration JSON to SQLite:', err) } }) -}) - -app.on('window-all-closed', function () { - if (process.platform !== 'darwin') app.quit() -}) -app.on('browser-window-focus', () => { - BrowserWindow.getFocusedWindow()?.webContents.send('main:focus') -}) - -app.on('second-instance', (e, argv) => { - if (mainWindow) { - if (mainWindow.isMinimized()) mainWindow.restore() - mainWindow.focus() - } - - if (process.platform !== 'darwin') { - const url = argv.find(i => i.startsWith('masscode://')) - BrowserWindow.getFocusedWindow()?.webContents.send('main:app-protocol', url) - } -}) + app.on('activate', () => { + mainWindow.show() + }) -app.on('open-url', (event, url) => { - BrowserWindow.getFocusedWindow()?.webContents.send('main:app-protocol', url) -}) + app.on('before-quit', () => { + isQuitting = true + }) -ipcMain.handle('main:restart-api', () => { - apiServer.restart() -}) + app.on('window-all-closed', () => { + if (process.platform !== 'darwin') + app.quit() + }) -ipcMain.handle('main:restart', () => { - app.relaunch() - app.quit() -}) + app.on('second-instance', (_, argv) => { + if (mainWindow) { + mainWindow.isMinimized() ? mainWindow.restore() : mainWindow.focus() + } -ipcMain.handle('main:open-url', (event, payload) => { - shell.openExternal(payload as string) -}) + if (process.platform !== 'darwin') { + const url = argv.find(i => i.startsWith('masscode://')) + BrowserWindow.getFocusedWindow()?.webContents.send( + 'system:deep-link', + url, + ) + } + }) -ipcMain.on('request-info', event => { - event.sender.send('request-info', { - version: app.getVersion(), - arch: os.arch(), - platform: process.platform + app.on('open-url', (_, url) => { + BrowserWindow.getFocusedWindow()?.webContents.send('system:deep-link', url) }) -}) +} diff --git a/src/main/ipc/handlers/db.ts b/src/main/ipc/handlers/db.ts new file mode 100644 index 00000000..561c04e3 --- /dev/null +++ b/src/main/ipc/handlers/db.ts @@ -0,0 +1,72 @@ +import type { Backup } from '../../db/types' +import { ipcMain } from 'electron' +import { readFileSync } from 'fs-extra' +import { + clearDB, + createBackup, + deleteBackup, + getBackupList, + moveBackupStorage, + moveDB, + reloadDB, + restoreFromBackup, + startAutoBackup, + stopAutoBackup, +} from '../../db' +import { migrateJsonToSqlite } from '../../db/migrate' +import { store } from '../../store' +import '../../types' + +export function registerDBHandlers() { + ipcMain.handle('db:relaod', (_, payload) => { + return new Promise((resolve) => { + store.preferences.set('storagePath', payload) + reloadDB() + resolve() + }) + }) + + ipcMain.handle('db:move', async (_, payload) => { + await moveDB(payload) + }) + + ipcMain.handle('db:clear', () => { + return new Promise((resolve) => { + clearDB() + resolve() + }) + }) + + ipcMain.handle('db:migrate', async (_, payload) => { + const jsonData = readFileSync(payload, 'utf8') + await migrateJsonToSqlite(JSON.parse(jsonData)) + }) + + ipcMain.handle('db:backup', async (_, payload) => { + await createBackup(payload) + }) + + ipcMain.handle('db:restore', async (_, payload) => { + await restoreFromBackup(payload) + }) + + ipcMain.handle('db:backup-list', async () => { + return await getBackupList() + }) + + ipcMain.handle('db:delete-backup', async (_, payload) => { + await deleteBackup(payload) + }) + + ipcMain.handle('db:move-backup', async (_, payload) => { + await moveBackupStorage(payload) + }) + + ipcMain.handle('db:start-auto-backup', async () => { + await startAutoBackup() + }) + + ipcMain.handle('db:stop-auto-backup', async () => { + stopAutoBackup() + }) +} diff --git a/src/main/ipc/handlers/dialog.ts b/src/main/ipc/handlers/dialog.ts new file mode 100644 index 00000000..c4efdcaf --- /dev/null +++ b/src/main/ipc/handlers/dialog.ts @@ -0,0 +1,22 @@ +import type { DialogOptions } from '../../types/ipc' +import { BrowserWindow, dialog, ipcMain } from 'electron' + +export function registerDialogHandlers() { + ipcMain.handle('main-menu:open-dialog', (event, payload) => { + return new Promise((resolve) => { + const { properties, filters } = payload + + const dir = dialog.showOpenDialogSync(BrowserWindow.getFocusedWindow()!, { + properties: properties || ['openDirectory', 'createDirectory'], + filters: filters || [{ name: '*', extensions: ['.db'] }], + }) + + if (dir) { + resolve(dir[0]) + } + else { + resolve('') + } + }) + }) +} diff --git a/src/main/ipc/handlers/fs.ts b/src/main/ipc/handlers/fs.ts new file mode 100644 index 00000000..ae96c415 --- /dev/null +++ b/src/main/ipc/handlers/fs.ts @@ -0,0 +1,33 @@ +import { Buffer } from 'node:buffer' +import { join, parse } from 'node:path' +import { ipcMain } from 'electron' +import { ensureDirSync, writeFileSync } from 'fs-extra' +import { nanoid } from 'nanoid' +import slash from 'slash' +import { store } from '../../store' + +const ASSETS_DIR = 'assets' + +export function registerFsHandlers() { + ipcMain.handle('fs:assets', (event, { buffer, fileName }) => { + const storagePath = store.preferences.get('storagePath') + + return new Promise((resolve, reject) => { + try { + const assetsPath = join(storagePath, ASSETS_DIR) + + const { ext } = parse(fileName) + const name = `${nanoid()}${ext}` + const dest = join(assetsPath, name) + + ensureDirSync(assetsPath) + writeFileSync(dest, Buffer.from(buffer)) + + resolve(slash(join(ASSETS_DIR, name))) + } + catch (error) { + reject(error) + } + }) + }) +} diff --git a/src/main/ipc/handlers/prettier.ts b/src/main/ipc/handlers/prettier.ts new file mode 100644 index 00000000..9fd1e2b5 --- /dev/null +++ b/src/main/ipc/handlers/prettier.ts @@ -0,0 +1,23 @@ +import type { PrettierOptions } from '../../types/ipc' +import { ipcMain } from 'electron' +import prettier from 'prettier' +import { store } from '../../store' + +export async function format(source: string, parser: string) { + const editor = store.preferences.get('editor') + + return prettier.format(source, { + parser, + tabWidth: Number(editor.tabSize), + trailingComma: editor.trailingComma, + semi: editor.semi, + singleQuote: editor.singleQuote, + }) +} + +export function registerPrettierHandlers() { + ipcMain.handle('prettier:format', (event, payload) => { + const { text, parser } = payload + return format(text, parser) + }) +} diff --git a/src/main/ipc/handlers/system.ts b/src/main/ipc/handlers/system.ts new file mode 100644 index 00000000..bbc6dfc7 --- /dev/null +++ b/src/main/ipc/handlers/system.ts @@ -0,0 +1,12 @@ +import { app, ipcMain, shell } from 'electron' + +export function registerSystemHandlers() { + ipcMain.handle('system:reload', () => { + app.relaunch() + app.quit() + }) + + ipcMain.handle('system:open-external', (_, url: string) => { + shell.openExternal(url) + }) +} diff --git a/src/main/ipc/index.ts b/src/main/ipc/index.ts new file mode 100644 index 00000000..37db2b0c --- /dev/null +++ b/src/main/ipc/index.ts @@ -0,0 +1,19 @@ +import type { Channel } from '../types/ipc' +import { BrowserWindow } from 'electron' +import { registerDBHandlers } from './handlers/db' +import { registerDialogHandlers } from './handlers/dialog' +import { registerFsHandlers } from './handlers/fs' +import { registerPrettierHandlers } from './handlers/prettier' +import { registerSystemHandlers } from './handlers/system' + +export function send(channel: Channel) { + BrowserWindow.getFocusedWindow()?.webContents.send(channel) +} + +export function registerIPC() { + registerDialogHandlers() + registerDBHandlers() + registerSystemHandlers() + registerPrettierHandlers() + registerFsHandlers() +} diff --git a/src/main/menu/main.ts b/src/main/menu/main.ts index 6a5f8a18..fd542b7c 100644 --- a/src/main/menu/main.ts +++ b/src/main/menu/main.ts @@ -1,17 +1,25 @@ -import { createMenu } from '../components/menu' -import type { MenuItemConstructorOptions } from 'electron' -import { shell, dialog, BrowserWindow } from 'electron' -import { version } from '../../../package.json' -import os from 'os' -import { checkForUpdate } from '../services/update-check' -import { store } from '../store' -import i18n from '../services/i18n' +/* eslint-disable node/prefer-global/process */ +import type { MenuConfig } from './utils' +import os from 'node:os' +import { + app, + BrowserWindow, + dialog, + type MenuItemConstructorOptions, + shell, +} from 'electron' +import { repository } from '../../../package.json' +import i18n from '../i18n' +import { send } from '../ipc' +import { fethUpdates } from '../updates' +import { createMenu, createPlatformMenuItems } from './utils' -const isDev = process.env.NODE_ENV === 'development' -const isMac = process.platform === 'darwin' const year = new Date().getFullYear() +const version = app.getVersion() + +const isDev = process.env.NODE_ENV === 'development' -const aboutApp = () => { +function aboutApp() { dialog.showMessageBox(BrowserWindow.getFocusedWindow()!, { title: 'massCode', message: 'massCode', @@ -24,546 +32,274 @@ const aboutApp = () => { V8: ${process.versions.v8} OS: ${os.type()} ${os.arch()} ${os.release()} ©2019-${year} Anton Reshetov - ` + `, }) } -const appMenuCommon: Record< -'preferences' | 'quit' | 'update' | 'devtools', -MenuItemConstructorOptions -> = { - preferences: { - label: i18n.t('menu:app.preferences'), - accelerator: 'CommandOrControl+,', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:preferences' - ) - } - }, - devtools: { - label: i18n.t('menu:devtools.label') + '...', - accelerator: 'CommandOrControl+.', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send('main-menu:devtools') - } +const appMenuItems: MenuConfig[] = [ + { + id: 'about', + label: i18n.t('menu:app.about'), + platforms: ['darwin'], + click: () => aboutApp(), }, - update: { - label: i18n.t('menu:app.update.label'), + { + id: 'update', + label: i18n.t('menu:app.update'), click: async () => { - const newVersion = await checkForUpdate() + const latestVersion = await fethUpdates() - if (newVersion) { + if (latestVersion) { const buttonId = dialog.showMessageBoxSync( BrowserWindow.getFocusedWindow()!, { - message: i18n.t('menu:app.update.message', { - newVersion, - oldVersion: version + message: i18n.t('messages:update.available', { + newVersion: latestVersion, + oldVersion: version, }), - buttons: [ - i18n.t('menu:app.update.button.0'), - i18n.t('menu:app.update.button.1') - ], + buttons: [i18n.t('button.update.0'), i18n.t('button.update.1')], defaultId: 0, - cancelId: 1 - } + cancelId: 1, + }, ) if (buttonId === 0) { - shell.openExternal('https://masscode.io/download/latest-release.html') + shell.openExternal(`${repository}/releases`) } - } else { + } + else { dialog.showMessageBoxSync(BrowserWindow.getFocusedWindow()!, { - message: i18n.t('menu:app.update.noUpdate') + message: i18n.t('messages:update.noAvailable'), }) } - } + }, }, - quit: { - label: i18n.t('menu:app.quit'), - role: 'quit' - } -} - -const appMenuMac: MenuItemConstructorOptions[] = [ { - label: i18n.t('menu:app.about'), - click: () => aboutApp() - }, - { - ...appMenuCommon.update + type: 'separator', }, { - type: 'separator' - }, - { - ...appMenuCommon.preferences + id: 'preferences', + label: i18n.t('menu:app.preferences'), + accelerator: 'CommandOrControl+,', + click: () => send('main-menu:goto-preferences'), }, { - type: 'separator' + type: 'separator' as any, + platforms: ['darwin'], }, { - ...appMenuCommon.devtools + id: 'devtools', + label: i18n.t('menu:app.devtools'), + accelerator: 'CommandOrControl+.', + click: () => send('main-menu:goto-devtools'), }, { - type: 'separator' + type: 'separator' as any, }, { label: i18n.t('menu:app.hide'), - role: 'hide' + platforms: ['darwin'], + role: 'hide', }, { - label: i18n.t('menu:app.hideOther'), - role: 'hideOthers' + platforms: ['darwin'], + role: 'hideOthers', }, { - label: i18n.t('menu:app.showAll'), - role: 'unhide' + platforms: ['darwin'], + role: 'unhide', }, { - type: 'separator' + type: 'separator' as any, + platforms: ['darwin'], }, { - ...appMenuCommon.quit - } -] - -const appMenu: MenuItemConstructorOptions[] = [ - { ...appMenuCommon.update }, - { type: 'separator' }, - { ...appMenuCommon.preferences }, - { ...appMenuCommon.devtools }, - { type: 'separator' }, - { ...appMenuCommon.quit } + label: i18n.t('menu:app.quit'), + platforms: ['darwin'], + role: 'quit', + }, ] -const helpMenu: MenuItemConstructorOptions[] = [ +const helpMenuItems: MenuConfig[] = [ { + id: 'about', label: i18n.t('menu:app.about'), - click: () => aboutApp() + click: () => aboutApp(), }, { - label: i18n.t('menu:help.website'), - click: () => { - shell.openExternal('https://masscode.io') - } - }, - { - label: i18n.t('menu:help.documentation'), - click: () => { - shell.openExternal('https://masscode.io/documentation') - } - }, - { - label: i18n.t('menu:help.twitter'), - click: () => { - shell.openExternal('https://twitter.com/anton_reshetov') - } - }, - { - type: 'separator' - }, - { - label: i18n.t('menu:help.viewInGitHub'), - click: () => { - shell.openExternal('https://github.com/massCodeIO/massCode') - } - }, - { - label: i18n.t('menu:help.changeLog'), - click: () => { - shell.openExternal( - 'https://github.com/massCodeIO/massCode/blob/master/CHANGELOG.md' - ) - } - }, - { - label: i18n.t('menu:help.reportIssue'), - click: () => { - shell.openExternal( - 'https://github.com/massCodeIO/massCode/issues/new/choose' - ) - } - }, - { - label: i18n.t('menu:help.giveStar'), - click: () => { - shell.openExternal('https://github.com/massCodeIO/massCode/stargazers') - } - }, - { - type: 'separator' - }, - { - label: i18n.t('menu:help.extension.vscode'), - click: () => { - shell.openExternal( - 'https://marketplace.visualstudio.com/items?itemName=AntonReshetov.masscode-assistant' - ) - } + label: i18n.t('menu:help.devTools'), + role: 'toggleDevTools', }, +] + +if (isDev) { + helpMenuItems.push({ + label: 'Reload', + role: 'reload', + }) +} + +const fileMenuItems: MenuConfig[] = [ { - label: i18n.t('menu:help.extension.raycast'), - click: () => { - shell.openExternal('https://www.raycast.com/antonreshetov/masscode') - } + label: i18n.t('action.new.snippet'), + click: () => send('main-menu:new-snippet'), + accelerator: 'CommandOrControl+N', }, { - label: i18n.t('menu:help.extension.alfred'), - click: () => { - shell.openExternal('https://github.com/massCodeIO/assistant-alfred') - } + label: i18n.t('action.new.fragment'), + click: () => send('main-menu:new-fragment'), + accelerator: 'CommandOrControl+T', }, { - type: 'separator' + label: i18n.t('action.add.description'), + click: () => send('main-menu:add-description'), + accelerator: 'CommandOrControl+Shift+T', }, { - label: i18n.t('menu:help.links.snippets'), - click: () => { - shell.openExternal('https://masscode.io/snippets') - } + type: 'separator', }, { - type: 'separator' + label: i18n.t('action.new.folder'), + click: () => send('main-menu:new-folder'), + accelerator: 'CommandOrControl+Shift+N', }, +] + +const editMenuItems: MenuConfig[] = [ { - label: i18n.t('menu:help.donate.openCollective'), - click: () => { - shell.openExternal('https://opencollective.com/masscode') - } + role: 'undo', }, { - label: i18n.t('menu:help.donate.gumroad'), - click: () => { - shell.openExternal('https://antonreshetov.gumroad.com/l/masscode') - } + role: 'redo', }, { - label: i18n.t('menu:help.donate.payPal'), - click: () => { - shell.openExternal('https://www.paypal.com/paypalme/antongithub') - } + type: 'separator', }, { - type: 'separator' + role: 'cut', }, { - label: i18n.t('menu:help.devTools'), - role: 'toggleDevTools' - } -] - -if (isDev) { - helpMenu.push({ - label: 'Reload', - role: 'reload' - }) -} - -const fileMenu: MenuItemConstructorOptions[] = [ - { - label: i18n.t('newSnippet'), - accelerator: 'CommandOrControl+N', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:new-snippet' - ) - } + role: 'copy', }, { - label: i18n.t('newFragment'), - accelerator: 'CommandOrControl+T', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:new-fragment' - ) - } + role: 'paste', }, { - label: i18n.t('addDescription'), - accelerator: 'CommandOrControl+Shift+T', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:add-description' - ) - } + role: 'delete', }, { - type: 'separator' + type: 'separator', }, { - label: i18n.t('newFolder'), - accelerator: 'CommandOrControl+Shift+N', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send('main-menu:new-folder') - } + role: 'selectAll', }, { - type: 'separator' + type: 'separator', }, { - label: i18n.t('menu:file.find'), + label: i18n.t('menu:edit.find'), accelerator: 'CommandOrControl+F', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send('main-menu:search') - } - } -] - -const viewMenu: MenuItemConstructorOptions[] = [ - { - label: i18n.t('menu:view.sortBy.label'), - submenu: [ - { - label: i18n.t('menu:view.sortBy.dateModified'), - type: 'radio', - checked: store.app.get('sort') === 'updatedAt', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:sort-snippets', - 'updatedAt' - ) - } - }, - { - label: i18n.t('menu:view.sortBy.dateCreated'), - type: 'radio', - checked: store.app.get('sort') === 'createdAt', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:sort-snippets', - 'createdAt' - ) - } - }, - { - label: i18n.t('menu:view.sortBy.name'), - type: 'radio', - checked: store.app.get('sort') === 'name', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:sort-snippets', - 'name' - ) - } - } - ] - }, - { - label: i18n.t('menu:view.hideSubfolderSnippets'), - type: 'checkbox', - checked: store.app.get('hideSubfolderSnippets'), - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:hide-subfolder-snippets' - ) - } - }, - { - label: i18n.t('menu:view.compactMode'), - type: 'checkbox', - checked: store.app.get('compactMode'), - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:compact-mode-snippets' - ) - } - } + click: () => send('main-menu:find'), + }, ] -const editorMenu: MenuItemConstructorOptions[] = [ +const editorMenuItems: MenuConfig[] = [ { label: i18n.t('menu:editor.copy'), - accelerator: 'Shift+CommandOrControl+C', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:copy-snippet' - ) - } + click: () => send('main-menu:copy-snippet'), + accelerator: 'CommandOrControl+Shift+C', }, { label: i18n.t('menu:editor.format'), accelerator: 'Shift+CommandOrControl+F', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:format-snippet' - ) - } + click: () => send('main-menu:format'), }, { label: i18n.t('menu:editor.previewCode'), - accelerator: 'Shift+CommandOrControl+P', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:preview-code' - ) - } + click: () => send('main-menu:preview-code'), + accelerator: 'CommandOrControl+Shift+P', }, { - type: 'separator' + type: 'separator', }, { label: i18n.t('menu:editor.fontSizeIncrease'), accelerator: 'CommandOrControl+=', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:font-size-increase' - ) - } + click: () => send('main-menu:font-size-increase'), }, { label: i18n.t('menu:editor.fontSizeDecrease'), accelerator: 'CommandOrControl+-', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:font-size-decrease' - ) - } + click: () => send('main-menu:font-size-decrease'), }, { label: i18n.t('menu:editor.fontSizeReset'), accelerator: 'CommandOrControl+0', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:font-size-reset' - ) - } - } + click: () => send('main-menu:font-size-reset'), + }, ] -const markdownMenu: MenuItemConstructorOptions[] = [ +const markdownMenuItems: MenuConfig[] = [ { label: i18n.t('menu:markdown.preview'), - accelerator: 'Shift+CommandOrControl+M', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:preview-markdown' - ) - } + click: () => send('main-menu:preview-markdown'), + accelerator: 'CommandOrControl+Shift+M', }, { - label: i18n.t('menu:editor.previewMindmap'), - accelerator: 'Shift+CommandOrControl+I', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:preview-mindmap' - ) - } + label: i18n.t('menu:markdown.previewMindmap'), + click: () => send('main-menu:preview-mindmap'), + accelerator: 'CommandOrControl+Shift+I', }, { - type: 'separator' + type: 'separator', }, { label: i18n.t('menu:markdown.presentationMode'), - accelerator: 'Alt+CommandOrControl+P', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:presentation-mode' - ) - } - } -] - -const editMenu: MenuItemConstructorOptions[] = [ - { - label: i18n.t('menu:edit.undo'), - role: 'undo' - }, - { - label: i18n.t('menu:edit.redo'), - role: 'redo' - }, - { type: 'separator' }, - { - label: i18n.t('menu:edit.cut'), - role: 'cut' - }, - { - label: i18n.t('menu:edit.copy'), - role: 'copy' - }, - { - label: i18n.t('menu:edit.paste'), - role: 'paste' + click: () => send('main-menu:presentation-mode'), + accelerator: 'CommandOrControl+Shift+P', }, - { - label: i18n.t('menu:edit.delete'), - role: 'delete' - }, - { type: 'separator' }, - { - label: i18n.t('menu:edit.selectAll'), - role: 'selectAll' - } -] - -const historyMenu: MenuItemConstructorOptions[] = [ - { - label: i18n.t('menu:history.back'), - accelerator: 'CommandOrControl+[', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:history-back' - ) - } - }, - { - label: i18n.t('menu:history.forward'), - accelerator: 'CommandOrControl+]', - click: () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main-menu:history-forward' - ) - } - } ] const windowMenu: MenuItemConstructorOptions[] = [ { label: i18n.t('menu:window.minimize'), accelerator: 'CommandOrControl+M', - role: 'minimize' - } + role: 'minimize', + }, ] const menuItems: MenuItemConstructorOptions[] = [ { label: i18n.t('menu:app.label'), - submenu: isMac ? appMenuMac : appMenu + submenu: createPlatformMenuItems(appMenuItems), }, { - label: i18n.t('menu:file.label'), - submenu: fileMenu + label: 'File', + submenu: createPlatformMenuItems(fileMenuItems), }, { - label: i18n.t('menu:view.label'), - submenu: viewMenu - }, - { - label: i18n.t('menu:edit.label'), - submenu: editMenu + role: 'editMenu', + submenu: createPlatformMenuItems(editMenuItems), }, { label: i18n.t('menu:editor.label'), - submenu: editorMenu + submenu: createPlatformMenuItems(editorMenuItems), }, { label: i18n.t('menu:markdown.label'), - submenu: markdownMenu + submenu: createPlatformMenuItems(markdownMenuItems), }, { - label: i18n.t('menu:history.label'), - submenu: historyMenu + role: 'windowMenu', }, { label: i18n.t('menu:window.label'), - submenu: windowMenu + submenu: windowMenu, }, { label: i18n.t('menu:help.label'), - submenu: helpMenu - } + submenu: createPlatformMenuItems(helpMenuItems), + }, ] export const mainMenu = createMenu(menuItems) diff --git a/src/main/menu/utils/index.ts b/src/main/menu/utils/index.ts new file mode 100644 index 00000000..577625b9 --- /dev/null +++ b/src/main/menu/utils/index.ts @@ -0,0 +1,28 @@ +/* eslint-disable node/prefer-global/process */ +import type { MenuItemConstructorOptions } from 'electron' +import { Menu } from 'electron' + +export type Platform = 'darwin' | 'win32' + +export interface MenuConfig extends MenuItemConstructorOptions { + platforms?: Platform[] +} + +export function createPlatformMenuItems( + items: MenuConfig[], + currentPlatform: Platform = process.platform as Platform, +): MenuItemConstructorOptions[] { + return items + .filter( + item => !item.platforms || item.platforms.includes(currentPlatform), + ) + .map((item) => { + const { id, platforms, ...menuItem } = item + return menuItem as MenuItemConstructorOptions + }) +} + +export function createMenu(template: MenuItemConstructorOptions[]) { + const menu = Menu.buildFromTemplate(template) + return menu +} diff --git a/src/main/preload.ts b/src/main/preload.ts index bf2230e2..d96237a7 100644 --- a/src/main/preload.ts +++ b/src/main/preload.ts @@ -1,45 +1,46 @@ +import type { AppStore, PreferencesStore } from './store/types' +import type { EventCallback } from './types' +import type { Channel } from './types/ipc' import { contextBridge, ipcRenderer } from 'electron' -import { - isDbExist, - migrate, - migrateFromSnippetsLab, - move, - createDb -} from './services/db' +import i18n from './i18n' import { store } from './store' -import type { ElectronBridge } from '@shared/types/main' -import { platform } from 'os' -import i18n from './services/i18n' -import { version } from '../../package.json' contextBridge.exposeInMainWorld('electron', { ipc: { - invoke: (channel, payload) => ipcRenderer.invoke(channel, payload), - on: (channel, cb) => ipcRenderer.on(channel, cb), - once: (channel, cb) => ipcRenderer.once(channel, cb) + on: (channel: Channel, cb: EventCallback) => ipcRenderer.on(channel, cb), + send: (channel: Channel, data: any, cb: EventCallback) => { + ipcRenderer.send(channel, data) + if (cb && typeof cb === 'function') { + ipcRenderer.on(channel, cb) + } + }, + invoke: (channel: Channel, data: any) => ipcRenderer.invoke(channel, data), + removeListener: (channel: Channel, cb: EventCallback) => + ipcRenderer.removeListener(channel, cb), + removeListeners: (channel: Channel) => + ipcRenderer.removeAllListeners(channel), + }, + db: { + query: (sql: string, params: any[] = []) => + ipcRenderer.invoke('db-query', { sql, params }), }, store: { app: { - get: name => store.app.get(name), - set: (name, value) => store.app.set(name, value), - delete: name => store.app.delete(name) + get: (name: keyof AppStore) => store.app.get(name), + set: (name: T, value: AppStore[T]) => + store.app.set(name, value), + delete: (name: keyof AppStore) => store.app.delete(name), }, preferences: { - get: name => store.preferences.get(name), - set: (name, value) => store.preferences.set(name, value), - delete: name => store.preferences.delete(name) - } - }, - db: { - create: () => createDb(), - migrate: path => migrate(path), - migrateFromSnippetsLab: path => migrateFromSnippetsLab(path), - move: (from, to) => move(from, to), - isExist: path => isDbExist(path) + get: (name: keyof PreferencesStore) => store.preferences.get(name), + set: ( + name: T, + value: PreferencesStore[T], + ) => store.preferences.set(name, value), + delete: (name: keyof PreferencesStore) => store.preferences.delete(name), + }, }, i18n: { - t: (key, options) => i18n.t(key, options) + t: (key: string, options?: any) => i18n.t(key, options), }, - platform: () => platform(), - version -} as ElectronBridge) +}) diff --git a/src/main/services/api/server.ts b/src/main/services/api/server.ts deleted file mode 100644 index 493c6fbd..00000000 --- a/src/main/services/api/server.ts +++ /dev/null @@ -1,166 +0,0 @@ -import * as jsonServer from '@masscode/json-server' -import { store } from '../../store' -import { nanoid } from 'nanoid' -import { API_PORT } from '../../config' -import path from 'path' -import type { DB, Folder, Snippet, Tag } from '@shared/types/main/db' -import type { Server } from 'http' -import type { Socket } from 'net' -import { remove } from 'lodash' -import type { SnippetWithFolder } from '@shared/types/renderer/store/snippets' -import { BrowserWindow } from 'electron' - -interface ServerWithDestroy extends Server { - destroy: Function -} - -export class ApiServer { - server: ServerWithDestroy - connections: Record = {} - - constructor () { - this.server = this.create() - } - - create (): ServerWithDestroy { - const db = path.resolve(store.preferences.get('storagePath') + '/db.json') - const app = jsonServer.create() - const middlewares = jsonServer.defaults() - const router = jsonServer.router(db) - - app.use(jsonServer.bodyParser) - app.use(middlewares) - - app.post('/db/update/:table', (req, res) => { - const table = req.params.table as keyof DB - const isAllowedTable = ['folders', 'snippets', 'tags'].includes(table) - - if (!isAllowedTable) { - return res.status(400).send('Table is not defined in DB') - } - if (req.body.value?.length === 0) { - res.status(400).send("'value' is required") - } else { - const db = router.db.getState() - - db[table] = req.body.value - - router.db.setState(db) - router.db.write() - - res.sendStatus(200) - } - }) - - app.get('/snippets/embed-folder', (req, res) => { - const snippets = router.db - .get('snippets') - .cloneDeep() - .value() - - const result = snippets.map(i => { - const folder = router.db - .get('folders') - .find(f => f.id === i.folderId) - if (folder) i.folder = folder.value() - return i - }) - - res.status(200).send(result) - }) - - app.post('/snippets/delete', (req, res) => { - const ids: string[] = req.body.ids - const snippets = router.db.get('snippets').value() - - ids.forEach(i => { - const index = snippets.findIndex(s => s.id === i) - if (index !== -1) snippets.splice(index, 1) - }) - - router.db.write() - - res.sendStatus(200) - }) - - app.post('/snippets/create', (req, res) => { - const windows = BrowserWindow.getAllWindows() - windows[0].webContents.send('api:snippet-create', req.body) - - res.sendStatus(200) - }) - - app.delete('/tags/:id', (req, res) => { - const id = req.params.id - const tags = router.db.get('tags').value() - const snippets = router.db - .get('snippets') - .filter(i => i.tagsIds.includes(id)) - .value() - const index = tags.findIndex(i => i.id === id) - - snippets.forEach(i => { - remove(i.tagsIds, item => item === id) - }) - - tags.splice(index, 1) - router.db.write() - - res.sendStatus(200) - }) - - app.get('/tags/:id/snippets', (req, res) => { - const id = req.params.id - const _snippets = router.db.get('snippets').value() - const snippets = _snippets.filter(i => i.tagsIds.includes(id)) - - res.status(200).send(snippets) - }) - - app.use((req, res, next) => { - if (req.method === 'POST') { - req.body.id = nanoid(8) - req.body.createdAt = Date.now().valueOf() - req.body.updatedAt = Date.now().valueOf() - } - - if (req.method === 'PATCH' || req.method === 'PUT') { - req.body.updatedAt = Date.now().valueOf() - } - next() - }) - - app.use(router) - - const server = app.listen(API_PORT, () => { - console.log(`API server is running on port ${API_PORT}`) - }) as ServerWithDestroy - - server.on('connection', conn => { - const key = conn.remoteAddress + ':' + conn.remotePort - this.connections[key] = conn - conn.on('close', () => { - delete this.connections[key] - }) - }) - - server.destroy = () => { - server.close() - for (const key in this.connections) { - this.connections[key].destroy() - } - } - - // Почему то на windows API сервер падает, не смотря на то, - // что порт API свободен, поэтому просто обрабатываем ошибку - server.on('error', err => console.error(err)) - - return server - } - - restart () { - console.log('API server restart...') - this.server.destroy() - this.server = this.create() - } -} diff --git a/src/main/services/db/index.ts b/src/main/services/db/index.ts deleted file mode 100644 index 42bedfac..00000000 --- a/src/main/services/db/index.ts +++ /dev/null @@ -1,467 +0,0 @@ -import { store } from '../../store' -import fs from 'fs-extra' -import readline from 'readline' -import { nestedToFlat } from '../../utils' -import { nanoid } from 'nanoid' -import type { - DB, - Folder, - Snippet, - SnippetContent, - Tag -} from '@shared/types/main/db' -import { - oldLanguageMap, - languages -} from '../../../renderer/components/editor/languages' -import { snakeCase } from 'lodash' -import type { LanguageOption, Language } from '@shared/types/renderer/editor' - -const DB_NAME = 'db.json' - -const DEFAULT_FOLDER = { - id: nanoid(8), - name: 'Default', - defaultLanguage: 'typescript', - parentId: null, - isOpen: false, - isSystem: false, - createdAt: new Date().valueOf(), - updatedAt: new Date().valueOf() -} - -const getFileDb = () => { - return store.preferences.get('storagePath') + `/${DB_NAME}` -} - -export const createDb = () => { - const fileDb = getFileDb() - - if (fs.existsSync(fileDb)) { - return - } else { - fs.ensureFileSync(fileDb) - } - - const db = { - folders: [DEFAULT_FOLDER], - snippets: [], - tags: [] - } - - writeToFile(db) - - store.app.delete('selectedFolderId') - store.app.delete('selectedFolderIds') - - console.log('DB is created') -} - -const writeToFile = (db: object) => { - const fileDb = getFileDb() - const data = JSON.stringify(db, null, 2) - fs.writeFileSync(fileDb, data) -} - -export const move = async (from: string, to: string) => { - const src = `${from}/${DB_NAME}` - const dist = `${to}/${DB_NAME}` - - if (isDbExist(to)) { - throw Error( - 'Folder already contains db file. Please select another folder.' - ) - } - await fs.move(src, dist) -} - -export const isDbExist = (path: string) => { - const files = fs.readdirSync(path) - return files.some(i => i === DB_NAME) -} - -export const migrate = async (path: string) => { - const files = await fs.readdir(path) - const migrateFiles = ['masscode.db', 'snippets.db', 'tags.db'] - - const isFilesExist = migrateFiles - .reduce((acc: boolean[], item) => { - acc.push(files.includes(item)) - return acc - }, []) - .every(i => i === true) - - if (!isFilesExist) throw Error('DB files not exist in this folder') - - const convertDBFileToJSON = async (fileName: string): Promise => { - const readInterface = readline.createInterface({ - input: fs.createReadStream(`${path}/${fileName}.db`), - output: process.stdout - }) - const arr: string[] = [] - - return new Promise((resolve, reject) => { - readInterface.on('line', line => { - if (line) arr.push(JSON.parse(line)) - }) - - readInterface.on('close', () => { - resolve(arr) - }) - }) - } - - const masscodeJSON = await convertDBFileToJSON('masscode') - const masscodeJSONList = nestedToFlat(masscodeJSON[0].list) - const snippetsJSON = await convertDBFileToJSON('snippets') - const tagsJSON = await convertDBFileToJSON('tags') - - const folders: Folder[] = [] - const snippets: Snippet[] = [] - const tags: Tag[] = [] - - const folderIdsMap: any[] = [] - const tagIdsMap: any[] = [] - - masscodeJSONList.forEach( - ({ id, open, parentId, defaultLanguage, ...rest }) => { - const newId = nanoid(8) - - folders.push({ - id: newId, - isOpen: open, - parentId: parentId ?? null, - defaultLanguage: oldLanguageMap[defaultLanguage] || defaultLanguage, - ...rest, - createdAt: new Date().valueOf(), - updatedAt: new Date().valueOf() - }) - - folderIdsMap.push([id, newId]) - folderIdsMap.forEach(([oldId, newId]) => { - const item = folders.find(i => i.parentId === oldId) - if (item) item.parentId = newId - }) - } - ) - - tagsJSON.forEach(({ _id, ...rest }) => { - const newId = nanoid(8) - - tags.push({ - id: newId, - ...rest, - createdAt: new Date().valueOf(), - updatedAt: new Date().valueOf() - }) - - tagIdsMap.push([_id, newId]) - }) - - // eslint-disable-next-line @typescript-eslint/no-unused-vars - snippetsJSON.forEach( - ({ - _id, - folderId, - folder, - tags, - tagsPopulated, - createdAt, - updatedAt, - content, - ...rest - }) => { - const newId = nanoid(8) - const tagsIds: any[] = [] - const [, newFolderId] = - folderIdsMap.find(i => i.includes(folderId)) || [] - - tags.forEach((oldId: string) => { - const [, newId] = tagIdsMap.find(i => i.includes(oldId)) || [] - if (newId) tagsIds.push(newId) - }) - - content = content.map((i: any) => { - return { - ...i, - value: i.value || '', - language: oldLanguageMap[i.language] || i.language - } - }) - - snippets.push({ - id: newId, - folderId: newFolderId ?? null, - tagsIds, - content, - ...rest, - createdAt: createdAt.$$date, - updatedAt: updatedAt.$$date - }) - } - ) - - const db = { - folders, - snippets, - tags - } - writeToFile(db) - console.log('Migrate is done') -} - -export const migrateFromSnippetsLab = (path: string) => { - const file = fs.readFileSync(path, 'utf-8') - const json = JSON.parse(file) - - // с версии 2.1 - if (json.app !== undefined) { - migrateFromSnippetsLabNew(path) - } else { - migrateFromSnippetsLabOld(path) - } -} - -// Мигратор до версии 2.1 -export const migrateFromSnippetsLabOld = (path: string) => { - interface SLFragment { - Content: string - 'Date Created': string - 'Date Modified': string - Note: string - Title: string - Language: string - } - interface SLSnippet { - 'Date Created': string - 'Date Modified': string - Folder: string - Title: string - Fragments: SLFragment[] - Tags: string[] - } - - interface SnippetsLabDbJSON { - Snippets: SLSnippet[] - } - - const INBOX = 'Uncategorized' - - const file = fs.readFileSync(path, 'utf-8') - const json = JSON.parse(file) as SnippetsLabDbJSON - - const folders = new Set() - const tags = new Set() - - const db: DB = { - folders: [], - snippets: [], - tags: [] - } - - json.Snippets.forEach(i => { - if (i.Folder) folders.add(i.Folder) - - if (i.Tags.length) { - i.Tags.forEach(t => tags.add(t)) - } - }) - - folders.forEach(i => { - if (i === INBOX) return - db.folders.push({ - id: nanoid(8), - name: i, - defaultLanguage: 'plain_text', - parentId: null, - isOpen: false, - isSystem: false, - createdAt: new Date().valueOf(), - updatedAt: new Date().valueOf() - }) - }) - - tags.forEach(i => { - db.tags.push({ - id: nanoid(8), - name: i, - createdAt: new Date().valueOf(), - updatedAt: new Date().valueOf() - }) - }) - - json.Snippets.forEach(i => { - const folderId = db.folders.find(f => f.name === i.Folder)?.id || '' - const tagsIds: string[] = [] - - if (i.Tags.length) { - i.Tags.forEach(t => { - const id = db.tags.find(_t => _t.name === t)?.id - if (id) tagsIds.push(id) - }) - } - - const snippet: Snippet = { - id: nanoid(8), - name: i.Title, - content: [], - folderId, - tagsIds, - isDeleted: false, - isFavorites: false, - createdAt: new Date(i['Date Created']).valueOf(), - updatedAt: new Date(i['Date Modified']).valueOf() - } - - if (i.Fragments.length) { - i.Fragments.forEach(f => { - snippet.content.push({ - label: f.Title, - value: f.Content, - language: convertSLLanguage(f.Language, languages, 'old') - }) - }) - } - - db.snippets.push(snippet) - }) - - writeToFile(db) - console.log('Migrate is done') -} - -// Мигратор с версии 2.1 -export const migrateFromSnippetsLabNew = (path: string) => { - interface SLFragment { - content: string - dateCreated: string - dateModified: string - language: string - note: string - title: string - uuid: string - } - interface SLSnippet { - dateCreated: string - dateModified: string - folder: string - fragments: SLFragment[] - title: string - uuid: string - tags: string[] - } - interface SLFolder { - title: string - defaultLanguages: string - uuid: string - children: SLFolder[] - } - interface SLTag { - title: string - uuid: string - } - - interface SnippetsLabDbJSON { - contents: { - snippets: SLSnippet[] - tags: SLTag[] - folders: SLFolder[] - } - } - - const file = fs.readFileSync(path, 'utf-8') - const json = JSON.parse(file) as SnippetsLabDbJSON - - const db: DB = { - folders: [], - snippets: [], - tags: [] - } - - const createFolders = (folders: SLFolder[]) => { - const createFolder = (folder: SLFolder, parentId: string | null = null) => { - const _folder: Folder = { - id: folder.uuid, - name: folder.title, - createdAt: new Date().valueOf(), - updatedAt: new Date().valueOf(), - isOpen: false, - isSystem: false, - defaultLanguage: 'plain_text', - parentId - } - - db.folders.push(_folder) - - return _folder.id - } - - const createFoldersFromChildren = (cf: SLFolder[], parenId: string) => { - if (!cf) return - - cf.forEach(c => { - const id = createFolder(c, parenId) - - if (c.children && c.children.length) { - createFoldersFromChildren(c.children, id) - } - }) - } - - folders.forEach(f => { - const id = createFolder(f) - createFoldersFromChildren(f.children, id) - }) - } - - createFolders(json.contents.folders) - - json.contents.tags.forEach(t => { - db.tags.push({ - id: t.uuid, - name: t.title, - createdAt: new Date().valueOf(), - updatedAt: new Date().valueOf() - }) - }) - - json.contents.snippets.forEach(s => { - const createContent = (fragments: SLFragment[]) => { - return fragments.map(f => { - return { - label: f.title, - value: f.content, - language: convertSLLanguage(f.language, languages) - } - }) - } - - db.snippets.push({ - id: s.uuid, - name: s.title, - createdAt: new Date(s.dateCreated).valueOf(), - updatedAt: new Date(s.dateModified).valueOf(), - folderId: s.folder ?? null, - isDeleted: false, - isFavorites: false, - content: createContent(s.fragments), - tagsIds: s.tags || [] - }) - }) - - writeToFile(db) - console.log('Migrate is done') -} - -const convertSLLanguage = ( - language: string, - languages: LanguageOption[], - version: 'new' | 'old' = 'new' -): Language => { - if (version === 'new') { - language = language.replace(/Lexer$/, '') - } - - const _language = snakeCase(language.toLowerCase()) - return languages.find(i => i.value === _language)?.value || 'plain_text' -} diff --git a/src/main/services/i18n/index.ts b/src/main/services/i18n/index.ts deleted file mode 100644 index 901c6bda..00000000 --- a/src/main/services/i18n/index.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { lstatSync, readdirSync } from 'fs' -import { join } from 'path' -import i18next from 'i18next' -import Backend from 'i18next-fs-backend' -import { store } from '../../store' -import { language } from './language' - -const lng = store.preferences.get('language') - -i18next.use(Backend).init({ - fallbackLng: 'en', - lng, - debug: false, - ns: ['common', 'dialog', 'preferences', 'special', 'menu', 'devtools'], - defaultNS: 'common', - initImmediate: false, - preload: readdirSync(join(__dirname, './locales')).filter(fileName => { - const joinedPath = join(join(__dirname, './locales'), fileName) - const isDirectory = lstatSync(joinedPath).isDirectory() - return isDirectory - }), - backend: { - loadPath: join(__dirname, './locales/{{lng}}/{{ns}}.json') - } -}) - -i18next.addResourceBundle(lng, 'language', language) - -export default i18next diff --git a/src/main/services/i18n/locales/README.md b/src/main/services/i18n/locales/README.md deleted file mode 100644 index 9cd64844..00000000 --- a/src/main/services/i18n/locales/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# Locales - -## Add new Locales - - Make a duplicate of the `en` folder, then rename it to the necessary [two-letter locale code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes). - - Translate each value in each of the files. - - Add new [prop](https://github.com/massCodeIO/massCode/blob/master/src/main/services/i18n/language.ts#L1) to i18n where the prop name corresponds to the name of the folder -```js -... - // 'en' for prop & 'English' for value - export const language = { - ... - en: 'English', - ... - } -... -``` - - Make PR. diff --git a/src/main/services/i18n/locales/cs/common.json b/src/main/services/i18n/locales/cs/common.json deleted file mode 100644 index 2b6f4577..00000000 --- a/src/main/services/i18n/locales/cs/common.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "button": { - "moveStorage": "Přesunout úložiště", - "openStorage": "Otevřít úložiště", - "newStorage": "Nové úložiště", - "reloadStorage": "Znovu načíst úložiště", - "fromMassCodeV1": "Z massCode v1.0", - "fromSnippetsLab": "Z SnippetsLab", - "confirm": "Potvrdit", - "cancel": "Zrušit", - "update": ["Jít na GitHub", "OK"], - "ok": "OK", - "clear": "Vyčistit", - "copy": "Kopírovat", - "sort": "Seřadit", - "revers": "Obrátit", - "generate": "Generovat", - "saveAs": "Uložit jako", - "zoomIn": "Přiblížit", - "zoomOut": "Oddálit", - "fit": "Přizpůsobit" - }, - "newFolder": "Nová složka", - "newSnippet": "Nový snippet", - "newFragment": "Nový fragment", - "addDescription": "Přidat popis", - "addToFavorites": "Přidat do oblíbených", - "addTag": "Přidat štítek", - "saveScreenshot": "Uložit screenshot", - "rename": "Přejmenovat", - "duplicate": "Duplikovat", - "delete": "Smazat", - "deleteNow": "Smazat nyní", - "defaultLanguage": "Výchozí jazyk", - "removeFromFavorites": "Odebrat z oblíbených", - "emptyTrash": "Vyprázdnit koš", - "close": "Zavřít", - "folder": { - "untitled": "Nepojmenovaná složka", - "plural": "Složky" - }, - "snippet": { - "untitled": "Nepojmenovaný snippet", - "plural": "Snippetů", - "plural_few": "Snippety", - "emptyName": "Zadejte jméno snippetu", - "selectedMultiple": "{{count}} snippetů vybráno", - "selectedMultiple_few": "{{count}} snippety vybrány", - "noSelected": "Není vybrán žádný snippet" - }, - "fragment": "Fragment", - "search": "Hledat", - "line": "Řádek", - "column": "sloupec", - "sidebar": { - "inbox": "Příchozí", - "favorites": "Oblíbené", - "allSnippets": "Všechny snippety", - "trash": "Koš", - "untitled": "Nepojmenovaná složka", - "folders": "Složky", - "library": "Knihovna", - "tags": "Štítky" - }, - "darkMode": "Tmavý režim", - "background": "Pozadí", - "restartApp": "Restartovat massCode", - "updateAvailable": "Aktualizace dostupná", - "hide": "Skrýt", - "show": "Zobrazit", - "collapse-all": "Sbalit vše", - "expand-all": "Rozbalit vše", - "restore": "Obnovit", - "copy-snippet-link": "Zkopírovat odkaz na snippet", - "set-custom-icon": "Nastavit vlastní ikonu" -} diff --git a/src/main/services/i18n/locales/cs/devtools.json b/src/main/services/i18n/locales/cs/devtools.json deleted file mode 100644 index 16a52b03..00000000 --- a/src/main/services/i18n/locales/cs/devtools.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "form": { - "inputString": "Vstupní řetězec", - "outputString": "Výstupní řetězec", - "inputUrl": "Vstupní URL", - "outputUrl": "Výstupní URL", - "parsedUrl": "Rozparsovaná URL", - "splitQueryString": "Rozdělené parametry", - "key": "Klíč", - "value": "Hodnota", - "component": "Komponenta", - "result": "Výsledek", - "secretKey": "Tajný klíč", - "algorithm": "Algoritmus", - "version": "Verze", - "amount": "Počet", - "type": "Typ", - "length": "Délka", - "options": "Možnosti", - "numbers": "Čísla", - "symbols": "Symboly", - "lowercase": "Malá písmena", - "uppercase": "Velká písmena" - }, - "textTools": { - "label": "Textové nástroje", - "caseConverter": "Převod velikosti písmen", - "urlParser": "URL parser", - "slugGenerator": "Slug generátor", - "sortLines": "Řazení řádků" - }, - "crypto": { - "label": "Kryptografie / Bezpečnost", - "hashGenerator": "Hash generátor", - "hmacGenerator": "HMAC generátor", - "passGenerator": "Generátor hesel", - "uuidGenerator": "UUID generátor" - }, - "encodeDecode": { - "label": "Kodéry / dekoréry", - "url": "URL kodér / dekodér", - "base64": "Base64 kodér / dekodér" - } -} diff --git a/src/main/services/i18n/locales/cs/dialog.json b/src/main/services/i18n/locales/cs/dialog.json deleted file mode 100644 index 22637f4e..00000000 --- a/src/main/services/i18n/locales/cs/dialog.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "deleteConfirm": "Opravdu chcete trvale smazat {{name}}?", - "deleteConfirmMultipleSnippets": "Opravdu chcete trvale smazat {{count}} vybraných snippetů?", - "deleteConfirmMultipleSnippets_few": "Opravdu chcete trvale smazat {{count}} vybrané snippety?", - "noUndo": "Tuto akci nelze vrátit zpět.", - "allSnippetsMoveToTrash": "Všechny snippety v této složce budou přesunuty do koše.", - "deleteTag": "Tímto také odeberete štítek ze všech snippetů.", - "emptyTrash": "Opravdu chcete trvale odstranit všechny snippety v Koši?", - "migrateConfirm": [ - "Opravdu chcete migrovat z {{name}}?", - "Současná knihovna bude v průběhu migrace přepsána." - ], - "createDb": "Zvolte jinou složku, prosím" -} diff --git a/src/main/services/i18n/locales/cs/menu.json b/src/main/services/i18n/locales/cs/menu.json deleted file mode 100644 index 1c7ca872..00000000 --- a/src/main/services/i18n/locales/cs/menu.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "Předvolby", - "update": { - "label": "Zkontrolovat aktualizace....", - "message": "Verze {{newVersion}} je dostupná ke stažení.\nMáte verzi {{oldVersion}}.", - "button": ["Přejít na stažení", "OK"], - "noUpdate": "Momentálně nejsou k dispozici žádné aktualizace." - }, - "quit": "Ukončit massCode", - "about": "O aplikaci massCode", - "hide": "Skrýt massCode", - "hideOther": "Skrýt ostatní", - "showAll": "Zobrazit vše" - }, - "help": { - "label": "Nápověda", - "website": "Web", - "documentation": "Dokumentace", - "viewInGitHub": "Zobrazit na GitHubu", - "changeLog": "Protokol změn", - "reportIssue": "Nahlásit problém", - "giveStar": "Dát hvězdičku", - "extension": { - "vscode": "VS Code rozšíření", - "raycast": "Raycast rozšíření", - "alfred": "Alfred rozšíření" - }, - "donate": { - "openCollective": "Přispět přes Open Collective", - "payPal": "Přispět přes PayPal", - "gumroad": "Přispět přes Gumroad (Visa, Mastercard, …)" - }, - "twitter": "Twitter", - "devTools": "Přepnout nástroje pro vývojáře", - "links": { - "snippets": "Kolekce snippetů" - } - }, - "file": { - "label": "Soubor", - "find": "Hledat" - }, - "view": { - "label": "Zobrazit", - "sortBy": { - "label": "Seřadit snippety podle", - "dateModified": "Data úpravy", - "dateCreated": "Data vytvoření", - "name": "Názvu" - }, - "hideSubfolderSnippets": "Skrýt snippety podsložek", - "compactMode": "Kompaktní zobrazení" - }, - "edit": { - "label": "Upravit", - "undo": "Vrátit zpět", - "redo": "Opakovat", - "cut": "Vyjmout", - "copy": "Kopírovat", - "paste": "Vložit", - "delete": "Smazat", - "selectAll": "Vybrat vše" - }, - "editor": { - "label": "Editor", - "copy": "Kopírovat snippet do schránky", - "format": "Formátovat", - "previewCode": "Náhled kódu", - "previewScreenshot": "Náhled screenshotu", - "previewMarkdown": "Náhled Markdownu", - "previewMindmap": "Náhled myšlenkové mapy", - "fontSizeIncrease": "Zvětšit písmo", - "fontSizeDecrease": "Zmenšit písmo", - "fontSizeReset": "Obnovit velikost píma" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "Prezentační mód", - "preview": "Náhled" - }, - "history": { - "label": "Historie", - "back": "Zpět", - "forward": "Vpřed" - }, - "devtools": { - "label": "Nástroje pro vývojáře" - } -} diff --git a/src/main/services/i18n/locales/cs/special.json b/src/main/services/i18n/locales/cs/special.json deleted file mode 100644 index 640d8870..00000000 --- a/src/main/services/i18n/locales/cs/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "Pro používání synchronizačních služeb jako je iCloud Drive, Google Drive nebo Dropbox jednoduše přesuňte úložiště do odpovídajících synchronizovaných složek.", - "migrate": { - "1": "Pro migraci z massCode v1.0 zvolte složku obsahující databázové soubory.", - "2": "Pro migraci z SnippetsLab zvolte JSON soubor.", - "3": [ - "V průběhu migrace ze SnippetsLab je několik omezení:", - "Všechny složky budou na první úrovni, protože JSON soubor (v2.1 a níže) neukládá zanořené složky.", - "Snippetům s nepodporovým jazykem bude nastaven výchozí Plain Text." - ] - }, - "htmlCssPreview": "Pro zobrazení výsledku přidejte fragmenty s jazyky HTML a CSS.", - "codeBlockRenderer": [ - "Při používání Codemirror musí jazyk použitý pro blok kódu odpovídat jednomu z podporovaných", - "jazyků" - ] - }, - "success": { - "migrate": "Databáze úspěšně zmigrována." - }, - "error": { - "folderContainDb": "Složka už obsahuje \"db.json\".", - "folderNotContainDb": "Složka neobsahuje \"db.json\"." - }, - "unsponsored": "Nesponzorováno", - "supportMessage": "Ahoj, tady Anton 👋

    \nDíky za používání massCode. Shledáváte-li aplikaci užitečnou, prosím {{-tagStart}} přispějte {{-tagEnd}}. Bude mě to inspirovat k dalšímu rozvoji projektu.", - "snippetsShowcase": "Přehlídka snippetů" -} diff --git a/src/main/services/i18n/locales/de_DE/common.json b/src/main/services/i18n/locales/de_DE/common.json deleted file mode 100644 index f7b55008..00000000 --- a/src/main/services/i18n/locales/de_DE/common.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "button": { - "moveStorage": "Datenbank verschieben", - "openStorage": "Datenbank öffnen", - "newStorage": "Neue Datenbank", - "fromMassCodeV1": "Von massCode v1.0", - "fromSnippetsLab": "Von SnippetsLab", - "confirm": "Bestätigen", - "cancel": "Abbrechen", - "update": [ - "Nach GitHub", - "OK" - ], - "ok": "OK" - }, - "newFolder": "Neuer Ordner", - "newSnippet": "Neues Snippet", - "newFragment": "Neues Fragment", - "addDescription": "Beschreibung hinzufügen", - "addToFavorites": "Zu Favoriten hinzufügen", - "addTag": "Tag hinzufügen", - "exportToHtml": "Export zu HTML", - "saveScreenshot": "Screenshot speichern", - "rename": "Umbenennen", - "duplicate": "Duplizieren", - "delete": "Löschen", - "deleteNow": "Jetzt löschen", - "defaultLanguage": "Standard Sprache", - "removeFromFavorites": "Von Favoriten entfernen", - "emptyTrash": "Papierkorb leeren", - "close": "Schließen", - "folder": { - "untitled": "Unbenannter Ordner", - "plural": "Ordner" - }, - "snippet": { - "untitled": "Unbenanntes Snippet", - "plural": "Snippets", - "emptyName": "Snippet name", - "selectedMultiple": "{{count}} Snippets ausgewählt", - "noSelected": "Kein Snippet ausgewählt" - }, - "fragment": "Fragment", - "search": "Suchen", - "line": "Linie", - "column": "Spalte", - "sidebar": { - "inbox": "Inbox", - "favorites": "Favoriten", - "allSnippets": "Alle Snippets", - "trash": "Papierkorb", - "untitled": "Unbenannter Ordner", - "folders": "Ordner", - "library": "Bibliothek", - "tags": "Tags" - }, - "darkMode": "Dark Mode", - "background": "Hintergrund", - "restartApp": "massCode neustarten", - "updateAvailable": "Update verfügbar", - "hide": "Verbergen", - "show": "Zeigen", - "collapse-all": "Alle reduzieren", - "expand-all": "Alle erweitern", - "restore": "Wiederherstellen", - "copy-snippet-link": "Snippet Link kopieren" -} diff --git a/src/main/services/i18n/locales/de_DE/dialog.json b/src/main/services/i18n/locales/de_DE/dialog.json deleted file mode 100644 index 6fec4fec..00000000 --- a/src/main/services/i18n/locales/de_DE/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "Soll {{name}} wirklich permanent gelöscht werden?", - "deleteConfirmMultipleSnippets": "Sollen {{count}} ausgewählte Snippets gelöscht werden?", - "noUndo": "Dieser Vorgang kann nicht rückgängig gemacht werden.", - "allSnippetsMoveToTrash": "Alle Snippets in diesem Ordner werden in den Papierkorb verschoben.", - "deleteTag": "Hiermit werden alle Tags von den Snippets entfernt.", - "emptyTrash": "Sicher das alle Snippets permanent aus dem Papierkorb gelöscht werden sollen?", - "migrateConfirm": [ - "Möchten Sie wirklich von {{name}} migrieren?", - "Während der Migration wird die aktuelle Bibliothek überschrieben." - ], - "createDb": "Bitte anderen Ordner auswählen." -} diff --git a/src/main/services/i18n/locales/de_DE/menu.json b/src/main/services/i18n/locales/de_DE/menu.json deleted file mode 100644 index cc240537..00000000 --- a/src/main/services/i18n/locales/de_DE/menu.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "Einstellungen", - "update": { - "label": "Auf Updates prüfen...", - "message": "Version {{newVersion}} steht zum download bereit.\nAktuelle Version ist {{oldVersion}}.", - "button": [ - "Zu Github", - "OK" - ], - "noUpdate": "Es stehen aktuell keine Updates zur Verfügung." - }, - "quit": "massCode beenden", - "about": "Über massCode", - "hide": "massCode minimieren", - "hideOther": "Andere minimieren", - "showAll": "Alle anzeigen" - }, - "help": { - "label": "Hilfe", - "website": "Website", - "documentation": "Dokumentation", - "viewInGitHub": "In GitHub ansehen", - "changeLog": "Change Log", - "reportIssue": "Fehler melden", - "giveStar": "Gib einen Stern", - "extension": { - "vscode": "VS Code Erweiterung", - "raycast": "Raycast Erweiterung", - "alfred": "Alfred Erweiterung" - }, - "donate": { - "openCollective": "Spende auf Open Collective", - "payPal": "Spende via PayPal" - }, - "twitter": "Twitter", - "devTools": "Zeige Entwicklertools", - "links": { - "snippets": "Snippet Collection" - } - }, - "file": { - "label": "Datei", - "find": "Finden" - }, - "view": { - "label": "Anzeigen", - "sortBy": { - "label": "Snippets sortieren nach", - "dateModified": "Geändert am", - "dateCreated": "Erstellt am", - "name": "Name" - } - }, - "edit": { - "label": "Bearbeiten", - "undo": "Rückgängig", - "redo": "Wiederholen", - "cut": "Ausschneiden", - "copy": "Kopieren", - "paste": "Einfügen", - "delete": "Löschen", - "selectAll": "Alle auswählen" - }, - "editor": { - "label": "Editor", - "copy": "Snippet ins Clipboard kopieren", - "format": "Format", - "previewCode": "Code Vorschau", - "previewScreenshot": "Screenshot Vorschau", - "previewMarkdown": "Markdown Vorschau", - "fontSizeIncrease": "Schriftgröße erhöhen", - "fontSizeDecrease": "Schriftgröße reduzieren", - "fontSizeReset": "Schriftgröße zurücksetzen" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "Präsentationsmodus", - "preview": "Vorschau" - }, - "history": { - "label": "Verlauf", - "back": "Zurück", - "forward": "Vorwärts" - } -} diff --git a/src/main/services/i18n/locales/de_DE/special.json b/src/main/services/i18n/locales/de_DE/special.json deleted file mode 100644 index aaf28603..00000000 --- a/src/main/services/i18n/locales/de_DE/special.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "description": { - "storage": "Um Dienste wie iCloud Drive, Google Drive oder Dropbox zu nutzen, verschieben Sie die Datenbank in einen korrespondieren synchronisations Ordner", - "migrate": { - "1": "Um von massCode v1.0 zu migrieren, wählen Sie den Ordner der die Datenbank enthält aus.", - "2": "Um von SnippetsLab wählen Sie die JSON Datei aus.", - "3": [ - "Einschränkungen während der Migration von SnippetsLab:", - "Alle Ordner befinden sich auf der ersten Ebene, die JSON-Datei (< v2.1) enthält keine verschachtelten Ordner.", - "Snippets mit nicht unterstützten Sprachen werden standardmäßig auf Nur-Text gesetzt." - ] - }, - "htmlCssPreview": "Fügen Sie Fragmente mit HTML und CSS hinzu, um das Ergebnis anzuzeigen.", - "codeBlockRenderer": [ - "When using Codemirror, the language to be set for the code block must correspond to one of the values of the", - "Bei der Verwendung von Codemirror muss die einzustellende Sprache für den Codeblock einem der Werte entsprechen", - "Sprachen" - ] - }, - "success": { - "migrate": "DB erfolgreich migriert." - }, - "error": { - "folderContainDb": "Ordner enthält bereits \"db.json\".", - "folderNotContainDb": "Ordner enthält \"db.json\" nicht." - }, - "unsponsored": "Ungesponsert", - "supportMessage": "Hallo, Anton hier 👋

    \nVielen Dank für die Nutzung von massCode. Wenn Du die App hilfreich findest, dann {{-tagStart}} spende {{-tagEnd}} doch bitte. Somit kann ich das Projekt fortführen.", - "snippetsShowcase": "Snippet Beispiele" -} diff --git a/src/main/services/i18n/locales/el/common.json b/src/main/services/i18n/locales/el/common.json deleted file mode 100644 index 14a7c988..00000000 --- a/src/main/services/i18n/locales/el/common.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "button": { - "moveStorage": "Μετακίνηση Αποθηκευτικού Χώρου", - "openStorage": "Άνοιγμα Αποθηκευτικού Χώρου", - "newStorage": "Νέος Αποθηκευτικός Χώρος", - "fromMassCodeV1": "Από massCode v1.0", - "fromSnippetsLab": "Από SnippetsLab", - "confirm": "Επιβεβαίωση", - "cancel": "Ακύρωση", - "update": ["Μετάβαση στο GitHub", "Εντάξει"], - "ok": "Εντάξει" - }, - "newFolder": "Νέος Φάκελος", - "newSnippet": "Νέο Απόσπασμα", - "newFragment": "Νέο Τμήμα", - "addDescription": "Προσθήκη Περιγραφής", - "addToFavorites": "Προσθήκη στα Αγαπημένα", - "addTag": "Προσθήκη Ετικέτας", - "exportToHtml": "Εξαγωγή σε HTML", - "saveScreenshot": "Αποθήκευση Στιγμιοτύπου Οθόνης", - "rename": "Μετονομασία", - "duplicate": "Αντίγραφο", - "delete": "Διαγραφή", - "deleteNow": "Διαγραφή Τώρα", - "defaultLanguage": "Προεπιλεγμένη Γλώσσα", - "removeFromFavorites": "Αφαίρεση από τα Αγαπημένα", - "emptyTrash": "Άδειασμα Κάδου", - "close": "Κλείσιμο", - "folder": { - "untitled": "Άτιτλος φάκελος", - "plural": "Φάκελοι" - }, - "snippet": { - "untitled": "Άτιτλο Απόσπασμα", - "plural": "Αποσπάσματα", - "emptyName": "Πληκτρολογήστε ονομασία αποσπάσματος", - "selectedMultiple": "{{count}} Αποσπάσματα Επιλέχθηκαν", - "noSelected": "Δεν Επιλέχθηκε Απόσπασμα" - }, - "fragment": "Τμήμα", - "search": "Αναζήτηση", - "line": "Γραμμή", - "column": "Στήλη", - "sidebar": { - "inbox": "Εισερχόμενα", - "favorites": "Αγαπημένα", - "allSnippets": "Όλα τα Αποσπάσματα", - "trash": "Κάδος", - "untitled": "Άτιτλος φάκελος", - "folders": "Φάκελοι", - "library": "Βιβλιοθήκη", - "tags": "Ετικέτες" - }, - "darkMode": "Σκοτεινή Λειτουργία", - "background": "Φόντο", - "restartApp": "Επανεκκίνηση του massCode", - "updateAvailable": "Διαθέσιμη Ενημέρωση", - "hide": "Απόκρυψη", - "show": "Εμφάνιση", - "collapse-all": "Απόκρυψη Όλων", - "expand-all": "Εμφάνιση Όλων", - "restore": "Επαναφορά", - "copy-snippet-link": "Αντιγραφή Συνδέσμου Αποσπάσματος" -} diff --git a/src/main/services/i18n/locales/el/dialog.json b/src/main/services/i18n/locales/el/dialog.json deleted file mode 100644 index 6850a52f..00000000 --- a/src/main/services/i18n/locales/el/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "Είστε σίγουροι ότι θέλετε να διαγράψετε οριστικά το {{name}};", - "deleteConfirmMultipleSnippets": "Είστε σίγουροι ότι θέλετε να διαγράψετε οριστικά {{count}} επιλεγμένα αποσπάσματα;", - "noUndo": "Δεν μπορείτε να αναιρέσετε αυτήν την ενέργεια.", - "allSnippetsMoveToTrash": "Όλα τα αποσπάσματα σε αυτόν τον φάκελο θα μετακινηθούν στον Κάδο.", - "deleteTag": "Αυτό θα προκαλέσει επίσης την αφαίρεση αυτής της ετικέτας από όλα τα αποσπάσματα.", - "emptyTrash": "Είστε σίγουροι ότι θέλετε να διαγράψετε οριστικά όλα τα αποσπάσματα στον Κάδο;", - "migrateConfirm": [ - "Θέλετε σίγουρα να μεταφέρετε από το {{name}};", - "Κατά την μεταφορά, η παρούσα βιβλιοθήκη θα αντικατασταθεί." - ], - "createDb": "Παρακαλούμε επιλέξτε άλλο φάκελο" -} diff --git a/src/main/services/i18n/locales/el/menu.json b/src/main/services/i18n/locales/el/menu.json deleted file mode 100644 index 6981fec0..00000000 --- a/src/main/services/i18n/locales/el/menu.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "Προτιμήσεις", - "update": { - "label": "Έλεγχος για Ενημερώσεις....", - "message": "Η έκδοση {{newVersion}} είναι διαθέσιμη για λήψη.\nΗ έκδοσή σας είναι {{oldVersion}}.", - "button": ["Μεταβείτε στην Λήψη", "Εντάξει"], - "noUpdate": "Δεν υπάρχουν διαθέσιμες ενημερώσεις." - }, - "quit": "Έξοδος από το massCode", - "about": "Σχετικά με το massCode", - "hide": "Απόκρυψη του massCode", - "hideOther": "Απόκρυψη Υπολοίπων", - "showAll": "Εμφάνιση Όλων" - }, - "help": { - "label": "Βοήθεια", - "website": "Ιστότοπος", - "documentation": "Τεκμηρίωση", - "viewInGitHub": "Προβολή στο GitHub", - "changeLog": "Αρχείο Καταγραφής Αλλαγών", - "reportIssue": "Αναφορά Προβλήματος", - "giveStar": "Δώστε ένα Αστέρι", - "extension": { - "vscode": "Επέκταση VS Code", - "raycast": "Επέκταση Raycast", - "alfred": "Επέκταση Alfred" - }, - "donate": { - "openCollective": "Συνεισφέρετε στο Open Collective", - "payPal": "Συνεισφέρετε μέσω PayPal", - "gumroad": "Συνεισφέρετε μέσω Gumroad (Visa, Mastercard, κλπ.)" - }, - "twitter": "Twitter", - "devTools": "Εναλλαγή των Developer Tools", - "links": { - "snippets": "Συλλογή Αποσπασμάτων" - } - }, - "file": { - "label": "Αρχείο", - "find": "Εύρεση" - }, - "view": { - "label": "Προβολή", - "sortBy": { - "label": "Ταξινόμηση Αποκομμάτων Κατά", - "dateModified": "Ημερομηνία Τροποποίησης", - "dateCreated": "Ημερομηνία Δημιουργίας", - "name": "Ονομασία" - } - }, - "edit": { - "label": "Επεξεργασία", - "undo": "Αναίρεση", - "redo": "Επανάληψη", - "cut": "Αποκοπή", - "copy": "Αντιγραφή", - "paste": "Επικόλληση", - "delete": "Διαγραφή", - "selectAll": "Επιλογή Όλων" - }, - "editor": { - "label": "Διορθωτής", - "copy": "Αντιγραφή Αποσπάσματος στο Πρόχειρο", - "format": "Μορφοποίηση", - "previewCode": "Προεπισκόπηση Κώδικα", - "previewScreenshot": "Προεπισκόπηση Στιγμιοτύπου Οθόνης", - "previewMarkdown": "Προεπισκόπηση Markdown", - "fontSizeIncrease": "Μέγεθος Γραμματοσειράς Αύξηση", - "fontSizeDecrease": "Μέγεθος Γραμματοσειράς Μείωση", - "fontSizeReset": "Μέγεθος Γραμματοσειράς Επαναφορά" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "Λειτουργία Παρουσίασης", - "preview": "Προεπισκόπηση" - }, - "history": { - "label": "Ιστορικό", - "back": "Πίσω", - "forward": "Μπροστά" - } -} diff --git a/src/main/services/i18n/locales/el/special.json b/src/main/services/i18n/locales/el/special.json deleted file mode 100644 index c6c1c030..00000000 --- a/src/main/services/i18n/locales/el/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "Για να χρησιμοποιήσετε υπηρεσίες συγχρονισμού όπως iCloud Drive, Google Drive ή Dropbox, απλώς μεταφέρετε τον αποθηκευτικό χώρο στους αντίστοιχους συγχρονισμένους φακέλους", - "migrate": { - "1": "Για μεταφορά από το massCode v1.0 επιλέξτε τον φάκελο που περιέχει τα αρχεία της βάσης δεδομένων.", - "2": "Για μεταφορά από το SnippetsLab επιλέξτε αρχείο JSON.", - "3": [ - "Ορισμένοι Περιορισμοί. Κατά την μεταφορά από το SnippetsLab:", - "Όλοι οι φάκελοι θα είναι πρώτου επιπέδου καθώς το αρχείο JSON (κάτω από την έκδοση 2.1) δεν αντιπροσωπεύει ένθετους φακέλους.", - "Αποσπάσματα με μη υποστηριζόμενες γλώσσες θα ορίζονται ως Απλό Κείμενο (προεπιλογή)." - ] - }, - "htmlCssPreview": "Προσθέστε τμήματα με γλώσσες HTML & CSS για να δείτε αποτέλεσμα.", - "codeBlockRenderer": [ - "Όταν χρησιμοποιείτε το Codemirror, η γλώσσα που θα οριστεί για το μπλοκ κώδικα πρέπει να αντιστοιχεί σε μία από τις τιμές των", - "γλωσσών" - ] - }, - "success": { - "migrate": "Η DB μετακινήθηκε επιτυχώς." - }, - "error": { - "folderContainDb": "Ο φάκελος περιέχει ήδη το \"db.json\".", - "folderNotContainDb": "Ο φάκελος δεν περιέχει το \"db.json\"." - }, - "unsponsored": "Χωρίς Χορηγία", - "supportMessage": "Γειά, Anton εδώ 👋

    \nΕυχαριστώ που χρησιμοποιείτε το massCode. Εάν βρίσκετε αυτήν την εφαρμογή χρήσιμη, παρακαλώ {{-tagStart}} συνεισφέρετε {{-tagEnd}}. Θα με εμπνεύσει να συνεχίσω την ανάπτυξη του έργου.", - "snippetsShowcase": "Βιτρίνα Αποσπασμάτων" -} diff --git a/src/main/services/i18n/locales/en/common.json b/src/main/services/i18n/locales/en/common.json deleted file mode 100644 index 4b6f3ad5..00000000 --- a/src/main/services/i18n/locales/en/common.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "button": { - "moveStorage": "Move Storage", - "openStorage": "Open Storage", - "newStorage": "New Storage", - "reloadStorage": "Reload Storage", - "fromMassCodeV1": "From massCode v1.0", - "fromSnippetsLab": "From SnippetsLab", - "confirm": "Confirm", - "cancel": "Cancel", - "update": ["Go to GitHub", "OK"], - "ok": "OK", - "clear": "Clear", - "copy": "Copy", - "sort": "Sort", - "revers": "Revers", - "generate": "Generate", - "saveAs": "Save as", - "zoomIn": "Zoom In", - "zoomOut": "Zoom Out", - "fit": "Fit" - }, - "newFolder": "New Folder", - "newSnippet": "New Snippet", - "newFragment": "New Fragment", - "addDescription": "Add Description", - "addToFavorites": "Add to Favorites", - "addTag": "Add Tag", - "exportToHtml": "Export to HTML", - "rename": "Rename", - "duplicate": "Duplicate", - "delete": "Delete", - "deleteNow": "Delete Now", - "defaultLanguage": "Default Language", - "removeFromFavorites": "Remove from Favorites", - "emptyTrash": "Empty Trash", - "close": "Close", - "folder": { - "untitled": "Untitled folder", - "plural": "Folders" - }, - "snippet": { - "untitled": "Untitled snippet", - "plural": "Snippets", - "emptyName": "Type snippet name", - "selectedMultiple": "{{count}} Snippets Selected", - "noSelected": "No Snippet Selected" - }, - "fragment": "Fragment", - "search": "Search", - "line": "Line", - "column": "Column", - "sidebar": { - "inbox": "Inbox", - "favorites": "Favorites", - "allSnippets": "All Snippets", - "trash": "Trash", - "untitled": "Untitled folder", - "folders": "Folders", - "library": "Library", - "tags": "Tags" - }, - "darkMode": "Dark Mode", - "background": "Background", - "restartApp": "Restart massCode", - "updateAvailable": "Update Available", - "hide": "Hide", - "show": "Show", - "collapse-all": "Collapse All", - "expand-all": "Expand All", - "restore": "Restore", - "copy-snippet-link": "Copy Snippet Link", - "set-custom-icon": "Set Custom Icon" -} diff --git a/src/main/services/i18n/locales/en/devtools.json b/src/main/services/i18n/locales/en/devtools.json deleted file mode 100644 index d1a0bd51..00000000 --- a/src/main/services/i18n/locales/en/devtools.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "form": { - "inputString": "Input String", - "outputString": "Output String", - "inputUrl": "Input URL", - "outputUrl": "Output URL", - "parsedUrl": "Parsed URL", - "splitQueryString": "Split Query String", - "key": "Key", - "value": "Value", - "component": "Component", - "result": "Result", - "secretKey": "Secret Key", - "algorithm": "Algorithm", - "version": "Version", - "amount": "Amount", - "type": "Type", - "length": "Length", - "options": "Options", - "numbers": "Numbers", - "symbols": "Symbols", - "lowercase": "Lowercase", - "uppercase": "Uppercase" - }, - "textTools": { - "label": "Text Tools", - "caseConverter": "Case Converter", - "urlParser": "URL Parser", - "slugGenerator": "Slug Generator", - "sortLines": "Sort Lines" - }, - "crypto": { - "label": "Cryptography / Security", - "hashGenerator": "Hash Generator", - "hmacGenerator": "HMAC Generator", - "passGenerator": "Password Generator", - "uuidGenerator": "UUID Generator" - }, - "encodeDecode": { - "label": "Encoders / Decoders", - "url": "URL Encoder / Decoder", - "base64": "Base64 Encoder / Decoder" - } -} diff --git a/src/main/services/i18n/locales/en/dialog.json b/src/main/services/i18n/locales/en/dialog.json deleted file mode 100644 index e5087f0f..00000000 --- a/src/main/services/i18n/locales/en/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "Are you sure you want to permanently delete {{name}}?", - "deleteConfirmMultipleSnippets": "Are you sure you want to permanently delete {{count}} selected snippets?", - "noUndo": "You cannot undo this action.", - "allSnippetsMoveToTrash": "All snippets in this folder will be moved to trash.", - "deleteTag": "This will also cause all snippets to have that tag removed.", - "emptyTrash": "Are you sure you want to permanently delete all snippets in Trash?", - "migrateConfirm": [ - "Are you sure you want to migrate from {{name}}?", - "During migrate, the current library will be overwritten." - ], - "createDb": "Please select another folder" -} diff --git a/src/main/services/i18n/locales/en/special.json b/src/main/services/i18n/locales/en/special.json deleted file mode 100644 index d360c177..00000000 --- a/src/main/services/i18n/locales/en/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "To use sync services like iCloud Drive, Google Drive or Dropbox, simply move storage to the corresponding synced folders", - "migrate": { - "1": "To migrate from massCode v1.0 select the folder containing the database files.", - "2": "To migrate from SnippetsLab select JSON file.", - "3": [ - "Some Limitations. During migration from SnippetsLab:", - "All folders will be first level as JSON file (below v2.1) does not represent nested folders.", - "Snippets with unsupported languages will be set to default Plain Text." - ] - }, - "htmlCssPreview": "Add fragments with HTML & CSS languages to view result.", - "codeBlockRenderer": [ - "When using Codemirror, the language to be set for the code block must correspond to one of the values of the", - "languages" - ] - }, - "success": { - "migrate": "DB successfully migrated." - }, - "error": { - "folderContainDb": "Folder already contain \"db.json\".", - "folderNotContainDb": "Folder not contain \"db.json\"." - }, - "unsponsored": "Unsponsored", - "supportMessage": "Hi, Anton here 👋

    \nThanks for using massCode. If you find this app useful, please {{-tagStart}} donate {{-tagEnd}}. It will inspire me to continue development on the project.", - "snippetsShowcase": "Snippets Showcase" -} diff --git a/src/main/services/i18n/locales/es_ES/common.json b/src/main/services/i18n/locales/es_ES/common.json deleted file mode 100644 index 50389d22..00000000 --- a/src/main/services/i18n/locales/es_ES/common.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "button": { - "moveStorage": "Mover Almacenamiento", - "openStorage": "Abrir Almacenamiento", - "fromMassCodeV1": "Desde massCode v1.0", - "fromSnippetsLab": "Hacia SnippetsLab", - "confirm": "Confirmar", - "cancel": "Cancelar", - "update": ["Ir a GitHub", "OK"] - }, - "newFolder": "Nueva Carpeta", - "newSnippet": "Nuevo Snippet", - "newFragment": "Nuevo Fragmento", - "addDescription": "Agregar Descripción", - "addToFavorites": "Agregar a Favoritos", - "addTag": "Agregar Etiqueta", - "saveScreenshot": "Guardar Captura", - "exportToHtml": "Exportar HTML", - "rename": "Renombrar", - "duplicate": "Duplicar", - "delete": "Eliminar", - "deleteNow": "Eliminar Ahora", - "defaultLanguage": "Language Predeterminado", - "removeFromFavorites": "Eliminar de Favoritos", - "emptyTrash": "Vaciar Papelera", - "close": "Cerrar", - "folder": { - "untitled": "Sin nombre", - "plural": "Carpetas" - }, - "snippet": { - "untitled": "Snippet sin nombre", - "plural": "Snippets", - "emptyName": "Escribe el nombre del snippet", - "selectedMultiple": "{{count}} Snippets Seleccionados", - "noSelected": "No hay Snippet Seleccionado" - }, - "fragment": "Fragmento", - "search": "Buscar", - "line": "Línea", - "column": "Columna", - "sidebar": { - "inbox": "Inbox", - "favorites": "Favoritos", - "allSnippets": "Todos los Snippets", - "trash": "Papelera", - "untitled": "Carpeta sin nombre", - "folders": "Carpetas", - "library": "Librería", - "tags": "Etiquetas" - }, - "darkMode": "Modo Oscuro", - "background": "Fondo", - "restartApp": "Reiniciar massCode", - "updateAvailable": "Actualización Disponible", - "hide": "Ocultar", - "show": "Mostrar" -} diff --git a/src/main/services/i18n/locales/es_ES/dialog.json b/src/main/services/i18n/locales/es_ES/dialog.json deleted file mode 100644 index f97c6e9d..00000000 --- a/src/main/services/i18n/locales/es_ES/dialog.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "deleteConfirm": "¿Estas seguro que quieres eliminar de forma permanente {{name}}?", - "deleteConfirmMultipleSnippets": "¿Estas seguro de que quieres eliminar de forma permanente los {{count}} snippets seleccionados?", - "noUndo": "Esta acción no se puede deshacer.", - "allSnippetsMoveToTrash": "Todos los snippets en esta carpeta se enviarán a la papelera.", - "deleteTag": "Esto también causará que todos los snippets pierdan sus etiquetas.", - "emptyTrash": "¿Estás seguro que quieres eliminar todas los snippets de la Papelera?", - "migrateConfirm": [ - "¿Estás seguro que quieres migrar desde {{name}}?", - "Durante la migración se sobrescribirá la librería actual." - ] -} diff --git a/src/main/services/i18n/locales/es_ES/menu.json b/src/main/services/i18n/locales/es_ES/menu.json deleted file mode 100644 index e561092a..00000000 --- a/src/main/services/i18n/locales/es_ES/menu.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "Preferencias", - "update": { - "label": "Buscar actualizaciones....", - "message": "La versión {{newVersion}} está disponible para descargar.\nTu versión actual es {{oldVersion}}.", - "button": ["Ir a Descarga", "OK"], - "noUpdate": "No hay actualizaciones disponibles." - }, - "quit": "Salir de massCode", - "about": "Acerca de massCode", - "hide": "Ocultar massCode", - "hideOther": "Ocultar Otros", - "showAll": "Mostrar Todo" - }, - "help": { - "label": "Ayuda", - "website": "Sitio Web", - "documentation": "Documentación", - "viewInGitHub": "Ver en GitHub", - "changeLog": "Log de Cambios", - "reportIssue": "Reportar un Problema", - "giveStar": "Dar una Estrella", - "extension": { - "vscode": "Extensión para VS Code", - "raycast": "Extensión para Raycast", - "alfred": "Extensión para Alfred" - }, - "donate": { - "openCollective": "Donar en Open Collective", - "payPal": "Donar a través de PayPal" - }, - "twitter": "Twitter", - "devTools": "Abrir Herramientas de Desarrollador" - }, - "file": { - "label": "Archivo", - "find": "Buscar" - }, - "view": { - "label": "Ver", - "sortBy": { - "label": "Ordenar Snippets por", - "dateModified": "Fecha de Modificación", - "dateCreated": "Fecha de Creación", - "name": "Nombre" - } - }, - "edit": { - "label": "Editar", - "undo": "Deshacer", - "redo": "Rehacer", - "cut": "Cortar", - "copy": "Copiar", - "paste": "Pegar", - "delete": "Borrar", - "selectAll": "Seleccionar Todo" - }, - "editor": { - "label": "Editor", - "copy": "Copiar Snippet al Portapapeles", - "format": "Formato", - "previewMarkdown": "", - "previewCode": "Previsualizar Código", - "previewScreenshot": "Previsualizar Captura de Pantalla" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "Presentation Mode", - "preview": "Preview" - } -} diff --git a/src/main/services/i18n/locales/es_ES/special.json b/src/main/services/i18n/locales/es_ES/special.json deleted file mode 100644 index 98340b2b..00000000 --- a/src/main/services/i18n/locales/es_ES/special.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "description": { - "storage": "Para usar servicios de sincronización como iCloud Drive, Google Drive o Dropbox, simplemente mueva el almacenamiento a sus carpetas sincronizadas.", - "migrate": { - "1": "Para migrar desde massCode v1.0, seleccione la carpeta que contiene los archivos de la base de datos.", - "2": "Para migrar desde SnippetsLab, seleccione el archivo JSON.", - "3": [ - "Algunas limitaciones. Durante la migration desde SnippetsLab:", - "Todas las carpetas serán de primer nivel ya que el archivo JSON (por debajo de v2.1) no representa carpetas anidadas.", - "Los snippets con idiomas no admitidos se configurarán como Texto sin formato." - ] - }, - "htmlCssPreview": "Agregue snippets con lenguajes HTML y CSS para ver el resultado." - }, - "success": { - "migrate": "Base de datos migrada con éxito." - }, - "error": { - "folderNotContainDb": "La carpeta no contiene \"db.json\"." - }, - "unsponsored": "Sin Patrocinar", - "supportMessage": "Hola, soy Anton 👋

    \nGracias por usar massCode. Si encuentras útil esta aplicación, por favor {{-tagStart}} dona {{-tagEnd}}. Me inspirará a continuar desarrollando este proyecto.", - "snippetsShowcase": "Muestra de Snippets" -} diff --git a/src/main/services/i18n/locales/fa_IR/common.json b/src/main/services/i18n/locales/fa_IR/common.json deleted file mode 100644 index 428dc4b4..00000000 --- a/src/main/services/i18n/locales/fa_IR/common.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "button": { - "moveStorage": "انتقال فضای ذخیره‌سازی", - "openStorage": "بازکردن فضای ذخیره‌سازی", - "newStorage": "فضای ذخیره‌سازی جدید", - "reloadStorage": "تازه‌سازی فضای ذخیره‌سازی", - "fromMassCodeV1": "از massCode v1.0", - "fromSnippetsLab": "از SnippetsLab", - "confirm": "تایید", - "cancel": "انصراف", - "update": ["برو به گیت‌هاب", "باشه"], - "ok": "باشه", - "clear": "پاک‌سازی", - "copy": "رونویسی", - "sort": "مرتب‌سازی", - "revers": "معکوس", - "generate": "تولید", - "saveAs": "ذخیره به‌عنوان", - "zoomIn": "بزرگ‌نمایی", - "zoomOut": "کوچک‌نمایی", - "fit": "فیت" - }, - "newFolder": "پوشه جدید", - "newSnippet": "اسنیپت جدید", - "newFragment": "فرگمنت جدید", - "addDescription": "افزودن توضیحات", - "addToFavorites": "افزودن به علاقه‌مندی‌ها", - "addTag": "افزودن برچسب", - "exportToHtml": "استخراج به HTML", - "rename": "تغییرنام", - "duplicate": "رونویسی", - "delete": "حذف", - "deleteNow": "اکنون حذف کنید", - "defaultLanguage": "زبان پیش‌فرض", - "removeFromFavorites": "حذف از علاقه‌مندی‌ها", - "emptyTrash": "پاک‌سازی زباله‌دان", - "close": "بستن", - "folder": { - "untitled": "پوشه بدون نام", - "plural": "پوشه‌ها" - }, - "snippet": { - "untitled": "اسنیپت بدون نام", - "plural": "اسنیپت‌ها", - "emptyName": "نام اسنیپت را بنویسید", - "selectedMultiple": "{{count}} اسنیپت انتخاب شده", - "noSelected": "هیچ اسنیپتی انتخاب نشده" - }, - "fragment": "فرگمنت", - "search": "جستجو", - "line": "خط", - "column": "ستون", - "sidebar": { - "inbox": "صندوق ورودی", - "favorites": "علاقه‌مندی‌ها", - "allSnippets": "همه اسنیپت‌ها", - "trash": "زباله‌دان", - "untitled": "پوشه بدون نام", - "folders": "پوشه‌ها", - "library": "کتابخانه", - "tags": "برچسب‌ها" - }, - "darkMode": "حالت تیره", - "background": "پس‌زمینه", - "restartApp": "راه‌اندازی دوباره massCode", - "updateAvailable": "به‌روزرسانی دردسترس است", - "hide": "پنهان‌شدن", - "show": "نمایش", - "collapse-all": "جمع‌کردن همه", - "expand-all": "گسترش همه", - "restore": "بازیابی", - "copy-snippet-link": "رونویسی پیوند اسنیپت", - "set-custom-icon": "تنظیم نماد سفارشی" -} diff --git a/src/main/services/i18n/locales/fa_IR/devtools.json b/src/main/services/i18n/locales/fa_IR/devtools.json deleted file mode 100644 index c24ad498..00000000 --- a/src/main/services/i18n/locales/fa_IR/devtools.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "form": { - "inputString": "رشته ورودی", - "outputString": "رشته خروجی", - "inputUrl": "نشانی ورودی", - "outputUrl": "نشانی خروجی", - "parsedUrl": "نشانی تجزیه‌شده", - "splitQueryString": "تقسیم رشته پرس‌وجو", - "key": "کلید", - "value": "مقدار", - "component": "کامپوننت", - "result": "نتیجه", - "secretKey": "کلید پنهان", - "algorithm": "الگوریتم", - "version": "نگارش", - "amount": "تعداد", - "type": "نوع", - "length": "طول", - "options": "گزینه‌ها", - "numbers": "شماره‌ها", - "symbols": "نمادها", - "lowercase": "حروف کوچک", - "uppercase": "حروف بزرگ" - }, - "textTools": { - "label": "ابزارهای متن", - "caseConverter": "مبدل حروف کوچک/بزرگ", - "urlParser": "تجزیه‌کننده نشانی", - "slugGenerator": "سازنده نامک", - "sortLines": "مرتب‌سازی خط‌ها" - }, - "crypto": { - "label": "کریپتوگرافی / امنیت", - "hashGenerator": "سازنده Hash", - "hmacGenerator": "سازنده HMAC", - "passGenerator": "سازنده گذرواژه", - "uuidGenerator": "سازنده UUID" - }, - "encodeDecode": { - "label": "کدگذارها / کدگشاها", - "url": "کدگذاری / کدگشایی نشانی", - "base64": "کدگذاری / کدگشایی Base64" - } -} diff --git a/src/main/services/i18n/locales/fa_IR/dialog.json b/src/main/services/i18n/locales/fa_IR/dialog.json deleted file mode 100644 index 34b594d6..00000000 --- a/src/main/services/i18n/locales/fa_IR/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "آیا مطمئنید که می‌خواهید {{name}} را برای همیشه حذف کنید؟", - "deleteConfirmMultipleSnippets": "آیا مطمئنید که می‌خواهید {{count}} اسنیپت انتخاب‌شده را برای همیشه حذف کنید؟", - "noUndo": "شما نمی‌توانید این کنش را واگرد کنید.", - "allSnippetsMoveToTrash": "همه اسنیپت‌های این پوشه به زباله‌دان منتقل می‌شوند.", - "deleteTag": "این هم‌چنین باعث می‌شود که تمام اسنیپت‌هایی که آن برچسب را دارند نیز حذف شوند.", - "emptyTrash": "آیا مطمئنید که می‌خواهید همه اسنیپت‌ها در زباله‌دان را برای همیشه حذف کنید؟", - "migrateConfirm": [ - "آیا مطمئنید که می‌خواهید از {{name}} مهاجرت کنید؟", - "در هنگام انتقال، کتابخانه فعلی رونویسی خواهد شد." - ], - "createDb": "لطفا پوشه دیگری را انتخاب کنید" -} diff --git a/src/main/services/i18n/locales/fa_IR/menu.json b/src/main/services/i18n/locales/fa_IR/menu.json deleted file mode 100644 index 81059ba7..00000000 --- a/src/main/services/i18n/locales/fa_IR/menu.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "تنظیمات", - "update": { - "label": "بررسی برای به‌روزرسانی‌ها....", - "message": "نگارش {{newVersion}} اکنون برای دریافت در دسترس است.\nنگارش شما {{oldVersion}} است.", - "button": ["برو به دریافت", "باشه"], - "noUpdate": "درحال حاضر هیچ به‌روزرسانی در دسترس نیست." - }, - "quit": "خروج از massCode", - "about": "درباره massCode", - "hide": "پنهان‌کردن massCode", - "hideOther": "پنهان‌کردن دیگران", - "showAll": "نمایش همه" - }, - "help": { - "label": "کمک", - "website": "وب‌سایت", - "documentation": "مستندات", - "viewInGitHub": "مشاهده در گیت‌هاب", - "changeLog": "تغییرات", - "reportIssue": "گزارش مشکل", - "giveStar": "ستاره بدهید", - "extension": { - "vscode": "افزونه VS Code", - "raycast": "افزونه Raycast", - "alfred": "افزونه Alfred" - }, - "donate": { - "openCollective": "کمک مالی در Open Collective", - "payPal": "کمک مالی از طریق PayPal", - "gumroad": "کمک مالی از طریق Gumroad (ویزا، مسترکارت و غیره)" - }, - "twitter": "توییتر", - "devTools": "ابزارهای توسعه‌دهنده", - "links": { - "snippets": "مجموعه اسنیپت" - } - }, - "file": { - "label": "پرونده", - "find": "یافتن" - }, - "view": { - "label": "نمایش", - "sortBy": { - "label": "مرتب‌سازی اسنیپت‌ها براساس", - "dateModified": "تاریخ ویرایش", - "dateCreated": "تاریخ ساخت", - "name": "نام" - }, - "hideSubfolderSnippets": "پنهان‌کردن اسنیپت‌های زیرپوشه", - "compactMode": "حالت فشرده" - }, - "edit": { - "label": "ویرایش", - "undo": "واگرد", - "redo": "انجام دوباره", - "cut": "برش", - "copy": "رونویسی", - "paste": "جای‌گذاری", - "delete": "حذف", - "selectAll": "انتخاب همه" - }, - "editor": { - "label": "ویرایشگر", - "copy": "رونویسی اسنیپت در بریده‌دان", - "format": "قالب", - "previewCode": "پیش‌نمایش کد", - "previewScreenshot": "پیش‌نمایش اسکرین‌شات", - "previewMarkdown": "پیش‌نمایش Markdown", - "previewMindmap": "پیش‌نمایش Mindmap", - "fontSizeIncrease": "افزایش اندازه فونت", - "fontSizeDecrease": "کاهش اندازه فونت", - "fontSizeReset": "بازتنظیم اندازه فونت" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "حالت ارائه", - "preview": "پیش‌نمایش" - }, - "history": { - "label": "تاریخچه", - "back": "بازگشت", - "forward": "به‌جلو" - }, - "devtools": { - "label": "ابزارهای توسعه‌دهنده" - } -} diff --git a/src/main/services/i18n/locales/fa_IR/preferences.json b/src/main/services/i18n/locales/fa_IR/preferences.json deleted file mode 100644 index 2594ad2a..00000000 --- a/src/main/services/i18n/locales/fa_IR/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "تنظیمات", - "storage": { - "label": "فضای ذخیره‌سازی", - "migrate": "مهاجرت", - "count": "تعداد" - }, - "editor": { - "label": "ویرایشگر", - "fontSize": "اندازه فونت", - "fontFamily": "خانواده فونت", - "wrap": { - "label": "بسته‌بندی (Wrap)", - "wordWrap": "بسته‌بندی واژگان", - "off": "خاموش" - }, - "tabSize": "اندازه زبانه", - "showInvisibles": "نمایش نامرئی‌ها", - "highlightLine": "برجسته‌کردن خط", - "highlightGutter": "Highlight Gutter", - "matchBrackets": "مطابقت براکت‌ها", - "prettier": { - "label": "زیباتر", - "trailingComma": { - "label": "کاما دنباله‌دار", - "none": "هیچ", - "all": "همه", - "es5": "ES5" - }, - "semi": "نیمه", - "singleQuote": "نقل قول تک" - } - }, - "appearance": { - "label": "ظاهر", - "theme": { - "label": "پوسته", - "light": "روشن", - "dark": "تیره" - } - }, - "language": { - "label": "زبان" - }, - "markdown": { - "label": "Markdown", - "codeRenderer": "رندرکننده بلاک کد" - } -} diff --git a/src/main/services/i18n/locales/fa_IR/special.json b/src/main/services/i18n/locales/fa_IR/special.json deleted file mode 100644 index b4ec538c..00000000 --- a/src/main/services/i18n/locales/fa_IR/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "برای استفاده از سرویس‌های هم‌گام‌سازی مانند آی‌کلود درایو، گوگل‌درایو یا دراپ‌باکس، به‌سادگی فضای ذخیره‌سازی را به پوشه‌های هم‌گام‌سازی‌شده مربوطه منتقل کنید", - "migrate": { - "1": "برای مهاجرت از massCode v1.0 پوشه دارای پرونده‌های پایگاه داده را انتخاب کنید.", - "2": "برای مهاجرت از SnippetsLab پرونده JSON را انتخاب کنید.", - "3": [ - "برخی محدودیت‌ها در هنگام مهاجرت از SnippetsLab:", - "همه پوشه‌ها سطح اول خواهند بود زیرا پرونده JSON (زیر نگارش ۲٫۱) پوشه‌های تودرتو را نشان نمی‌دهد.", - "اسنیپت‌هایی با زبان‌های پشتیبانی‌نشده رو متن ساده پیش‌فرض تنظیم می‌شوند." - ] - }, - "htmlCssPreview": "برای دیدن نتیجه، فرگمنت‌هایی را با زبان‌های HTML و CSS اضافه کنید.", - "codeBlockRenderer": [ - "هنگام استفاده از Codemirror، زبانی که برای بلوک کد تنظیم می‌شود باید با یکی از مقادیر زبان‌ها مطابقت داشته باشد:", - "زبان‌های پشتیبانی‌شده" - ] - }, - "success": { - "migrate": "پایگاه داده با موفقیت منتقل شد." - }, - "error": { - "folderContainDb": "پوشه از قبل دارای \"db.json\" است.", - "folderNotContainDb": "پوشه دارای \"db.json\" نیست." - }, - "unsponsored": "بدون حمایت", - "supportMessage": "سلام، اینجا آنتون هستم 👋

    \nاز استفاده از massCode متشکرم. اگر این برنامه را مفید می‌یابید، لطفاً {{-tagStart}} کمک مالی {{-tagEnd}} کنید. این باعث می‌شود تا من برای ادامه توسعه پروژه، الهام بگیرم.", - "snippetsShowcase": "ویترین اسنیپت‌ها" -} diff --git a/src/main/services/i18n/locales/fr_FR/common.json b/src/main/services/i18n/locales/fr_FR/common.json deleted file mode 100644 index 91737a1a..00000000 --- a/src/main/services/i18n/locales/fr_FR/common.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "button": { - "moveStorage": "Déplacer le Stockage", - "openStorage": "Ouvrir le Stockage", - "newStorage": "Nouveau Stockage", - "reloadStorage": "Recharger le Stockage", - "fromMassCodeV1": "Depuis massCode v1.0", - "fromSnippetsLab": "Depuis SnippetsLab", - "confirm": "Confirmer", - "cancel": "Annuler", - "update": ["Aller vers GitHub", "OK"], - "ok": "OK", - "clear": "Effacer", - "copy": "Copier", - "sort": "Trier", - "revers": "Retour arrière", - "generate": "Générer" - }, - "newFolder": "Nouveau dossier", - "newSnippet": "Nouvel extrait", - "newFragment": "Nouveau Fragment", - "addDescription": "Ajouter description", - "addToFavorites": "Ajouter aux favoris", - "addTag": "Ajouter une étiquette", - "exportToHtml": "Exporter en HTML", - "saveScreenshot": "Sauvegarder copie d'écran", - "rename": "Renommer", - "duplicate": "Dupliquer", - "delete": "Effacer", - "deleteNow": "Effacer maintenant", - "defaultLanguage": "Langage par défaut", - "removeFromFavorites": "Enlever des favoris", - "emptyTrash": "vider la poubelle", - "close": "Fermer", - "folder": { - "untitled": "Dossier sans titre", - "plural": "Dossiers" - }, - "snippet": { - "untitled": "Extrait sans titre", - "plural": "Extraits", - "emptyName": "Tapez le nom de l'extrait", - "selectedMultiple": "{{count}} extraits sélectionnés", - "noSelected": "Pas d'extrait sélectionné" - }, - "fragment": "Fragment", - "search": "Recherche", - "line": "Ligne", - "column": "Colonne", - "sidebar": { - "inbox": "Boîte de réception", - "favorites": "Favoris", - "allSnippets": "Tous les extraits", - "trash": "Poubelle", - "untitled": "Dossier sans titre", - "folders": "Dossiers", - "library": "Bibliothèque", - "tags": "Etiquettes" - }, - "darkMode": "Mode sombre", - "background": "Arrière plan", - "restartApp": "Redémarrer massCode", - "updateAvailable": "Mise à jour disponible", - "hide": "Cacher", - "show": "Montrer", - "collapse-all": "Tout Réduire", - "expand-all": "Tout étendre", - "restore": "Restaurer", - "copy-snippet-link": "Copier lien extrait", - "set-custom-icon": "Définir une icône personnalisée" -} diff --git a/src/main/services/i18n/locales/fr_FR/devtools.json b/src/main/services/i18n/locales/fr_FR/devtools.json deleted file mode 100644 index f39a033f..00000000 --- a/src/main/services/i18n/locales/fr_FR/devtools.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "form": { - "inputString": "Chaîne d'entrée", - "outputString": "Chaîne de sortie", - "inputUrl": "URL d'entrée", - "outputUrl": "URL de sortie", - "parsedUrl": "URL analysée", - "splitQueryString": "Fractionner la chaîne de requête", - "key": "Clef", - "value": "Valeur", - "component": "Composant", - "result": "Résultat", - "secretKey": "Clef secrète", - "algorithm": "Algorithme", - "version": "Version", - "amount": "Montant", - "type": "Type", - "length": "Longueur", - "options": "Options", - "numbers": "Nombres", - "symbols": "Symboles", - "lowercase": "Minuscule", - "uppercase": "Majuscule" - }, - "textTools": { - "label": "Outils de texte", - "caseConverter": "Convertisseur de casse", - "urlParser": "Analyseur URL", - "slugGenerator": "Générateur Slug", - "sortLines": "Trier lignes" - }, - "crypto": { - "label": "Cryptographie / Sécurité", - "hashGenerator": "Générateur de Hash", - "hmacGenerator": "Générateur de HMAC", - "passGenerator": "Générateur de mot de passe", - "uuidGenerator": "Générateur de UUID" - }, - "encodeDecode": { - "label": "Encodeurs / Décodeurs", - "url": "Encodeurs / Décodeurs URL", - "base64": "Encodeurs / Décodeurs Base64" - } -} diff --git a/src/main/services/i18n/locales/fr_FR/dialog.json b/src/main/services/i18n/locales/fr_FR/dialog.json deleted file mode 100644 index 5b39693f..00000000 --- a/src/main/services/i18n/locales/fr_FR/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "Etes-vous sûr de vouloir effacer de façon permanente {{name}}?", - "deleteConfirmMultipleSnippets": "Etes-vous sûr de vouloir effacer de façon permanente {{count}} extraits sélectionnés ?", - "noUndo": "vous ne pouvez pas annuler cette action.", - "allSnippetsMoveToTrash": "Tous les extraits de ce dossier seront déplacés vers la corbeille.", - "deleteTag": "Cette étiquette sera également supprimée de tous les extraits.", - "emptyTrash": "Êtes-vous sûr de vouloir supprimer définitivement tous les extraits dans la corbeille ?", - "migrateConfirm": [ - "Êtes-vous sûr de vouloir migrer de {{name}}?", - "Lors de la migration, la bibliothèque actuelle sera écrasée." - ], - "createDb": "Veuillez sélectionner un autre dossier" -} diff --git a/src/main/services/i18n/locales/fr_FR/menu.json b/src/main/services/i18n/locales/fr_FR/menu.json deleted file mode 100644 index 4fc094c4..00000000 --- a/src/main/services/i18n/locales/fr_FR/menu.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "Préférences", - "update": { - "label": "Vérifier mise à jour ...", - "message": "La version {{newVersion}} est maintenant disponible au téléchargement.\nVotre version est la {{oldVersion}}.", - "button": ["Allez au téléchargement", "OK"], - "noUpdate": "Il n'y a actuellement aucune mise à jour disponible." - }, - "quit": "Quitter massCode", - "about": "A propos de massCode", - "hide": "Cacher massCode", - "hideOther": "Cacher les autres", - "showAll": "Tout montrer" - }, - "help": { - "label": "Aide", - "website": "Site web", - "documentation": "Documentation", - "viewInGitHub": "Voir dans GitHub", - "changeLog": "Log des changements", - "reportIssue": "Rapporter un problème", - "giveStar": "Donner une étoile", - "extension": { - "vscode": "Extension VS Code", - "raycast": "Extension Raycast", - "alfred": "Extension Alfred" - }, - "donate": { - "openCollective": "Faire une donation à un collectif ouvert (Open)", - "payPal": "Faire une donation via PayPal", - "gumroad": "Faire une donation via Gumroad (Visa, Mastercard, etc.)" - }, - "twitter": "Twitter", - "devTools": "Basculer vers les outils développeurs", - "links": { - "snippets": "Collection d'extraits" - } - }, - "file": { - "label": "Fichier", - "find": "Trouver" - }, - "view": { - "label": "Affichage", - "sortBy": { - "label": "Trier les extraits par", - "dateModified": "Date modifiée", - "dateCreated": "Date de création", - "name": "Nom" - }, - "hideSubfolderSnippets": "Masquer les sous-dossier des extraits", - "compactMode": "Mode compacté" - }, - "edit": { - "label": "Edition", - "undo": "Annuler", - "redo": "Refaire", - "cut": "Couper", - "copy": "Copier", - "paste": "Coller", - "delete": "Effacer", - "selectAll": "Tout sélectionner" - }, - "editor": { - "label": "Editeur", - "copy": "Copier extrait vers presse-papier", - "format": "Formatter", - "previewCode": "Prévisualisation Code", - "previewScreenshot": "Prévisualisation copie écran", - "previewMarkdown": "Prévisualisation Markdown", - "fontSizeIncrease": "Augmentation taille police", - "fontSizeDecrease": "Diminution taille police", - "fontSizeReset": "Réinitialisation taille police" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "Mode présentation", - "preview": "Prévisualisation" - }, - "history": { - "label": "Historique", - "back": "Retour arrière", - "forward": "Avance" - }, - "devtools": { - "label": "Outils développeur" - } -} diff --git a/src/main/services/i18n/locales/fr_FR/preferences.json b/src/main/services/i18n/locales/fr_FR/preferences.json deleted file mode 100644 index e6e41a59..00000000 --- a/src/main/services/i18n/locales/fr_FR/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "Préférences", - "storage": { - "label": "Stockage", - "migrate": "Migration", - "count": "Compteur" - }, - "editor": { - "label": "Edition", - "fontSize": "Taille police de caractères", - "fontFamily": "Famille de polices", - "wrap": { - "label": "Enveloppage", - "wordWrap": "Retour à la ligne", - "off": "inactif" - }, - "tabSize": "Taille des onglets", - "showInvisibles": "Montrer les invisibles", - "highlightLine": "Mettre une ligne en surbrillance", - "highlightGutter": "Mise en évidence de la gouttière", - "matchBrackets": "Support des accolades", - "prettier": { - "label": "Plus jolie", - "trailingComma": { - "label": "Virgule à la fin", - "none": "Aucune", - "all": "toutes", - "es5": "ES5" - }, - "semi": "Semi", - "singleQuote": "Apostrophe" - } - }, - "appearance": { - "label": "Apparence", - "theme": { - "label": "Thème", - "light": "Clair", - "dark": "Sombre" - } - }, - "language": { - "label": "Langage" - }, - "markdown": { - "label": "Markdown", - "codeRenderer": "Bloc de code Renderer" - } -} diff --git a/src/main/services/i18n/locales/fr_FR/special.json b/src/main/services/i18n/locales/fr_FR/special.json deleted file mode 100644 index 39e53a14..00000000 --- a/src/main/services/i18n/locales/fr_FR/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "Pour utiliser des services de synchronisation comme iCloud Drive, Google Drive ou Dropbox, il suffit de déplacer le stockage vers les dossiers synchronisés correspondants", - "migrate": { - "1": "Pour migrer à partir de massCode v1.0, sélectionnez le dossier contenant les fichiers de la base de données.", - "2": "Pour migrer depuis SnippetsLab, sélectionnez le fichier JSON.", - "3": [ - "Quelques limitations. Lors de la migration de SnippetsLab :", - "Tous les dossiers seront de premier niveau car le fichier JSON (inférieur à la version 2.1) ne représente pas les dossiers imbriqués.", - "Les extraits dont la langue n'est pas prise en charge seront définis comme du texte brut par défaut." - ] - }, - "htmlCssPreview": "Ajouter des fragments avec les langages HTML et CSS pour voir le résultat.", - "codeBlockRenderer": [ - "Lors de l'utilisation de Codemirror, le langage à définir pour le bloc de code doit correspondre à l'une des valeurs des", - "langages" - ] - }, - "success": { - "migrate": "Migration réussie de la base de données." - }, - "error": { - "folderContainDb": "Le dossier contient déjà \"db.json\".", - "folderNotContainDb": "Dossier ne contenant pas \"db.json\"." - }, - "unsponsored": "Non sponsorisé", - "supportMessage": "Bonjour, ici Anton 👋

    \nMerci d'avoir utilisé massCode. Si vous trouvez cette application utile, veuillez {{-tagStart}} donate {{-tagEnd}}. Cela m'incitera à poursuivre le développement du projet.", - "snippetsShowcase": "Vitrine des extraits" -} diff --git a/src/main/services/i18n/locales/ja_JP/common.json b/src/main/services/i18n/locales/ja_JP/common.json deleted file mode 100644 index 6bc7a1e3..00000000 --- a/src/main/services/i18n/locales/ja_JP/common.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "button": { - "moveStorage": "ストレージを移動", - "openStorage": "ストレージを開く", - "newStorage": "新規ストレージ", - "fromMassCodeV1": "massCode v1.0から", - "fromSnippetsLab": "SnippetsLabから", - "confirm": "OK", - "cancel": "キャンセル", - "update": ["GitHubへ", "OK"], - "ok": "OK" - }, - "newFolder": "新規フォルダ", - "newSnippet": "新規スニペット", - "newFragment": "新規フラグメント", - "addDescription": "説明を追加", - "addToFavorites": "お気に入りに追加", - "addTag": "タグを追加", - "exportToHtml": "HTMLにエキスポート", - "saveScreenshot": "スクリーンショットを保存", - "rename": "名前変更", - "duplicate": "複製", - "delete": "削除", - "deleteNow": "すぐに削除", - "defaultLanguage": "標準の言語", - "removeFromFavorites": "お気に入りから削除", - "emptyTrash": "ゴミ箱を空に", - "close": "閉じる", - "folder": { - "untitled": "名称未設定フォルダ", - "plural": "フォルダ" - }, - "snippet": { - "untitled": "名称未設定スニペット", - "plural": "スニペット", - "emptyName": "スニペット名を付ける", - "selectedMultiple": "{{count}} 個のスニペットを選択中", - "noSelected": "スニペットは選択されていません" - }, - "fragment": "フラグメント", - "search": "検索", - "line": "行", - "column": "列", - "sidebar": { - "inbox": "カテゴリなし", - "favorites": "お気に入り", - "allSnippets": "すべてのスニペット", - "trash": "ゴミ箱", - "untitled": "名称未設定フォルダ", - "folders": "フォルダ", - "library": "ライブラリ", - "tags": "タグ" - }, - "darkMode": "ダークモード", - "background": "背景", - "restartApp": "massCodeを再起動", - "updateAvailable": "アップデートがあります", - "hide": "隠す", - "show": "表示する", - "collapse-all": "すべて縮小", - "expand-all": "すべて展開", - "restore": "回復", - "copy-snippet-link": "スニペットリンクをコピー", - "set-custom-icon": "カスタムアイコンを設定" -} diff --git a/src/main/services/i18n/locales/ja_JP/dialog.json b/src/main/services/i18n/locales/ja_JP/dialog.json deleted file mode 100644 index a115fa17..00000000 --- a/src/main/services/i18n/locales/ja_JP/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "{{name}} を完全に削除してよろしいですか?", - "deleteConfirmMultipleSnippets": "選択している {{count}} 個のスニペットを完全に削除してよろしいですか?", - "noUndo": "この操作は復元できません。", - "allSnippetsMoveToTrash": "このフォルダー内のスニペットはすべてゴミ箱に移動されます。", - "deleteTag": "すべてのスニペットからこのタグが削除されます。", - "emptyTrash": "ゴミ箱に入っている全てのスニペットが完全に削除されます。よろしいですか?", - "migrateConfirm": [ - "{{name}} からデータが移行されます。よろしいですか?", - "現在のライブラリは全て上書きされます。" - ], - "createDb": "別のフォルダを選択してください。" -} diff --git a/src/main/services/i18n/locales/ja_JP/menu.json b/src/main/services/i18n/locales/ja_JP/menu.json deleted file mode 100644 index e87a4804..00000000 --- a/src/main/services/i18n/locales/ja_JP/menu.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "設定", - "update": { - "label": "アップデートがあるか確認", - "message": "バージョン {{newVersion}} がダウンロード可能です。\n現在使用しているバージョンは {{oldVersion}} です。", - "button": ["ダウンロードに進む", "OK"], - "noUpdate": "アップデートはありません。" - }, - "quit": "massCodeを終了", - "about": "massCodeについて", - "hide": "massCodeを隠す", - "hideOther": "他を隠す", - "showAll": "すべて表示" - }, - "help": { - "label": "ヘルプ", - "website": "ウェブサイト", - "documentation": "ドキュメント", - "viewInGitHub": "GitHubで見る", - "changeLog": "更新履歴", - "reportIssue": "課題を提出", - "giveStar": "スターを付ける", - "extension": { - "vscode": "VS Code 拡張機能", - "raycast": "Raycast 拡張機能", - "alfred": "Alfred 拡張機能" - }, - "donate": { - "openCollective": "Open Collectiveで寄付をする", - "payPal": "PayPalで寄付をする", - "gumroad": "Gumroadで寄付をする(Visa, Mastercardなどが使えます)" - }, - "twitter": "Twitter", - "devTools": "Developer Toolsを表示", - "links": { - "snippets": "スニペットコレクション" - } - }, - "file": { - "label": "ファイル", - "find": "検索" - }, - "view": { - "label": "表示", - "sortBy": { - "label": "スニペットの整列", - "dateModified": "更新日", - "dateCreated": "作成日", - "name": "名前" - }, - "hideSubfolderSnippets": "サブフォルダのスニペットを隠す", - "compactMode": "コンパクトモード" - }, - "edit": { - "label": "ラベル", - "undo": "元に戻す", - "redo": "やり直し", - "cut": "切り取り", - "copy": "コピー", - "paste": "貼り付け", - "delete": "削除", - "selectAll": "すべて選択" - }, - "editor": { - "label": "エディタ", - "copy": "スニペットをクリップボードにコピー", - "format": "フォーマット", - "previewMarkdown": "Markdownをプレビュー", - "previewCode": "コードをプレビュー", - "previewScreenshot": "スクリーンショットをプレビュー", - "fontSizeIncrease": "フォントを拡大", - "fontSizeDecrease": "フォントを縮小", - "fontSizeReset": "フォントサイズをリセット" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "プレゼンテーションモード", - "preview": "プレビュー" - }, - "history": { - "label": "履歴", - "back": "戻る", - "forward": "進む" - } -} diff --git a/src/main/services/i18n/locales/ja_JP/preferences.json b/src/main/services/i18n/locales/ja_JP/preferences.json deleted file mode 100644 index 62804ea5..00000000 --- a/src/main/services/i18n/locales/ja_JP/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "設定", - "storage": { - "label": "ストレージ", - "migrate": "データの移行", - "count": "登録個数" - }, - "editor": { - "label": "エディタ", - "fontSize": "フォントサイズ", - "fontFamily": "フォントファミリ", - "wrap": { - "label": "行の折り返し", - "wordWrap": "折り返す", - "off": "折り返ししない" - }, - "tabSize": "タブサイズ", - "showInvisibles": "非表示文字を表示する", - "highlightLine": "行をハイライトする", - "highlightGutter": "ガターをハイライトする", - "matchBrackets": "ブラケットの強調", - "prettier": { - "label": "行の整形", - "trailingComma": { - "label": "末尾のコンマ", - "none": "何もしない", - "all": "すべて", - "es5": "ES5準拠" - }, - "semi": "セミコロン", - "singleQuote": "シングルクォーテーション" - } - }, - "appearance": { - "label": "外観", - "theme": { - "label": "テーマ", - "light": "ライト", - "dark": "ダーク" - } - }, - "language": { - "label": "表示言語" - }, - "markdown": { - "label": "Markdown", - "codeRenderer": "コードブロックレンダラ" - } -} diff --git a/src/main/services/i18n/locales/ja_JP/special.json b/src/main/services/i18n/locales/ja_JP/special.json deleted file mode 100644 index 79ac45b6..00000000 --- a/src/main/services/i18n/locales/ja_JP/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "iCloud Drive、Google Drive、Dropboxなどの同期サービスを利用する場合は、ストレージフォルダを同期フォルダに移動するだけです。", - "migrate": { - "1": "massCode v1.0 から移行する場合は、データベースファイルのあるフォルダーを選択します。", - "2": "SnippetsLabから移行する場合は、JSONファイルを選択します。", - "3": [ - "SnippetsLab.JPから移行時の制限事項:", - "JSONファイル(v2.1以下)はネストしたフォルダを表現できないため、すべてのフォルダは第一階層となります。", - "サポートされていない言語のスニペットは、デフォルトのPlain Textに設定されます。" - ] - }, - "htmlCssPreview": "HTMLやCSS言語によるフラグメントを追加して、結果を表示することができます。", - "codeBlockRenderer": [ - "Codemirrorを使用する場合、コードブロックに設定する言語は下記対応言語の中からのみ選択できます。", - "対応言語一覧" - ] - }, - "success": { - "migrate": "データの移行が完了しました。" - }, - "error": { - "folderContainDb": "フォルダにはすでに \"db.json\" が存在します。", - "folderNotContainDb": "フォルダには \"db.json\" が存在しません。" - }, - "unsponsored": "サポートしていません", - "supportMessage": "やあ!アントンです👋

    \nmassCodeを使ってくれてありがとう。もしあなたがこのソフトを気に入ったのなら、ぜひ{{-tagStart}}寄付{{-tagEnd}}をお願いします!。 massCodeを開発し続けるための力になります。", - "snippetsShowcase": "スニペットライブラリ" -} diff --git a/src/main/services/i18n/locales/pl/common.json b/src/main/services/i18n/locales/pl/common.json deleted file mode 100644 index da1cc563..00000000 --- a/src/main/services/i18n/locales/pl/common.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "button": { - "moveStorage": "Przenieś Magazyn", - "openStorage": "Otwórz Magazyn", - "newStorage": "Nowy Magazyn", - "reloadStorage": "Przeładuj Magazyn", - "fromMassCodeV1": "Z massCode v1.0", - "fromSnippetsLab": "Z SnippetsLab", - "confirm": "Potwierdź", - "cancel": "Anuluj", - "update": ["Przejdź do GitHuba", "OK"], - "ok": "OK", - "clear": "Wyczyść", - "copy": "Kopiuj", - "sort": "Sortuj", - "revers": "Odwróć", - "generate": "Generuj", - "saveAs": "Zapisz jako", - "zoomIn": "Powiększ", - "zoomOut": "Pomniejsz", - "fit": "Dopasuj" - }, - "newFolder": "Nowy folder", - "newSnippet": "Nowy fragment kodu", - "newFragment": "Nowy fragment", - "addDescription": "Dodaj opis", - "addToFavorites": "Dodaj do ulubionych", - "addTag": "Dodaj Tag", - "exportToHtml": "Eksportuj do HTML", - "rename": "Zmień nazwę", - "duplicate": "Duplikuj", - "delete": "Usuń", - "deleteNow": "Usuń teraz", - "defaultLanguage": "Domyślny język", - "removeFromFavorites": "Usuń z Ulubionych", - "emptyTrash": "Opróżnij kosz", - "close": "Zamknij", - "folder": { - "untitled": "Bez tytułu", - "plural": "Foldery" - }, - "snippet": { - "untitled": "Bez tytułu", - "plural": "Fragmenty Kodu", - "emptyName": "Wprowadź nazwę fragmentu", - "selectedMultiple": "{{count}} zaznaczonych fragmentów kodu", - "noSelected": "Brak zaznaczonych fragmentów kodu" - }, - "fragment": "Fragment", - "search": "Szukaj", - "line": "Linia", - "column": "Kolumna", - "sidebar": { - "inbox": "Skrzynka odbiorcza", - "favorites": "Ulubione", - "allSnippets": "Wszystkie Fragmenty Kodu", - "trash": "Kosz", - "untitled": "Bez tytułu", - "folders": "Foldery", - "library": "Biblioteka", - "tags": "Tagi" - }, - "darkMode": "Tryb ciemny", - "background": "Tło", - "restartApp": "Uruchom ponownie massCode", - "updateAvailable": "Dostępna aktualizacja", - "hide": "Ukryj", - "show": "Pokaż", - "collapse-all": "Zwiń wszystko", - "expand-all": "Rozwiń wszystko", - "restore": "Przywróć", - "copy-snippet-link": "Skopiuj link do fragmentu kodu", - "set-custom-icon": "Ustaw niestandardową ikonę" -} diff --git a/src/main/services/i18n/locales/pl/devtools.json b/src/main/services/i18n/locales/pl/devtools.json deleted file mode 100644 index c2a34446..00000000 --- a/src/main/services/i18n/locales/pl/devtools.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "form": { - "inputString": "Wejściowy Ciąg", - "outputString": "Wyjściowy Ciąg", - "inputUrl": "Wejściowy URL", - "outputUrl": "Wyjściowy URL", - "parsedUrl": "Przetworzony URL", - "splitQueryString": "Podziel Ciąg zapytań", - "key": "Klucz", - "value": "Wartość", - "component": "Komponent", - "result": "Wynik", - "secretKey": "Sekretny Klucz", - "algorithm": "Algorytm", - "version": "Wersja", - "amount": "Ilość", - "type": "Typ", - "length": "Długość", - "options": "Opcje", - "numbers": "Liczby", - "symbols": "Symbole", - "lowercase": "Małe Litery", - "uppercase": "Wielkie Litery" - }, - "textTools": { - "label": "Narzędzia Tekstowe", - "caseConverter": "Konwerter Wielkości Liter", - "urlParser": "Analizator URL", - "slugGenerator": "Generator Slugów", - "sortLines": "Sortuj Linie" - }, - "crypto": { - "label": "Kryptografia / Bezpieczeństwo", - "hashGenerator": "Generator Hashy", - "hmacGenerator": "Generator HMAC", - "passGenerator": "Generator Hasła", - "uuidGenerator": "Generator UUID" - }, - "encodeDecode": { - "label": "Kodery / Dekodery", - "url": "Koder / Dekoder URL", - "base64": "Koder / Dekoder Base64" - } -} diff --git a/src/main/services/i18n/locales/pl/dialog.json b/src/main/services/i18n/locales/pl/dialog.json deleted file mode 100644 index fd9d0b34..00000000 --- a/src/main/services/i18n/locales/pl/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "Czy na pewno chcesz trwale usunąć {{name}}?", - "deleteConfirmMultipleSnippets": "Czy na pewno chcesz trwale usunąć {{count}} wybrane fragmenty kodu?", - "noUndo": "Nie można cofnąć tej czynności.", - "allSnippetsMoveToTrash": "Wszystkie fragmenty kodu w tym folderze zostaną przeniesione do kosza.", - "deleteTag": "Spowoduje to także usunięcie tagu we wszystkich fragmentach kodu.", - "emptyTrash": "Czy na pewno chcesz trwale usunąć wszystkie fragmenty kodu w koszu?", - "migrateConfirm": [ - "Czy na pewno chcesz przeprowadzić migrację z {{name}}?", - "Podczas migracji bieżąca biblioteka zostanie nadpisana." - ], - "createDb": "Proszę wybrać inny folder" -} \ No newline at end of file diff --git a/src/main/services/i18n/locales/pl/menu.json b/src/main/services/i18n/locales/pl/menu.json deleted file mode 100644 index e457ef7b..00000000 --- a/src/main/services/i18n/locales/pl/menu.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "Preferencje", - "update": { - "label": "Sprawdź aktualizacje...", - "message": "Wersja {{newVersion}} jest teraz dostępna do pobrania.\nTwoja wersja to {{oldVersion}}.", - "button": ["Przejdź do Pobierania", "OK"], - "noUpdate": "Obecnie nie ma dostępnych aktualizacji." - }, - "quit": "Zakończ massCode", - "about": "O massCode", - "hide": "Ukryj massCode", - "hideOther": "Ukryj Inne", - "showAll": "Pokaż Wszystkie" - }, - "help": { - "label": "Pomoc", - "website": "Strona internetowa", - "documentation": "Dokumentacja", - "viewInGitHub": "Zobacz na GitHubie", - "changeLog": "Dziennik Zmian", - "reportIssue": "Zgłoś Problem", - "giveStar": "Dodaj Gwiazdkę", - "extension": { - "vscode": "Rozszerzenie dla VS Code", - "raycast": "Rozszerzenie dla Raycast", - "alfred": "Rozszerzenie dla Alfred" - }, - "donate": { - "openCollective": "Wesprzyj na Open Collective", - "payPal": "Wesprzyj przez PayPal", - "gumroad": "Wesprzyj przez Gumroad (Visa, Mastercard itp.)" - }, - "twitter": "Twitter", - "devTools": "Przełącz narzędzia deweloperskie", - "links": { - "snippets": "Zbiór Fragmentów Kodu" - } - }, - "file": { - "label": "Plik", - "find": "Znajdź" - }, - "view": { - "label": "Widok", - "sortBy": { - "label": "Sortuj Fragmenty Kodu według", - "dateModified": "Daty Modyfikacji", - "dateCreated": "Daty Utworzenia", - "name": "Nazwy" - }, - "hideSubfolderSnippets": "Ukryj Fragmenty z Podfolderów", - "compactMode": "Tryb Kompaktowy" - }, - "edit": { - "label": "Edytuj", - "undo": "Cofnij", - "redo": "Ponów", - "cut": "Wytnij", - "copy": "Kopiuj", - "paste": "Wklej", - "delete": "Usuń", - "selectAll": "Zaznacz Wszystko" - }, - "editor": { - "label": "Edytor", - "copy": "Skopiuj Fragment do Schowka", - "format": "Formatuj", - "previewCode": "Podgląd Kodu", - "previewScreenshot": "Podgląd Zrzutu Ekranu", - "previewMarkdown": "Podgląd Markdown", - "previewMindmap": "Podgląd Mapy Myśli", - "fontSizeIncrease": "Zwiększ Rozmiar Czcionki", - "fontSizeDecrease": "Zmniejsz Rozmiar Czcionki", - "fontSizeReset": "Resetuj Rozmiar Czcionki" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "Tryb Prezentacji", - "preview": "Podgląd" - }, - "history": { - "label": "Historia", - "back": "Wstecz", - "forward": "Dalej" - }, - "devtools": { - "label": "Narzędzia Deweloperskie" - } -} diff --git a/src/main/services/i18n/locales/pl/preferences.json b/src/main/services/i18n/locales/pl/preferences.json deleted file mode 100644 index 27c326f8..00000000 --- a/src/main/services/i18n/locales/pl/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "Preferencje", - "storage": { - "label": "Magazyn", - "migrate": "Migruj", - "count": "Liczba" - }, - "editor": { - "label": "Edytor", - "fontSize": "Rozmiar Czcionki", - "fontFamily": "Rodzina Czcionek", - "wrap": { - "label": "Zawijanie", - "wordWrap": "Zawijanie Wyrazów", - "off": "Wyłączone" - }, - "tabSize": "Rozmiar Tabulatora", - "showInvisibles": "Pokaż Niewidoczne", - "highlightLine": "Podświetl Linię", - "highlightGutter": "Podświetl Margines", - "matchBrackets": "Podświetl Nawiasy", - "prettier": { - "label": "Upiększenie", - "trailingComma": { - "label": "Przecinek na Końcu", - "none": "Brak", - "all": "Wszystkie", - "es5": "ES5" - }, - "semi": "Średnik", - "singleQuote": "Cudzysłów pojedynczy" - } - }, - "appearance": { - "label": "Wygląd", - "theme": { - "label": "Motyw", - "light": "Jasny", - "dark": "Ciemny" - } - }, - "language": { - "label": "Język" - }, - "markdown": { - "label": "Markdown", - "codeRenderer": "Render bloku kodu" - } -} diff --git a/src/main/services/i18n/locales/pl/special.json b/src/main/services/i18n/locales/pl/special.json deleted file mode 100644 index 27964c0e..00000000 --- a/src/main/services/i18n/locales/pl/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "Aby korzystać z usług synchronizacji, takich jak iCloud Drive, Google Drive lub Dropbox, po prostu przenieś magazyn do odpowiadających im zsynchronizowanych folderów.", - "migrate": { - "1": "Aby przeprowadzić migrację z massCode v1.0, wybierz folder zawierający pliki bazy danych.", - "2": "Aby przeprowadzić migrację ze SnippetsLab, wybierz plik JSON.", - "3": [ - "Niektóre ograniczenia. Podczas migracji ze SnippetsLab:", - "Wszystkie foldery będą na pierwszym poziomie, ponieważ plik JSON (poniżej wersji 2.1) nie reprezentuje zagnieżdżonych folderów.", - "Fragmenty kodu w nieobsługiwanych językach zostaną ustawione jako domyślny Zwykły Tekst." - ] - }, - "htmlCssPreview": "Dodaj fragmenty kodu w językach HTML i CSS, aby zobaczyć wynik.", - "codeBlockRenderer": [ - "Podczas korzystania z Codemirror, język dla bloku kodu musi odpowiadać jednej z wartości", - "dostępnych języków" - ] - }, - "success": { - "migrate": "Pomyślnie przeprowadzono migrację bazy danych." - }, - "error": { - "folderContainDb": "Folder już zawiera plik \"db.json\".", - "folderNotContainDb": "Folder nie zawiera pliku \"db.json\"." - }, - "unsponsored": "Bez Sponsorów", - "supportMessage": "Cześć, tutaj Anton 👋

    \nDzięki za korzystanie z massCode. Jeśli uważasz, że ta aplikacja jest użyteczna, proszę {{-tagStart}} wesprzyj nas finansowo {{-tagEnd}}. To zmotywuje mnie do kontynuowania pracy nad projektem.", - "snippetsShowcase": "Przykłady Fragmentów Kodu" -} diff --git a/src/main/services/i18n/locales/pt_BR/common.json b/src/main/services/i18n/locales/pt_BR/common.json deleted file mode 100644 index 161cbdc8..00000000 --- a/src/main/services/i18n/locales/pt_BR/common.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "button": { - "moveStorage": "Mover itens armazenados", - "openStorage": "Abrir armazenamento ", - "newStorage": "Novo armazenamento", - "fromMassCodeV1": "Vindo do Masscode v1.0", - "fromSnippetsLab": "Vindo do SnippetsLab", - "confirm": "Confirmar", - "cancel": "Cancelar", - "update": ["Ir para o GitHub", "OK"], - "ok": "OK" - }, - "newFolder": "Nova pasta", - "newSnippet": "Novo snippet", - "newFragment": "Novo fragmento", - "addDescription": "Adicionar descrição", - "addToFavorites": "Adicionar aos favoritos", - "addTag": "Adicionar etiqueta", - "exportToHtml": "Exportar para HTML", - "saveScreenshot": "Salvar captura de tela", - "rename": "Renomear", - "duplicate": "Duplicar", - "delete": "Apagar", - "deleteNow": "Apagar agora", - "defaultLanguage": "Linguagem padrão", - "removeFromFavorites": "Remover dos favoritos", - "emptyTrash": "Esvaziar lixeira", - "close": "Fechar", - "folder": { - "untitled": "Pasta sem título", - "plural": "Pastas" - }, - "snippet": { - "untitled": "snippet sem título", - "plural": "Snippets", - "emptyName": "Digite o nome do snippet", - "selectedMultiple": "{{count}} snippets selecionados", - "noSelected": "Nenhum snippet selecionado" - }, - "fragment": "Fragmento", - "search": "Buscar", - "line": "Linha", - "column": "Coluna", - "sidebar": { - "inbox": "Caixa de entrada", - "favorites": "Favoritos", - "allSnippets": "Todos os snippets", - "trash": "Lixeira", - "untitled": "Pasta sem título", - "folders": "Pastas", - "library": "Biblioteca", - "tags": "Etiquetas" - }, - "darkMode": "Modo escuro", - "background": "Fundo", - "restartApp": "Reiniciar massCode", - "updateAvailable": "Atualização disponível", - "hide": "Ocultar", - "show": "Mostrar", - "collapse-all": "Recolher todos", - "expand-all": "Expandir todos", - "restore": "Restaurar", - "copy-snippet-link": "Copiar link deste snippet", - "set-custom-icon": "Definir ícone personalizado" -} \ No newline at end of file diff --git a/src/main/services/i18n/locales/pt_BR/dialog.json b/src/main/services/i18n/locales/pt_BR/dialog.json deleted file mode 100644 index 1c2601b5..00000000 --- a/src/main/services/i18n/locales/pt_BR/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "Tem certeza de que deseja excluir permanentemente {{name}}?", - "deleteConfirmMultipleSnippets": "Tem certeza de que deseja excluir permanentemente {{count}} snippets?", - "noUndo": "Você não pode desfazer esta ação.", - "allSnippetsMoveToTrash": "Todos os snippets nesta pasta serão movidos para a lixeira.", - "deleteTag": "Isso também fará com que todos os snippets tenham essa etiqueta removida.", - "emptyTrash": "Tem certeza de que deseja excluir permanentemente todos os snippets da Lixeira?", - "migrateConfirm": [ - "Tem certeza de que deseja migrar de {{name}}?", - "Durante a migração, a biblioteca atual será substituída." - ], - "createDb": "Por favor escolha outra pasta" -} \ No newline at end of file diff --git a/src/main/services/i18n/locales/pt_BR/menu.json b/src/main/services/i18n/locales/pt_BR/menu.json deleted file mode 100644 index 1db5fa8d..00000000 --- a/src/main/services/i18n/locales/pt_BR/menu.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "Preferências", - "update": { - "label": "Procurar por atualizações....", - "message": "Versão {{newVersion}} já está disponível para download.\nSua versão é {{oldVersion}}.", - "button": ["Ir até o Download", "OK"], - "noUpdate": "No momento, não há atualizações disponíveis." - }, - "quit": "Sair do massCode", - "about": "Sobre o massCode", - "hide": "Ocultar o massCode", - "hideOther": "Ocultar outros", - "showAll": "Mostrar tudo" - }, - "help": { - "label": "Ajuda", - "website": "Site", - "documentation": "Documentação", - "viewInGitHub": "Ver no GitHub", - "changeLog": "Registro de mudanças", - "reportIssue": "Reportar um problema", - "giveStar": "Dar estrela", - "extension": { - "vscode": "Extensão do VS code", - "raycast": "Extensão do Raycast", - "alfred": "Extensão do Alfred" - }, - "donate": { - "openCollective": "Doação coletiva", - "payPal": "Doação via PayPal" - }, - "twitter": "Twitter", - "devTools": "Ferramentas do desenvolvedor", - "links": { - "snippets": "Coleção de snippet" - } - }, - "file": { - "label": "Arquivo", - "find": "Buscar" - }, - "view": { - "label": "Visualizar", - "sortBy": { - "label": "Classificar snippes por", - "dateModified": "Data da modificação", - "dateCreated": "Data da criação", - "name": "Nome" - }, - "hideSubfolderSnippets": "Ocultar subpasta", - "compactMode": "Modo compacto" - }, - "edit": { - "label": "Editar", - "undo": "Desfazer", - "redo": "Refazer", - "cut": "Cortar", - "copy": "Copiar", - "paste": "Colar", - "delete": "Apagar", - "selectAll": "Selecionar tudo" - }, - "editor": { - "label": "Editor", - "copy": "Copiar para área de transferencia", - "format": "Formato", - "previewCode": "Pré-visualizar código", - "previewScreenshot": "Pré-visualizar captura de tela", - "previewMarkdown": "Pré-visualizar marcador", - "fontSizeIncrease": "Aumentar tamanho da fonte", - "fontSizeDecrease": "Diminuir tamanho da fonte", - "fontSizeReset": "Redefinir tamanho da fonte" - }, - "markdown": { - "label": "Marcador", - "presentationMode": "Modo de apresentação", - "preview": "Pré-visualizar" - }, - "history": { - "label": "Histórico", - "back": "Voltar", - "forward": "Avançar" - } -} diff --git a/src/main/services/i18n/locales/pt_BR/preferences.json b/src/main/services/i18n/locales/pt_BR/preferences.json deleted file mode 100644 index 899bfec0..00000000 --- a/src/main/services/i18n/locales/pt_BR/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "Preferências", - "storage": { - "label": "Armazenar", - "migrate": "Migrar", - "count": "Total" - }, - "editor": { - "label": "Editor", - "fontSize": "Tamanho da fonte", - "fontFamily": "Nome da fonte", - "wrap": { - "label": "Quebra", - "wordWrap": "Quebra de linha", - "off": "Desligado" - }, - "tabSize": "Tamanho da aba", - "showInvisibles": "Mostrar itens ocultos", - "highlightLine": "Destacar linha", - "highlightGutter": "Destacar área em branco", - "matchBrackets": "Corresponder parênteses", - "prettier": { - "label": "Embelezar", - "trailingComma": { - "label": "Vírgula à direita", - "none": "Nenhum", - "all": "Tudo", - "es5": "ES5" - }, - "semi": "Semi", - "singleQuote": "Citação única" - } - }, - "appearance": { - "label": "Aparência", - "theme": { - "label": "Tema", - "light": "Claro", - "dark": "Escuro" - } - }, - "language": { - "label": "Idioma" - }, - "markdown": { - "label": "Marcador", - "codeRenderer": "Renderizador de bloco de código" - } -} \ No newline at end of file diff --git a/src/main/services/i18n/locales/pt_BR/special.json b/src/main/services/i18n/locales/pt_BR/special.json deleted file mode 100644 index 52a70d0d..00000000 --- a/src/main/services/i18n/locales/pt_BR/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "Para usar serviços de sincronização como iCloud Drive, Google Drive ou Dropbox, basta mover o item armazenado para as pastas sincronizadas correspondentes", - "migrate": { - "1": "Para migrar do massCode versão 1.0 escolha a pasta que contém os arquivos do banco de dados.", - "2": "Para migrar do SnippetsLab escolha o arquivo JSON.", - "3": [ - "Algumas Limitações durante a migração do SnippetsLab:", - "Todas as pastas serão representadas no formato raiz, pois o arquivo JSON (abaixo da versão 2.1) não mostra pastas aninhadas.", - "Snippets com idiomas não suportados serão apresentados em formato texto simples." - ] - }, - "htmlCssPreview": "Adicione fragmentos em linguagens HTML e CSS para visualizar o resultado.", - "codeBlockRenderer": [ - "Ao usar o Codemirror, a linguagem selecionada para o bloco de código deve corresponder a um dos valores da ", - "linguagem atual" - ] - }, - "success": { - "migrate": "Migrado com sucesso." - }, - "error": { - "folderContainDb": "A pasta já contém \"db.json\".", - "folderNotContainDb": "Pasta não contém \"db.json\"." - }, - "unsponsored": "Não patrocinado", - "supportMessage": "Oi, Anton aqui 👋

    \nObrigado por usar o massCode. Se o aplicativo lhe for útil, por favor considere {{-tagStart}} uma doação {{-tagEnd}}. Isso me inspirará a continuar o desenvolvimento do projeto.", - "snippetsShowcase": "Exibição dos snippets" -} \ No newline at end of file diff --git a/src/main/services/i18n/locales/ro_RO/common.json b/src/main/services/i18n/locales/ro_RO/common.json deleted file mode 100644 index 7a266fb5..00000000 --- a/src/main/services/i18n/locales/ro_RO/common.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "button": { - "moveStorage": "Mută stocarea", - "openStorage": "Deschide stocarea", - "newStorage": "Stocare nouă", - "fromMassCodeV1": "Din massCode v1.0", - "fromSnippetsLab": "Din SnippetsLab", - "confirm": "Confirmare", - "cancel": "Anulare", - "update": ["Mergi la GitHub", "În regulă"], - "ok": "În regulă" - }, - "newFolder": "Folder nou", - "newSnippet": "Fragment nou", - "newFragment": "Fragment nou", - "addDescription": "Adăugă o descriere", - "addToFavorites": "Adaugă la favorite", - "addTag": "Adăugă o etichetă", - "exportToHtml": "Export în HTML", - "saveScreenshot": "Salvează captura de ecran", - "rename": "Redenumește", - "duplicate": "Duplică", - "delete": "Șterge", - "deleteNow": "Șterge acum", - "defaultLanguage": "Limba implicită", - "removeFromFavorites": "Elimină din favorite", - "emptyTrash": "Golește coșul de gunoi", - "close": "Închide", - "folder": { - "untitled": "Folder fără titlu", - "plural": "Foldere" - }, - "snippet": { - "untitled": "Fragment fără titlu", - "plural": "Fragmente", - "emptyName": "Introduceți numele fragmentului", - "selectedMultiple": "{{count}} fragmente selectate", - "noSelected": "Niciun fragment selectat" -}, -"fragment": "Fragment", -"search": "Căutare", -"line": "Linie", -"column": "Coloană", -"sidebar": { -"inbox": "Inbox", -"favorites": "Favorite", -"allSnippets": "Toate fragmentele", -"trash": "Coș de gunoi", -"untitled": "Folder fără titlu", -"folders": "Foldere", -"library": "Bibliotecă", -"tags": "Etichete" -}, -"darkMode": "Mod întunecat", -"background": "Fundal", -"restartApp": "Repornește massCode", -"updateAvailable": "Actualizare disponibilă", -"hide": "Ascunde", -"show": "Arătă", -"collapse-all": "Restrânge tot", - "expand-all": "Extinde All", - "restore": "Restaurează", - "copy-snippet-link": "Copiați link-ul fragmentului" -} diff --git a/src/main/services/i18n/locales/ro_RO/dialog.json b/src/main/services/i18n/locales/ro_RO/dialog.json deleted file mode 100644 index 011d7103..00000000 --- a/src/main/services/i18n/locales/ro_RO/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "Sigur dorești să ștergi permanent {{name}}?", - "deleteConfirmMultipleSnippets": "Sigur dorești să ștergi permanent {{count}} fragmente selectate?", - "noUndo": "Nu poți anula această acțiune.", - "allSnippetsMoveToTrash": "Toate fragmentele din acest folder vor fi mutate în coșul de gunoi.", - "deleteTag": "Acest lucru va provoca, de asemenea, eliminarea etichetei din toate fragmentele.", - "emptyTrash": "Sigur dorești să ștergi permanent toate fragmentele din Coșul de gunoi?", - "migrateConfirm": [ - "Sigur dorești să migrați din {{name}}?", - "În timpul migrației, biblioteca curentă va fi suprascrisă." - ], - "createDb": "Vă rugăm să selectați un alt folder" -} diff --git a/src/main/services/i18n/locales/ro_RO/menu.json b/src/main/services/i18n/locales/ro_RO/menu.json deleted file mode 100644 index 4f80781e..00000000 --- a/src/main/services/i18n/locales/ro_RO/menu.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "Preferințe", - "update": { - "label": "Verificare actualizări....", - "message": "Versiunea {{newVersion}} este acum disponibilă pentru descărcare.\nVersiunea dvs. este {{oldVersion}}.", - "button": ["Du-te la Descărcare", "OK"], - "noUpdate": "Nu sunt disponibile actualizări în acest moment." - }, - "quit": "Ieși din massCode", - "about": "Despre massCode", - "hide": "Ascunde massCode", - "hideOther": "Ascunde celelalte", - "showAll": "Arată tot" - }, - "help": { - "label": "Ajutor", - "website": "Site web", - "documentation": "Documentație", - "viewInGitHub": "Vizualizează în GitHub", - "changeLog": "Jurnalul modificărilor", - "reportIssue": "Raportează o problemă", - "giveStar": "Dați o stea", - "extension": { - "vscode": "Extensie VS Code", - "raycast": "Extensie Raycast", - "alfred": "Extensie Alfred" - }, - "donate": { - "openCollective": "Donează pe Open Collective", - "payPal": "Donează prin PayPal", - "gumroad": "Donează prin Gumroad (Visa, Mastercard, etc.)" - }, - "twitter": "Twitter", - "devTools": "Comutare instrumente pentru dezvoltatori", - "links": { - "snippets": "Colecție de fragmente" - } - }, - "file": { - "label": "Fișier", - "find": "Căutați" - }, - "view": { - "label": "Vizualizare", - "sortBy": { - "label": "Sortează fragmentele după", - "dateModified": "Data modificării", - "dateCreated": "Data creării", - "name": "Nume" - } - }, - "edit": { - "label": "Editare", - "undo": "Anulați", - "redo": "Refaceți", - "cut": "Taie", - "copy": "Copiază", - "paste": "Lipește", - "delete": "Șterge", - "selectAll": "Selectează tot" - }, - "editor": { - "label": "Editor", - "copy": "Copiază fragmentul în clipboard", - "format": "Format", - "previewCode": "Previzualizare cod", - "previewScreenshot": "Previzualizare captură de ecran", - "previewMarkdown": "Previzualizare Markdown", - "fontSizeIncrease": "Creștere mărimea scrisului", - "fontSizeDecrease": "Scade mărimea scrisului", - "fontSizeReset": "Resetează mărimea scrisului" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "Mod prezentare", - "preview": "Previzualizare" - }, - "history": { - "label": "Istoric", - "back": "Înapoi", - "forward": "Înainte" - } -} diff --git a/src/main/services/i18n/locales/ro_RO/preferences.json b/src/main/services/i18n/locales/ro_RO/preferences.json deleted file mode 100644 index 35c27e7c..00000000 --- a/src/main/services/i18n/locales/ro_RO/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "Preferințe", - "storage": { - "label": "Stocare", - "migrate": "Migrează", - "count": "Numără" - }, - "editor": { - "label": "Editor", - "fontSize": "Mărime scris", - "fontFamily": "Familie scris", - "wrap": { - "label": "Înfășurare", - "wordWrap": "Înfășurare cuvânt", - "off": "Oprit" - }, - "tabSize": "Mărime tab", - "showInvisibles": "Arată invizibile", - "highlightLine": "Evidențiază linia", - "highlightGutter": "Evidențiază marginea", - "matchBrackets": "Potrivește parantezele", - "prettier": { - "label": "Prettier", - "trailingComma": { - "label": "Virgulă finală", - "none": "Niciunul", - "all": "Toate", - "es5": "ES5" - }, - "semi": "Semi", - "singleQuote": "Ghilimele simple" - } - }, - "appearance": { - "label": "Aspect", - "theme": { - "label": "Temă", - "light": "Luminos", - "dark": "Întunecat" - } - }, - "language": { - "label": "Limbă" - }, - "markdown": { - "label": "Markdown", - "codeRenderer": "Redator de cod" - } -} diff --git a/src/main/services/i18n/locales/ro_RO/special.json b/src/main/services/i18n/locales/ro_RO/special.json deleted file mode 100644 index a1d62618..00000000 --- a/src/main/services/i18n/locales/ro_RO/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "Pentru a utiliza servicii de sincronizare precum iCloud Drive, Google Drive sau Dropbox, mutați simplu stocarea în dosarele sincronizate corespunzătoare", - "migrate": { - "1": "Pentru a migra de la massCode v1.0 selectați folderul care conține fișierele bazei de date.", - "2": "Pentru a migra de la SnippetsLab selectați fișierul JSON.", - "3": [ - "Unele limite. În timpul migrației de la SnippetsLab:", - "Toate folderele vor fi de primul nivel, deoarece fișierul JSON (sub v2.1) nu reprezintă foldere imbricate.", - "Fragmentele cu limbaje neacceptate vor fi setate ca text simplu implicit." - ] - }, - "htmlCssPreview": "Adăugați fragmente cu limbajele HTML & CSS pentru a vedea rezultatul.", - "codeBlockRenderer": [ - "Când utilizați Codemirror, limbajul care trebuie setat pentru blocul de cod trebuie să corespundă uneia dintre valorile", - "limbajelor" - ] - }, - "success": { - "migrate": "DB migrat cu succes." - }, - "error": { - "folderContainDb": "Folderul conține deja \"db.json\".", - "folderNotContainDb": "Folderul nu conține \"db.json\"." - }, - "unsponsored": "Nesponsorizat", - "supportMessage": "Salut, sunt Anton 👋

    \nVă mulțumesc pentru utilizarea massCode. Dacă găsiți această aplicație utilă, vă rugăm să {{-tagStart}} donați {{-tagEnd}}. Mă va inspira să continui dezvoltarea proiectului.", - "snippetsShowcase": "Prezentare fragmente" -} diff --git a/src/main/services/i18n/locales/ru/common.json b/src/main/services/i18n/locales/ru/common.json deleted file mode 100644 index bf6fd5c8..00000000 --- a/src/main/services/i18n/locales/ru/common.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "button": { - "moveStorage": "Переместить", - "openStorage": "Открыть", - "newStorage": "Создать новое", - "reloadStorage": "Перезагрузить", - "fromMassCodeV1": "Из massCode v1.0", - "fromSnippetsLab": "Из SnippetsLab", - "confirm": "Подтвердить", - "cancel": "Отмена", - "ok": "Хорошо", - "clear": "Очистить", - "copy": "Копировать", - "sort": "Сортировать", - "revers": "Реверс", - "generate": "Генерировать", - "saveAs": "Сохранить как", - "zoomIn": "Увеличить", - "zoomOut": "Уменьшить", - "fit": "Подогнать" - }, - "newFolder": "Новая папка", - "newSnippet": "Новый сниппет", - "newFragment": "Новый фрагмент", - "addDescription": "Добавить описание", - "addToFavorites": "Добавить в избранное", - "addTag": "Добавить тег", - "exportToHtml": "Экспорт в HTML", - "saveScreenshot": "Сохранить скриншот", - "rename": "Переименовать", - "duplicate": "Дубликат", - "delete": "Удалить", - "deleteNow": "Удалить сейчас", - "defaultLanguage": "Языка по умолчанию ", - "removeFromFavorites": "Удалить из избранного", - "emptyTrash": "Очисть корзину", - "close": "Закрыть", - "folder": { - "untitled": "Новая папка", - "plural": "Папки" - }, - "snippet": { - "untitled": "Новый сниппет", - "plural": "Сниппетов", - "emptyName": "Введите имя сниппета", - "selectedMultiple": "{{count}} сниппетов выбрано", - "noSelected": "Не выбрано ни одного сниппета" - }, - "fragment": "Фрагмент", - "search": "Поиск", - "line": "Строка", - "column": "Колонка", - "sidebar": { - "inbox": "Входящие", - "favorites": "Избранное", - "allSnippets": "Все сниппеты", - "trash": "Корзина", - "untitled": "Новая папка", - "folders": "Папки", - "library": "Библиотека", - "tags": "Теги" - }, - "darkMode": "Темный режим", - "background": "Фон", - "restartApp": "Перезагрузить massCode", - "updateAvailable": "Доступно обновление", - "hide": "Hide", - "show": "Show", - "collapse-all": "Закрыть все", - "expand-all": "Открыть все", - "restore": "Восстановить", - "copy-snippet-link": "Скопировать ссылку", - "set-custom-icon": "Установить иконку" -} diff --git a/src/main/services/i18n/locales/ru/devtools.json b/src/main/services/i18n/locales/ru/devtools.json deleted file mode 100644 index 4cf89600..00000000 --- a/src/main/services/i18n/locales/ru/devtools.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "form": { - "inputString": "Входная строка", - "outputString": "Выходная строка", - "inputUrl": "Входной URL", - "outputUrl": "Выходной URL", - "parsedUrl": "Разобранный URL", - "splitQueryString": "Разбивка строки запроса", - "key": "Ключ", - "value": "Значение", - "component": "Компонент", - "result": "Результат", - "secretKey": "Секретный ключ", - "algorithm": "Алгоритм", - "version": "Версия", - "amount": "Количество", - "type": "Тип", - "length": "Длина", - "options": "Опции", - "numbers": "Цифры", - "symbols": "Символы", - "lowercase": "Нижний регистр", - "uppercase": "Верхний регистр" - }, - "textTools": { - "label": "Инструменты для текста", - "caseConverter": "Конвертер регистра", - "urlParser": "Парсер URL", - "slugGenerator": "Slug генератор", - "sortLines": "Сортировка строк" - }, - "crypto": { - "label": "Криптография / Безопасность", - "hashGenerator": "Hash генератор", - "hmacGenerator": "HMAC генератор", - "passGenerator": "Генератор паролей", - "uuidGenerator": "UUID генератор" - }, - "encodeDecode": { - "label": "Энкодеры / Декодеры", - "url": "URL Энкодер / Декодер", - "base64": "Base64 Энкодер / Декодер" - } -} diff --git a/src/main/services/i18n/locales/ru/dialog.json b/src/main/services/i18n/locales/ru/dialog.json deleted file mode 100644 index d5ffe907..00000000 --- a/src/main/services/i18n/locales/ru/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "Вы уверены что хотите безвозвратно удалить {{name}}?", - "deleteConfirmMultipleSnippets": "Вы уверены что хотите безвозвратно удалить {{count}} выбранные сиппеты?", - "noUndo": "Это действие нельзя отменить.", - "allSnippetsMoveToTrash": "Все сниппеты в этой папки будут перемещены в корзину.", - "deleteTag": "Это так же коснется всех сниппетов, которые содержат этот тег.", - "emptyTrash": "Вы уверены что хотите безвозвратно очистить Корзину?", - "migrateConfirm": [ - "Вы уверены что хотите мигрировать {{name}}?", - "Во время миграции, текущая библиотека буде перезаписана." - ], - "createDb": "Пожалуйста выберите другую папку" -} diff --git a/src/main/services/i18n/locales/ru/menu.json b/src/main/services/i18n/locales/ru/menu.json deleted file mode 100644 index e7de93c3..00000000 --- a/src/main/services/i18n/locales/ru/menu.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "Настройки", - "update": { - "label": "Проверить обновления....", - "message": "Версия {{newVersion}} доступна для скачивания.\nТекущая версия {{oldVersion}}.", - "button": ["Перейти для загрузки", "OK"], - "noUpdate": "В настоящее время нет доступных обновлений." - }, - "quit": "Выйти из massCode", - "about": "О massCode", - "hide": "Скрыть massCode", - "hideOther": "Скрыть остальные", - "showAll": "Показать все" - }, - "help": { - "label": "Помощь", - "website": "Сайт", - "documentation": "Документация", - "viewInGitHub": "Просмотреть в GitHub", - "changeLog": "Список изменений", - "reportIssue": "Открыть Issue", - "giveStar": "Поставить звезду", - "extension": { - "vscode": "VS Code расширение", - "raycast": "Raycast расширение", - "alfred": "Alfred расширение" - }, - "donate": { - "openCollective": "Пожертвовать через Open Collective", - "payPal": "Пожертвовать через PayPal", - "gumroad": "Пожертвовать через Gumroad (Visa, Mastercard, и тд.)" - }, - "twitter": "Twitter", - "devTools": "Открыть инструменты разработчика", - "links": { - "snippets": "Коллекция сниппетов" - } - }, - "file": { - "label": "Файл", - "find": "Найти" - }, - "view": { - "label": "Вид", - "sortBy": { - "label": "Сортировать сниппеты по", - "dateModified": "Дате модификации", - "dateCreated": "Дате создания", - "name": "Имени" - }, - "hideSubfolderSnippets": "Скрыть сниппеты в подпапках", - "compactMode": "Компактный режим" - }, - "edit": { - "label": "Изменить", - "undo": "Отмена", - "redo": "Повторить", - "cut": "Вырезать", - "copy": "Скопировать", - "paste": "Вставить", - "delete": "Удалить", - "selectAll": "Выделить все" - }, - "editor": { - "label": "Редактор", - "copy": "Скопировать сниппет в буфер", - "format": "Форматировать", - "previewCode": "Просмотр результата HTML/CSS", - "previewScreenshot": "Просмотр скриншота", - "previewMarkdown": "Просмотр Markdown", - "previewMindmap": "Просмотр Mindmap", - "fontSizeIncrease": "Увеличить шрифт", - "fontSizeDecrease": "Уменьшить шрифт", - "fontSizeReset": "Сбросить размер шрифта" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "Режим презентации", - "preview": "Просмотр Markdown" - }, - "history": { - "label": "История", - "back": "Назад", - "forward": "Вперед" - }, - "window": { - "label": "Окно", - "minimize": "Убрать в Dock" - } -} diff --git a/src/main/services/i18n/locales/ru/special.json b/src/main/services/i18n/locales/ru/special.json deleted file mode 100644 index 6db12bcf..00000000 --- a/src/main/services/i18n/locales/ru/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "Чтобы использовать такие службы синхронизации, как iCloud Drive, Google Drive или Dropbox, просто переместите хранилище в соответствующие синхронизированные папки.", - "migrate": { - "1": "Для миграции с massCode v1.0 выберите папку, содержащую файлы базы данных.", - "2": "Для миграции из SnippetsLab выберите файл JSON.", - "3": [ - "Некоторые ограничения. Во время миграции с SnippetsLab:", - "Все папки будут первого уровня, поскольку файл JSON (ниже v2.1) не представляет вложенные папки.", - "Сниппеты с неподдерживаемыми языками будут установлены на стандартный простой текст." - ] - }, - "htmlCssPreview": "Добавьте фрагменты с языками HTML и CSS для просмотра результата.", - "codeBlockRenderer": [ - "При использовании Codemirror, устанавливаемый язык для блока кода должен соответствовать одному из значений", - "языков" - ] - }, - "success": { - "migrate": "БД успешно перенесена." - }, - "error": { - "folderContainDb": "Папка уже содержит \"db.json\".", - "folderNotContainDb": "Папка не содержит \"db.json\"." - }, - "unsponsored": "Неспонсируемое", - "supportMessage": "Привет, это Антон 👋

    \nСпасибо что используете massCode. Если приложение оказалось для вас полезным, пожалуйста {{-tagStart}} поддержите проект {{-tagEnd}}. Это вдохновит меня для продолжение работы над проектом.", - "snippetsShowcase": "Коллекция сниппетов" -} diff --git a/src/main/services/i18n/locales/tr/common.json b/src/main/services/i18n/locales/tr/common.json deleted file mode 100644 index 539ff06b..00000000 --- a/src/main/services/i18n/locales/tr/common.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "button": { - "moveStorage": "Depo Taşı", - "openStorage": "Depoyu Aç", - "newStorage": "Yeni Depo", - "reloadStorage": "Depoyu Yeniden Yükle", - "fromMassCodeV1": "MassCode v1.0'dan", - "fromSnippetsLab": "SnippetsLab'dan", - "confirm": "Onayla", - "cancel": "İptal", - "update": ["GitHub'a Git", "Tamam"], - "ok": "Tamam", - "clear": "Temizle", - "copy": "Kopyala", - "sort": "Sırala", - "revers": "Ters Çevir", - "generate": "Oluştur" - }, - "newFolder": "Yeni Klasör", - "newSnippet": "Yeni Kod Parçası", - "newFragment": "Yeni Bölüm", - "addDescription": "Açıklama Ekle", - "addToFavorites": "Favorilere Ekle", - "addTag": "Etiket Ekle", - "exportToHtml": "HTML'ye Aktar", - "saveScreenshot": "Ekran Görüntüsünü Kaydet", - "rename": "Yeniden Adlandır", - "duplicate": "Kopyala", - "delete": "Sil", - "deleteNow": "Şimdi Sil", - "defaultLanguage": "Varsayılan Dil", - "removeFromFavorites": "Favorilerden Kaldır", - "emptyTrash": "Çöp Kutusunu Boşalt", - "close": "Kapat", - "folder": { - "untitled": "Başlıksız Klasör", - "plural": "Klasörler" - }, - "snippet": { - "untitled": "Başlıksız Kod Parçası", - "plural": "Kod Parçaları", - "emptyName": "Kod parçası adını yazın", - "selectedMultiple": "{{count}} Kod Parçası Seçildi", - "noSelected": "Kod Parçası Seçilmedi" - }, - "fragment": "Bölüm", - "search": "Ara", - "line": "Satır", - "column": "Sütun", - "sidebar": { - "inbox": "Gelen Kutusu", - "favorites": "Favoriler", - "allSnippets": "Tüm Kod Parçaları", - "trash": "Çöp Kutusu", - "untitled": "Başlıksız Klasör", - "folders": "Klasörler", - "library": "Kütüphane", - "tags": "Etiketler" - }, - "darkMode": "Karanlık Mod", - "background": "Arka Plan", - "restartApp": "massCode'u Yeniden Başlat", - "updateAvailable": "Güncelleme Mevcut", - "hide": "Gizle", - "show": "Göster", - "collapse-all": "Hepsini Daralt", - "expand-all": "Hepsini Genişlet", - "restore": "Geri Yükle", - "copy-snippet-link": "Kod Parçası Bağlantısını Kopyala", - "set-custom-icon": "Özel Simge Ayarla" -} \ No newline at end of file diff --git a/src/main/services/i18n/locales/tr/devtools.json b/src/main/services/i18n/locales/tr/devtools.json deleted file mode 100644 index 66fb29bf..00000000 --- a/src/main/services/i18n/locales/tr/devtools.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "form": { - "inputString": "Giriş Metni", - "outputString": "Çıkış Metni", - "inputUrl": "Giriş URL'si", - "outputUrl": "Çıkış URL'si", - "parsedUrl": "Ayrılmış URL", - "splitQueryString": "Sorgu Dizisi Ayır", - "key": "Anahtar", - "value": "Değer", - "component": "Komponent", - "result": "Sonuç", - "secretKey": "Gizli Anahtar", - "algorithm": "Algoritma", - "version": "Sürüm", - "amount": "Miktar", - "type": "Tür", - "length": "Uzunluk", - "options": "Seçenekler", - "numbers": "Sayılar", - "symbols": "Semboller", - "lowercase": "Küçük Harf", - "uppercase": "Büyük Harf" - }, - "textTools": { - "label": "Metin Araçları", - "caseConverter": "Harf Dönüştürücü", - "urlParser": "URL Ayrıştırıcı", - "slugGenerator": "Slug Oluşturucu", - "sortLines": "Satırları Sırala" - }, - "crypto": { - "label": "Kriptografi / Güvenlik", - "hashGenerator": "Hash Oluşturucu", - "hmacGenerator": "HMAC Oluşturucu", - "passGenerator": "Şifre Oluşturucu", - "uuidGenerator": "UUID Oluşturucu" - }, - "encodeDecode": { - "label": "Kodlayıcılar / Kod Çözücüler", - "url": "URL Kodlayıcı / Çözücü", - "base64": "Base64 Kodlayıcı / Çözücü" - } -} diff --git a/src/main/services/i18n/locales/tr/dialog.json b/src/main/services/i18n/locales/tr/dialog.json deleted file mode 100644 index 57a60e76..00000000 --- a/src/main/services/i18n/locales/tr/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "{{name}} adlı öğeyi kalıcı olarak silmek istediğinizden emin misiniz?", - "deleteConfirmMultipleSnippets": "{{count}} seçili kod parçasını kalıcı olarak silmek istediğinizden emin misiniz?", - "noUndo": "Bu işlemi geri alamazsınız.", - "allSnippetsMoveToTrash": "Bu klasördeki tüm kod parçaları çöp kutusuna taşınacaktır.", - "deleteTag": "Bu aynı zamanda tüm kod parçalarının bu etiketin kaldırılmasına neden olacaktır.", - "emptyTrash": "Çöp kutusundaki tüm kod parçalarını kalıcı olarak silmek istediğinizden emin misiniz?", - "migrateConfirm": [ - "{{name}} adından geçiş yapmak istediğinizden emin misiniz?", - "Geçiş sırasında mevcut kütüphane üzerine yazılacaktır." - ], - "createDb": "Lütfen başka bir klasör seçin." -} diff --git a/src/main/services/i18n/locales/tr/special.json b/src/main/services/i18n/locales/tr/special.json deleted file mode 100644 index f9631ad4..00000000 --- a/src/main/services/i18n/locales/tr/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "iCloud Drive, Google Drive veya Dropbox gibi senkronizasyon hizmetlerini kullanmak için, depoyu ilgili senkronize edilmiş klasörlere taşıyın.", - "migrate": { - "1": "massCode v1.0'dan göç etmek için veritabanı dosyalarını içeren klasörü seçin.", - "2": "SnippetsLab'dan göç etmek için JSON dosyasını seçin.", - "3": [ - "Bazı Sınırlamalar. SnippetsLab'dan göç sırasında:", - "Tüm klasörler ilk seviye olacak çünkü JSON dosyası (v2.1 altında) iç içe geçmiş klasörleri temsil etmez.", - "Desteklenmeyen dillerle ilgili kod parçaları varsayılan Düz Metin'e ayarlanır." - ] - }, - "htmlCssPreview": "Sonucu görmek için HTML ve CSS dilleri ile fragmanlar ekleyin.", - "codeBlockRenderer": [ - "Codemirror kullanırken, kod bloğu için ayarlanacak dil,", - "dillerin değerlerinden birine karşılık gelmelidir." - ] - }, - "success": { - "migrate": "Veritabanı başarıyla göç edildi." - }, - "error": { - "folderContainDb": "Klasör zaten \"db.json\" içeriyor.", - "folderNotContainDb": "Klasör \"db.json\" içermiyor." - }, - "unsponsored": "Sponsorlu Değil", - "supportMessage": "Merhaba, Anton burada 👋

    \nmassCode'u kullanımınız için teşekkür ederim. Eğer bu uygulamayı faydalı buluyorsanız, lütfen {{-tagStart}} bağış yapın {{-tagEnd}}. Bu, projenin geliştirilmesine devam etmemi teşvik edecektir.", - "snippetsShowcase": "Kod Parçaları Vitrini" -} diff --git a/src/main/services/i18n/locales/uk_UA/common.json b/src/main/services/i18n/locales/uk_UA/common.json deleted file mode 100644 index c3b659e7..00000000 --- a/src/main/services/i18n/locales/uk_UA/common.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "button": { - "moveStorage": "Перемістити", - "openStorage": "Відкрити", - "newStorage": "Створити нове", - "fromMassCodeV1": "massCode v1.0", - "fromSnippetsLab": "SnippetsLab", - "confirm": "Підтвердити", - "cancel": "Скасувати", - "ok": "ОК" - }, - "newFolder": "Нова папка", - "newSnippet": "Новий сніпет", - "newFragment": "Новий фрагмент", - "addDescription": "Додати опис", - "addToFavorites": "Додати в обране", - "addTag": "Додати тег", - "exportToHtml": "Експорт в HTML", - "saveScreenshot": "Зберігти скриншот", - "rename": "Перейменувати", - "duplicate": "Дублікат", - "delete": "Видалити", - "deleteNow": "Видалити зараз", - "defaultLanguage": "Мова за замовчуванням", - "removeFromFavorites": "Видалити з обраних", - "emptyTrash": "Очистити Смітник", - "close": "Закрити", - "folder": { - "untitled": "Нова папка", - "plural": "Папки" - }, - "snippet": { - "untitled": "Новий сніпет", - "plural": "Сніпитів", - "emptyName": "Введіть імʼя сніпета", - "selectedMultiple": "{{count}} сніпетів обрано", - "noSelected": "Не обрано жодного сніпета" - }, - "fragment": "Фрагмент", - "search": "Пошук", - "line": "Рядок", - "column": "Колонка", - "sidebar": { - "inbox": "Вхідні", - "favorites": "Обрані", - "allSnippets": "Всі сніпети", - "trash": "Смітник", - "untitled": "Нова папка", - "folders": "Папки", - "library": "Бібліотека", - "tags": "Теги" - }, - "darkMode": "Темний режим", - "background": "Фон", - "restartApp": "Перезавантажити massCode", - "updateAvailable": "Доступне оновлення", - "hide": "Сховати", - "show": "Показати", - "collapse-all": "Закрити все", - "expand-all": "Відкрити все", - "restore": "Відновити", - "copy-snippet-link": "Скопіювати посилання" -} diff --git a/src/main/services/i18n/locales/uk_UA/dialog.json b/src/main/services/i18n/locales/uk_UA/dialog.json deleted file mode 100644 index b98fe5a9..00000000 --- a/src/main/services/i18n/locales/uk_UA/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "Ви впевнені, що хочете остаточно видалити {{name}}?", - "deleteConfirmMultipleSnippets": "Ви впевнені, що хочете остаточно видалити {{count}} обраних сніпетів?", - "noUndo": "Цю дію неможливо скасувати.", - "allSnippetsMoveToTrash": "Усі сніпети у цій папці буде переміщено до Смітника.", - "deleteTag": "Це так само стосується всіх сніпетів, що містять цей тег.", - "emptyTrash": "Ви впевнені, що хочете очистити Смітник?", - "migrateConfirm": [ - "Ви впевнені, що хочете мігрувати {{name}}?", - "Під час міграції, поточна бібліотека буде перезаписана." - ], - "createDb": "Будь ласка, оберіть іншу папку." -} diff --git a/src/main/services/i18n/locales/uk_UA/menu.json b/src/main/services/i18n/locales/uk_UA/menu.json deleted file mode 100644 index d1764f16..00000000 --- a/src/main/services/i18n/locales/uk_UA/menu.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "Параметри", - "update": { - "label": "Перевірити оновлення...", - "message": "Версія {{newVersion}} доступна для скачування.\nПоточна версія {{oldVersion}}.", - "button": ["Перейти до завантаження", "OK"], - "noUpdate": "Немає доступних оновлень." - }, - "quit": "Вийти з massCode", - "about": "Про massCode", - "hide": "Сховати massCode", - "hideOther": "Сховати інші", - "showAll": "Показати всі" - }, - "help": { - "label": "Підтримка", - "website": "Сайт", - "documentation": "Документація", - "viewInGitHub": "Переглянути у GitHub", - "changeLog": "Список змін", - "reportIssue": "Відкрити Issue", - "giveStar": "Поставити зірку", - "extension": { - "vscode": "VS Code розширення", - "raycast": "Raycast розширення", - "alfred": "Alfred розширення" - }, - "donate": { - "openCollective": "Пожертвувати через Open Collective", - "payPal": "Пожертвувати через PayPal", - "gumroad": "Пожертвувати через Gumroad (Visa, Mastercard, и тд.)" - }, - "twitter": "Twitter", - "devTools": "Відкрити інструменти розробника", - "links": { - "snippets": "Колекція сніпетів" - } - }, - "file": { - "label": "Файл", - "find": "Пошук" - }, - "view": { - "label": "Вид", - "sortBy": { - "label": "Сортувати сніпети за", - "dateModified": "Дата модифікації", - "dateCreated": "Дата створення", - "name": "Назва" - } - }, - "edit": { - "label": "Змінити", - "undo": "Скасувати", - "redo": "Повторити", - "cut": "Вирізати", - "copy": "Скопіювати", - "paste": "Вставити", - "delete": "Видалити", - "selectAll": "Вибрати все" - }, - "editor": { - "label": "Редактор", - "copy": "Скопіювати сніпет у буфер", - "format": "Форматувати", - "previewCode": "Перегляд результату HTML/CSS", - "previewScreenshot": "Перегляд скриншота", - "fontSizeIncrease": "Збільшити шрифт", - "fontSizeDecrease": "Зменшити шрифт", - "fontSizeReset": "Скинути розмір шрифта" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "Режим презентації", - "preview": "Перегляд Markdown" - }, - "history": { - "label": "Історія", - "back": "Назад", - "forward": "Вперед" - } -} diff --git a/src/main/services/i18n/locales/uk_UA/preferences.json b/src/main/services/i18n/locales/uk_UA/preferences.json deleted file mode 100644 index e766b3e0..00000000 --- a/src/main/services/i18n/locales/uk_UA/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "Параметри", - "storage": { - "label": "Сховище", - "migrate": "Міграція", - "count": "Кількість" - }, - "editor": { - "label": "Редактор", - "fontSize": "Розмір шрифта", - "fontFamily": "Сімейство шрифтів", - "wrap": { - "label": "Перенесення", - "wordWrap": "Перенесення по словах", - "off": "Вимкнути" - }, - "tabSize": "Розмір відступу", - "showInvisibles": "Показ невидимих символів", - "highlightLine": "Підсвітка рядку", - "highlightGutter": "Підсвітка gutter", - "matchBrackets": "Підсвітка дужок", - "prettier": { - "label": "Prettier", - "trailingComma": { - "label": "Кома у кінці", - "none": "Ні", - "all": "Усі", - "es5": "ES5" - }, - "semi": "Крапка з комою", - "singleQuote": "Одинарні лапки" - } - }, - "appearance": { - "label": "Зовнішній вид", - "theme": { - "label": "Вигляд", - "light": "Світла", - "dark": "Темна" - } - }, - "language": { - "label": "Мова" - }, - "markdown": { - "label": "Markdown", - "codeRenderer": "Рендерер блоків коду" - } -} diff --git a/src/main/services/i18n/locales/uk_UA/special.json b/src/main/services/i18n/locales/uk_UA/special.json deleted file mode 100644 index 4e77693a..00000000 --- a/src/main/services/i18n/locales/uk_UA/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "Щоб використовувати такі служби синхронізації, як iCloud Drive, Google Drive або Dropbox, просто перенесіть сховище у відповідні синхронізовані папки.", - "migrate": { - "1": "Для міграції з massCode v1.0 оберіть папку, що містить файли баз даних.", - "2": "Для міграції з SnippetsLab оберіть файл JSON.", - "3": [ - "Деякі обмеження. Під час міграції з SnippetsLab:", - "Усі папки будуть першого рівня, оскільки файл JSON (нижче v2.1) не представляє підтеки.", - "Сніпети з непідтримуваними мовами будуть встановлені на стандартний простий текст." - ] - }, - "htmlCssPreview": "Додайте фрагменти з HTML та CSS для перегляду результатів.", - "codeBlockRenderer": [ - "При використанні Codemirror, встановлена мова для блоку коду повинна відповідати одній із зазначених", - "мов" - ] - }, - "success": { - "migrate": "БД успішно перенесено." - }, - "error": { - "folderContainDb": "Папка вже містить \"db.json\".", - "folderNotContainDb": "Папка не містить \"db.json\"." - }, - "unsponsored": "Не спонсороване", - "supportMessage": "Привіт, це Антон 👋

    \nДякую, що користуєтесь massCode. Якщо додаток приніс вам користь, будь ласка {{-tagStart}} підтримайте проєкт {{-tagEnd}}. Це надихне мене для продовження роботи над проєктом.", - "snippetsShowcase": "Колекція сніпетів" -} diff --git a/src/main/services/i18n/locales/zh_CN/common.json b/src/main/services/i18n/locales/zh_CN/common.json deleted file mode 100644 index ce0313cc..00000000 --- a/src/main/services/i18n/locales/zh_CN/common.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "button": { - "moveStorage": "更改存储路径", - "openStorage": "打开现有存储", - "newStorage": "创建新的存储", - "fromMassCodeV1": "来自 massCode v1.0", - "fromSnippetsLab": "来自 SnippetsLab", - "confirm": "确认", - "cancel": "取消", - "update": ["前往 GitHub", "OK"], - "ok": "OK" - }, - "newFolder": "新建文件夹", - "newSnippet": "新建代码片段", - "newFragment": "新建子片段", - "addDescription": "添加描述", - "addToFavorites": "添加至收藏夹", - "addTag": "添加标签", - "exportToHtml": "导出 HTML 文件", - "saveScreenshot": "保存截图", - "rename": "重命名", - "duplicate": "创建副本", - "delete": "删除", - "deleteNow": "立即删除", - "defaultLanguage": "默认语言", - "removeFromFavorites": "从收藏夹移除", - "emptyTrash": "清空回收站", - "close": "关闭", - "folder": { - "untitled": "未命名文件夹", - "plural": "文件夹" - }, - "snippet": { - "untitled": "未命名代码片段", - "plural": "代码片段", - "emptyName": "请输入该代码片段名称", - "selectedMultiple": "已选中 {{count}} 个代码片段", - "noSelected": "未选中代码片段" - }, - "fragment": "子片段", - "search": "搜索", - "line": "行", - "column": "列", - "sidebar": { - "inbox": "暂存区", - "favorites": "收藏夹", - "allSnippets": "所有的", - "trash": "回收站", - "untitled": "未命名文件夹", - "folders": "文件夹", - "library": "库", - "tags": "标签" - }, - "darkMode": "深色模式", - "background": "背景", - "restartApp": "重启 massCode", - "updateAvailable": "存在新版本", - "hide": "隐藏", - "show": "显示", - "collapse-all": "全部展开", - "expand-all": "全部折叠", - "restore": "还原", - "copy-snippet-link": "复制链接" -} diff --git a/src/main/services/i18n/locales/zh_CN/dialog.json b/src/main/services/i18n/locales/zh_CN/dialog.json deleted file mode 100644 index a391e728..00000000 --- a/src/main/services/i18n/locales/zh_CN/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "你是否确定要永久删除 {{name}} ?", - "deleteConfirmMultipleSnippets": "你是否确定要永久删除 {{count}} 个选中的代码片段?", - "noUndo": "本操作将无法撤销。", - "allSnippetsMoveToTrash": "本文件夹内的所有代码片段将被移动至回收站。", - "deleteTag": "将会从所有拥有该标签的代码片段中删除该标签。", - "emptyTrash": "你是否确定要永久删除回收站内的所有代码片段?", - "migrateConfirm": [ - "你是否确定要从 {{name}} 迁移数据?", - "在迁移过程中,当前的库将被覆盖。" - ], - "createDb": "请选择其他文件夹" -} diff --git a/src/main/services/i18n/locales/zh_CN/menu.json b/src/main/services/i18n/locales/zh_CN/menu.json deleted file mode 100644 index f19a46cc..00000000 --- a/src/main/services/i18n/locales/zh_CN/menu.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "首选项", - "update": { - "label": "检查更新…", - "message": "新版本 {{newVersion}} 现在已经可以下载。\n现在的版本是 {{oldVersion}} 。", - "button": ["前往下载", "OK"], - "noUpdate": "当前没有可用的更新。" - }, - "quit": "退出 massCode", - "about": "关于 massCode", - "hide": "最小化 massCode", - "hideOther": "最小化其它窗口", - "showAll": "显示所有窗口" - }, - "help": { - "label": "帮助", - "website": "访问官网", - "documentation": "访问文档", - "viewInGitHub": "访问 GitHub", - "changeLog": "更新日志", - "reportIssue": "提交 Issue", - "giveStar": "给个 Star", - "extension": { - "vscode": "VS Code 插件", - "raycast": "Raycast 插件", - "alfred": "Alfred 插件" - }, - "donate": { - "openCollective": "通过 Open Collective 捐赠", - "payPal": "通过 PayPal 捐赠" - }, - "twitter": "访问作者 Twitter", - "devTools": "开发者工具", - "links": { - "snippets": "代码片段分享站" - } - }, - "file": { - "label": "文件", - "find": "查找" - }, - "view": { - "label": "查看", - "sortBy": { - "label": "排序方式", - "dateModified": "根据修改日期", - "dateCreated": "根据创建日期", - "name": "根据片段名" - } - }, - "edit": { - "label": "编辑", - "undo": "撤销", - "redo": "恢复", - "cut": "剪切", - "copy": "复制", - "paste": "粘贴", - "delete": "删除", - "selectAll": "全选" - }, - "editor": { - "label": "编辑器", - "copy": "将代码片段复制至剪贴板", - "format": "格式化", - "previewCode": "预览 HTML 和 CSS", - "previewScreenshot": "生成并预览代码截图", - "previewMarkdown": "预览 Markdown", - "fontSizeIncrease": "增加字体大小", - "fontSizeDecrease": "减小字体大小", - "fontSizeReset": "重置字体大小" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "演示模式", - "preview": "预览模式" - }, - "history": { - "label": "历史记录", - "back": "后退", - "forward": "前进" - } -} diff --git a/src/main/services/i18n/locales/zh_CN/preferences.json b/src/main/services/i18n/locales/zh_CN/preferences.json deleted file mode 100644 index 2d814482..00000000 --- a/src/main/services/i18n/locales/zh_CN/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "首选项", - "storage": { - "label": "存储路径", - "migrate": "迁移", - "count": "总计" - }, - "editor": { - "label": "编辑器", - "fontSize": "字体大小", - "fontFamily": "字体系列", - "wrap": { - "label": "自动换行", - "wordWrap": "开启", - "off": "关闭" - }, - "tabSize": "Tab 空格数", - "showInvisibles": "显示空格与换行符", - "highlightLine": "高亮光标所在行整行", - "highlightGutter": "高亮光标所在行行号", - "matchBrackets": "括号匹配", - "prettier": { - "label": "Prettier", - "trailingComma": { - "label": "尾后逗号", - "none": "None", - "all": "All", - "es5": "ES5" - }, - "semi": "句尾添加分号", - "singleQuote": "使用单引号代替双引号" - } - }, - "appearance": { - "label": "外观", - "theme": { - "label": "主题", - "light": "浅色", - "dark": "深色" - } - }, - "language": { - "label": "语言" - }, - "markdown": { - "label": "Markdown", - "codeRenderer": "代码块渲染器" - } -} diff --git a/src/main/services/i18n/locales/zh_CN/special.json b/src/main/services/i18n/locales/zh_CN/special.json deleted file mode 100644 index a093093f..00000000 --- a/src/main/services/i18n/locales/zh_CN/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "要使用 iCloud Drive、Google Drive 和 Dropbox 等同步服务,只需将存储路径设置为相应的同步文件夹即可。", - "migrate": { - "1": "从 massCode v1.0 迁移:选择包含数据库文件的文件夹。", - "2": "从 SnippetsLab 迁移:选择 JSON 文件。", - "3": [ - "从 SnippetsLab 迁移将会遇到一些局限:", - "低于2.1版的 SnippetsLab 因为沒有嵌套文件夹将只有一层文件夹。", - "某些片段可能会因为其语言暂时不被 massCode 支持而被识别为纯文本。" - ] - }, - "htmlCssPreview": "添加带有 HTML 和 CSS 语言的片段来查看预览结果。", - "codeBlockRenderer": [ - "当使用 Codemirror 渲染时, 则必须为代码块设置对应的", - "编程语言" - ] - }, - "success": { - "migrate": "数据库迁移成功。" - }, - "error": { - "folderContainDb": "文件夹内已存在 \"db.json\"。", - "folderNotContainDb": "文件夹内不存在 \"db.json\"。" - }, - "unsponsored": "未赞助的", - "supportMessage": "Hi,我是 Anton 👋

    \n感谢你使用 massCode 。如果你觉得这个应用对你很有帮助,请{{-tagStart}} 捐赠 {{-tagEnd}}。这将激励我继续开发这个项目。", - "snippetsShowcase": "前端片段社区" -} diff --git a/src/main/services/i18n/locales/zh_HK/common.json b/src/main/services/i18n/locales/zh_HK/common.json deleted file mode 100644 index eee1655e..00000000 --- a/src/main/services/i18n/locales/zh_HK/common.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "button": { - "moveStorage": "更改存儲路徑", - "openStorage": "打開現有存儲", - "fromMassCodeV1": "來自 massCode v1.0", - "fromSnippetsLab": "來自 SnippetsLab", - "confirm": "確認", - "cancel": "取消", - "update": ["前往 GitHub", "OK"], - "ok": "OK" - }, - "newFolder": "新建文件夾", - "newSnippet": "新建代碼片段", - "newFragment": "新建子片段", - "addDescription": "添加描述", - "addToFavorites": "添加至收藏夾", - "addTag": "添加標籤", - "exportToHtml": "導出 HTML 文件", - "saveScreenshot": "保存截圖", - "rename": "重命名", - "duplicate": "創建副本", - "delete": "刪除", - "deleteNow": "立即刪除", - "defaultLanguage": "默認語言", - "removeFromFavorites": "從收藏夾移除", - "emptyTrash": "清空回收站", - "close": "關閉", - "folder": { - "untitled": "未命名文件夾", - "plural": "文件夾" - }, - "snippet": { - "untitled": "未命名代碼片段", - "plural": "代碼片段", - "emptyName": "請輸入該代碼片段名稱", - "selectedMultiple": "已選中 {{count}} 個代碼片段", - "noSelected": "未選中代碼片段" - }, - "fragment": "子片段", - "search": "搜索", - "line": "行", - "column": "欄", - "sidebar": { - "inbox": "暫存區", - "favorites": "收藏夾", - "allSnippets": "所有的", - "trash": "回收站", - "untitled": "未命名文件夾", - "folders": "文件夾", - "library": "庫", - "tags": "標籤" - }, - "darkMode": "深色模式", - "background": "背景", - "restartApp": "重啓 massCode", - "updateAvailable": "存在新版本", - "hide": "隱藏", - "show": "顯示", - "collapse-all": "全部展開", - "expand-all": "全部摺疊", - "restore": "回復", - "copy-snippet-link": "複製連結" -} diff --git a/src/main/services/i18n/locales/zh_HK/dialog.json b/src/main/services/i18n/locales/zh_HK/dialog.json deleted file mode 100644 index e3fc2742..00000000 --- a/src/main/services/i18n/locales/zh_HK/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "你是否確定要永久刪除 {{name}} ?", - "deleteConfirmMultipleSnippets": "你是否確定要永久刪除 {{count}} 個選中的代碼片段?", - "noUndo": "本操作將無法撤銷。", - "allSnippetsMoveToTrash": "本文件夾內的所有代碼片段將被移動至回收站。", - "deleteTag": "將會從所有擁有該標籤的代碼片段中刪除該標籤。", - "emptyTrash": "你是否確定要永久刪除回收站內的所有代碼片段?", - "migrateConfirm": [ - "你是否確定要從 {{name}} 遷移數據?", - "在遷移過程中,當前的庫將被覆蓋。" - ], - "createDb": "請選擇其他文件夾" -} diff --git a/src/main/services/i18n/locales/zh_HK/menu.json b/src/main/services/i18n/locales/zh_HK/menu.json deleted file mode 100644 index 9f97bf55..00000000 --- a/src/main/services/i18n/locales/zh_HK/menu.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "首選項", - "update": { - "label": "檢查更新…", - "message": "新版本 {{newVersion}} 現在已經可以下載。\n現在的版本是 {{oldVersion}} 。", - "button": ["前往下载", "OK"], - "noUpdate": "當前沒有可用的更新。" - }, - "quit": "退出 massCode", - "about": "關於 massCode", - "hide": "最小化 massCode", - "hideOther": "最小化其它窗口", - "showAll": "顯示所有窗口" - }, - "help": { - "label": "幫助", - "website": "訪問官網", - "documentation": "訪問文檔", - "viewInGitHub": "訪問 GitHub", - "changeLog": "更新日誌", - "reportIssue": "提交 Issue", - "giveStar": "給個 Star", - "extension": { - "vscode": "VS Code 插件", - "raycast": "Raycast 插件", - "alfred": "Alfred 插件" - }, - "donate": { - "openCollective": "通過 Open Collective 捐贈", - "payPal": "通過 PayPal 捐贈" - }, - "twitter": "訪問作者 Twitter", - "devTools": "開發者工具", - "links": { - "snippets": "代碼片段分享站" - } - }, - "file": { - "label": "文件", - "find": "查找" - }, - "view": { - "label": "查看", - "sortBy": { - "label": "排序方式", - "dateModified": "根據修改日期", - "dateCreated": "根據創建日期", - "name": "根據片段名" - } - }, - "edit": { - "label": "編輯", - "undo": "撤銷", - "redo": "恢復", - "cut": "剪切", - "copy": "複製", - "paste": "粘貼", - "delete": "刪除", - "selectAll": "全選" - }, - "editor": { - "label": "編輯器", - "copy": "將代碼片段複製至剪貼板", - "format": "格式化", - "previewCode": "預覽 HTML 和 CSS", - "previewScreenshot": "生成並預覽代碼截圖", - "previewMarkdown": "預覽", - "fontSizeIncrease": "增加字體大小", - "fontSizeDecrease": "減少字體大小", - "fontSizeReset": "重置字體大小" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "演示模式", - "preview": "預覽模式" - }, - "history": { - "label": "歷史記錄", - "back": "回上一頁", - "forward": "到下一頁" - } -} diff --git a/src/main/services/i18n/locales/zh_HK/special.json b/src/main/services/i18n/locales/zh_HK/special.json deleted file mode 100644 index 023afdca..00000000 --- a/src/main/services/i18n/locales/zh_HK/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "要使用 iCloud Drive、Google Drive 和 Dropbox 等同步服務,只需將存儲路徑設置為相應的同步文件夾即可。", - "migrate": { - "1": "從 massCode v1.0 遷移:選擇包含數據庫文件的文件夾。", - "2": "從 SnippetsLab 遷移:選擇 JSON 文件。", - "3": [ - "從 SnippetsLab 遷移將會遇到一些侷限:", - "低於2.1版的 SnippetsLab 因為沒有嵌套文件夾將只有一層文件夾。", - "某些片段可能會因為其語言暫時不被 massCode 支持而被識別為純文本。" - ] - }, - "htmlCssPreview": "添加帶有 HTML 和 CSS 語言的片段來查看預覽結果。", - "codeBlockRenderer": [ - "當使用 Codemirror 渲染時, 則必須為代碼塊設置對應的", - "編程語言" - ] - }, - "success": { - "migrate": "數據庫遷移成功。" - }, - "error": { - "folderContainDb": "文件夾內已存在 \"db.json\"。", - "folderNotContainDb": "文件夾內不存在 \"db.json\"。" - }, - "unsponsored": "未贊助的", - "supportMessage": "Hi,我是 Anton 👋

    \n感謝你使用 massCode 。如果你覺得這個應用對你很有幫助,請{{-tagStart}} 捐贈 {{-tagEnd}}。這將激勵我繼續開發這個項目。", - "snippetsShowcase": "前端片段社群" -} diff --git a/src/main/services/i18n/locales/zh_TW/common.json b/src/main/services/i18n/locales/zh_TW/common.json deleted file mode 100644 index 7115839f..00000000 --- a/src/main/services/i18n/locales/zh_TW/common.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "button": { - "moveStorage": "更改儲存路徑", - "openStorage": "開啟現有儲存", - "fromMassCodeV1": "來自 massCode v1.0", - "fromSnippetsLab": "來自 SnippetsLab", - "confirm": "確認", - "cancel": "取消", - "update": ["前往 GitHub", "OK"], - "ok": "OK" - }, - "newFolder": "新建資料夾", - "newSnippet": "新建程式碼片段", - "newFragment": "新建子片段", - "addDescription": "新增描述", - "addToFavorites": "新增至收藏夾", - "addTag": "新增標籤", - "exportToHtml": "匯出 HTML 檔案", - "saveScreenshot": "儲存截圖", - "rename": "重新命名", - "duplicate": "建立副本", - "delete": "刪除", - "deleteNow": "立即刪除", - "defaultLanguage": "預設語言", - "removeFromFavorites": "從收藏夾移除", - "emptyTrash": "清空回收站", - "close": "關閉", - "folder": { - "untitled": "未命名資料夾", - "plural": "資料夾" - }, - "snippet": { - "untitled": "未命名程式碼片段", - "plural": "程式碼片段", - "emptyName": "請輸入該程式碼片段名稱", - "selectedMultiple": "已選中 {{count}} 個程式碼片段", - "noSelected": "未選中程式碼片段" - }, - "fragment": "子片段", - "search": "搜尋", - "line": "行", - "column": "欄", - "sidebar": { - "inbox": "暫存區", - "favorites": "收藏夾", - "allSnippets": "所有的", - "trash": "回收站", - "untitled": "未命名資料夾", - "folders": "資料夾", - "library": "庫", - "tags": "標籤" - }, - "darkMode": "深色模式", - "background": "背景", - "restartApp": "重啟 massCode", - "updateAvailable": "存在新版本", - "hide": "隱藏", - "show": "顯示", - "collapse-all": "全部展開", - "expand-all": "全部摺疊", - "restore": "回復", - "copy-snippet-link": "複製連結" -} diff --git a/src/main/services/i18n/locales/zh_TW/dialog.json b/src/main/services/i18n/locales/zh_TW/dialog.json deleted file mode 100644 index 8bee9f76..00000000 --- a/src/main/services/i18n/locales/zh_TW/dialog.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "deleteConfirm": "你是否確定要永久刪除 {{name}} ?", - "deleteConfirmMultipleSnippets": "你是否確定要永久刪除 {{count}} 個選中的程式碼片段?", - "noUndo": "本操作將無法撤銷。", - "allSnippetsMoveToTrash": "本資料夾內的所有程式碼片段將被移動至回收站。", - "deleteTag": "將會從所有擁有該標籤的程式碼片段中刪除該標籤。", - "emptyTrash": "你是否確定要永久刪除回收站內的所有程式碼片段?", - "migrateConfirm": [ - "你是否確定要從 {{name}} 遷移資料?", - "在遷移過程中,當前的庫將被覆蓋。" - ], - "createDb": "請選擇其他資料夾" -} diff --git a/src/main/services/i18n/locales/zh_TW/menu.json b/src/main/services/i18n/locales/zh_TW/menu.json deleted file mode 100644 index 19da14e5..00000000 --- a/src/main/services/i18n/locales/zh_TW/menu.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "app": { - "label": "massCode", - "preferences": "首選項", - "update": { - "label": "檢查更新…", - "message": "新版本 {{newVersion}} 現在已經可以下載。\n現在的版本是 {{oldVersion}} 。", - "button": ["前往下载", "OK"], - "noUpdate": "當前沒有可用的更新。" - }, - "quit": "退出 massCode", - "about": "關於 massCode", - "hide": "最小化 massCode", - "hideOther": "最小化其它視窗", - "showAll": "顯示所有視窗" - }, - "help": { - "label": "幫助", - "website": "訪問官網", - "documentation": "訪問文件", - "viewInGitHub": "訪問 GitHub", - "changeLog": "更新日誌", - "reportIssue": "提交 Issue", - "giveStar": "給個 Star", - "extension": { - "vscode": "VS Code 外掛", - "raycast": "Raycast 外掛", - "alfred": "Alfred 外掛" - }, - "donate": { - "openCollective": "透過 Open Collective 捐贈", - "payPal": "透過 PayPal 捐贈" - }, - "twitter": "訪問作者 Twitter", - "devTools": "開發人員工具", - "links": { - "snippets": "程式碼片段分享站" - } - }, - "file": { - "label": "檔案", - "find": "尋找" - }, - "view": { - "label": "檢視", - "sortBy": { - "label": "排序按照", - "dateModified": "修改日期", - "dateCreated": "建立日期", - "name": "片段名" - } - }, - "edit": { - "label": "編輯", - "undo": "復原", - "redo": "取消復原", - "cut": "剪下", - "copy": "複製", - "paste": "貼上", - "delete": "刪除", - "selectAll": "全選" - }, - "editor": { - "label": "編輯器", - "copy": "將程式碼片段複製至剪貼簿", - "format": "格式化", - "previewCode": "預覽 HTML 和 CSS", - "previewScreenshot": "生成並預覽程式碼擷圖", - "previewMarkdown": "預覽 Markdown", - "fontSizeIncrease": "增加字體大小", - "fontSizeDecrease": "減少字體大小", - "fontSizeReset": "重置字體大小" - }, - "markdown": { - "label": "Markdown", - "presentationMode": "演示模式", - "preview": "預覽模式" - }, - "history": { - "label": "歷史記錄", - "back": "回上一頁", - "forward": "到下一頁" - } -} diff --git a/src/main/services/i18n/locales/zh_TW/preferences.json b/src/main/services/i18n/locales/zh_TW/preferences.json deleted file mode 100644 index 7325fdee..00000000 --- a/src/main/services/i18n/locales/zh_TW/preferences.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "首選項", - "storage": { - "label": "儲存路徑", - "migrate": "遷移", - "count": "總計" - }, - "editor": { - "label": "編輯器", - "fontSize": "字型大小", - "fontFamily": "字型系列", - "wrap": { - "label": "自動換行", - "wordWrap": "開啟", - "off": "關閉" - }, - "tabSize": "Tab 空格數", - "showInvisibles": "顯示空格與換行符", - "highlightLine": "高亮游標所在行整行", - "highlightGutter": "高亮游標所在行行號", - "matchBrackets": "括號匹配", - "prettier": { - "label": "Prettier", - "trailingComma": { - "label": "尾後逗號", - "none": "None", - "all": "All", - "es5": "ES5" - }, - "semi": "句尾新增分號", - "singleQuote": "使用單引號代替雙引號" - } - }, - "appearance": { - "label": "外觀", - "theme": { - "label": "主題", - "light": "淺色", - "dark": "深色" - } - }, - "language": { - "label": "語言" - }, - "markdown": { - "label": "Markdown", - "codeRenderer": "程式碼塊渲染器" - } -} diff --git a/src/main/services/i18n/locales/zh_TW/special.json b/src/main/services/i18n/locales/zh_TW/special.json deleted file mode 100644 index b4d03de5..00000000 --- a/src/main/services/i18n/locales/zh_TW/special.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "description": { - "storage": "要使用 iCloud Drive、Google Drive 和 Dropbox 等同步服務,只需將儲存路徑設定為相應的同步資料夾即可。", - "migrate": { - "1": "從 massCode v1.0 遷移:選擇包含資料庫檔案的資料夾。", - "2": "從 SnippetsLab 遷移:選擇 JSON 檔案。", - "3": [ - "從 SnippetsLab 遷移將會遇到一些侷限:", - "低於2.1版的 SnippetsLab 因為沒有巢狀資料夾將只有一層資料夾。", - "某些片段可能會因為其語言暫時不被 massCode 支持而被識別為純文字。" - ] - }, - "htmlCssPreview": "新增帶有 HTML 和 CSS 語言的片段來檢視預覽結果。", - "codeBlockRenderer": [ - "當使用 Codemirror 渲染時, 則必須為程式碼塊設定對應的", - "程式語言" - ] - }, - "success": { - "migrate": "資料庫遷移成功。" - }, - "error": { - "folderContainDb": "資料夾內已存在 \"db.json\"。", - "folderNotContainDb": "資料夾內不存在 \"db.json\"。" - }, - "unsponsored": "未贊助的", - "supportMessage": "Hi,我是 Anton 👋

    \n感謝你使用 massCode 。如果你覺得這個應用很有幫助,請{{-tagStart}} 捐贈 {{-tagEnd}}。這將激勵我繼續開發這個專案。", - "snippetsShowcase": "前端片段社群" -} diff --git a/src/main/services/ipc/context-menu.ts b/src/main/services/ipc/context-menu.ts deleted file mode 100644 index d919ada2..00000000 --- a/src/main/services/ipc/context-menu.ts +++ /dev/null @@ -1,421 +0,0 @@ -import { createMenu } from '../../components/menu' -import type { MenuItemConstructorOptions } from 'electron' -import { BrowserWindow, MenuItem, dialog, ipcMain } from 'electron' -import type { - ContextMenuRequest, - ContextMenuResponse -} from '@shared/types/main' -import { languages } from '../../../renderer/components/editor/languages' -import i18n from '../i18n' - -export const subscribeToContextMenu = () => { - ipcMain.handle( - 'context-menu:snippet-fragment', - async (event, payload) => { - const { name, type } = payload - - return new Promise(resolve => { - const menu = createMenu([ - { - label: `${i18n.t('rename')} ${name}`, - click: () => - resolve({ - action: 'rename', - type, - data: payload - }) - }, - { type: 'separator' }, - { - label: `${i18n.t('delete')} ${name}`, - click: () => { - const buttonId = dialog.showMessageBoxSync( - BrowserWindow.getFocusedWindow()!, - { - message: i18n.t('dialog:deleteConfirm', { name }), - detail: i18n.t('dialog:noUndo'), - buttons: [i18n.t('button.confirm'), i18n.t('button.cancel')], - defaultId: 0, - cancelId: 1 - } - ) - if (buttonId === 0) { - resolve({ - action: 'delete', - type, - data: payload - }) - } - } - } - ]) - - menu.popup({ window: BrowserWindow.getFocusedWindow()! }) - }) - } - ) - - ipcMain.handle( - 'context-menu:snippet', - async (event, payload) => { - const { name, type, selectedCount } = payload - - return new Promise(resolve => { - const menu = createMenu([]) - - const defaultMenu: MenuItemConstructorOptions[] = [ - { - label: i18n.t('addToFavorites'), - click: () => { - resolve({ - action: 'favorites', - type, - data: true - }) - } - }, - { type: 'separator' }, - { - label: i18n.t('copy-snippet-link'), - click: () => { - resolve({ - action: 'copy-snippet-link', - type, - data: true - }) - } - }, - { type: 'separator' }, - { - label: i18n.t('duplicate'), - click: () => { - resolve({ - action: 'duplicate', - type, - data: undefined - }) - } - }, - { - label: i18n.t('delete'), - click: () => { - resolve({ - action: 'delete', - type, - data: undefined - }) - } - } - ] - - const favoritesMenu: MenuItemConstructorOptions[] = [ - { - label: i18n.t('removeFromFavorites'), - click: () => { - resolve({ - action: 'favorites', - type, - data: false - }) - } - }, - { type: 'separator' }, - { - label: i18n.t('delete'), - click: () => { - resolve({ - action: 'delete', - type, - data: undefined - }) - } - } - ] - - const trashMenu: MenuItemConstructorOptions[] = [ - { - label: i18n.t('deleteNow'), - click: () => { - const message = - selectedCount === 0 - ? i18n.t('dialog:deleteConfirm', { name }) - : i18n.t('dialog:deleteConfirmMultipleSnippets', { - count: selectedCount - }) - const buttonId = dialog.showMessageBoxSync( - BrowserWindow.getFocusedWindow()!, - { - message, - detail: i18n.t('dialog:noUndo'), - buttons: [i18n.t('button.confirm'), i18n.t('button.cancel')], - defaultId: 0, - cancelId: 1 - } - ) - - if (buttonId === 0) { - resolve({ - action: 'delete', - type, - data: undefined - }) - } else { - resolve({ - action: 'none', - type, - data: undefined - }) - } - } - }, - { - label: i18n.t('restore'), - click: () => { - resolve({ - action: 'restore-from-trash', - type, - data: undefined - }) - } - } - ] - - if (type === 'folder' || type === 'all' || type === 'inbox') { - defaultMenu.forEach(i => { - menu.append(new MenuItem(i)) - }) - menu.popup({ window: BrowserWindow.getFocusedWindow()! }) - } - - if (type === 'favorites') { - favoritesMenu.forEach(i => { - menu.append(new MenuItem(i)) - }) - menu.popup({ window: BrowserWindow.getFocusedWindow()! }) - } - - if (type === 'trash') { - trashMenu.forEach(i => { - menu.append(new MenuItem(i)) - }) - menu.popup({ window: BrowserWindow.getFocusedWindow()! }) - } - - menu.on('menu-will-close', () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'context-menu:close' - ) - }) - }) - } - ) - - ipcMain.handle( - 'context-menu:library', - async (event, payload) => { - const { name, type, data } = payload - - return new Promise(resolve => { - const menu = createMenu([]) - - const createLanguageMenu = () => { - return languages.map(i => { - return { - label: i.name, - type: 'radio', - checked: i.value === data.defaultLanguage, - click: () => { - resolve({ - action: 'update:language', - type, - data: i.value - }) - } - } - }) as MenuItemConstructorOptions[] - } - - const folderMenu: MenuItemConstructorOptions[] = [ - { - label: i18n.t('newFolder'), - click: () => { - resolve({ - action: 'new', - type, - data: undefined - }) - } - }, - { type: 'separator' }, - { - label: i18n.t('rename'), - click: () => { - resolve({ - action: 'rename', - type, - data: payload - }) - } - }, - { - label: i18n.t('delete'), - click: () => { - const buttonId = dialog.showMessageBoxSync( - BrowserWindow.getFocusedWindow()!, - { - message: i18n.t('dialog:deleteConfirm', { name }), - detail: i18n.t('dialog:allSnippetsMoveToTrash'), - buttons: [i18n.t('delete'), i18n.t('button.cancel')], - defaultId: 0, - cancelId: 1 - } - ) - - if (buttonId === 0) { - resolve({ - action: 'delete', - type, - data: undefined - }) - } else { - resolve({ - action: 'none', - type, - data: undefined - }) - } - } - }, - { type: 'separator' }, - { - label: i18n.t('collapse-all'), - click: () => { - resolve({ - action: 'collapse-all', - type, - data: undefined - }) - } - }, - { - label: i18n.t('expand-all'), - click: () => { - resolve({ - action: 'expand-all', - type, - data: undefined - }) - } - }, - { type: 'separator' }, - { - label: i18n.t('defaultLanguage'), - submenu: createLanguageMenu() - }, - { type: 'separator' }, - { - label: i18n.t('set-custom-icon'), - click: () => { - resolve({ - action: 'set-custom-icon', - type, - data: undefined - }) - } - } - ] - - const tagMenu: MenuItemConstructorOptions[] = [ - { - label: i18n.t('delete'), - click: () => { - const buttonId = dialog.showMessageBoxSync( - BrowserWindow.getFocusedWindow()!, - { - message: i18n.t('dialog:deleteConfirm', { name }), - detail: i18n.t('dialog:deleteTag'), - buttons: [i18n.t('delete'), i18n.t('button.cancel')], - defaultId: 0, - cancelId: 1 - } - ) - - if (buttonId === 0) { - resolve({ - action: 'delete', - type, - data: undefined - }) - } else { - resolve({ - action: 'none', - type, - data: undefined - }) - } - } - } - ] - - const trashMenu: MenuItemConstructorOptions[] = [ - { - label: i18n.t('emptyTrash'), - click: () => { - const buttonId = dialog.showMessageBoxSync( - BrowserWindow.getFocusedWindow()!, - { - message: i18n.t('dialog:emptyTrash'), - detail: i18n.t('dialog:noUndo'), - buttons: [i18n.t('delete'), i18n.t('button.cancel')], - defaultId: 0, - cancelId: 1 - } - ) - - if (buttonId === 0) { - resolve({ - action: 'delete', - type, - data: undefined - }) - } else { - resolve({ - action: 'none', - type, - data: undefined - }) - } - } - } - ] - - if (type === 'folder') { - folderMenu.forEach(i => { - menu.append(new MenuItem(i)) - }) - menu.popup({ window: BrowserWindow.getFocusedWindow()! }) - } - - if (type === 'tag') { - tagMenu.forEach(i => { - menu.append(new MenuItem(i)) - }) - menu.popup({ window: BrowserWindow.getFocusedWindow()! }) - } - - if (type === 'trash') { - trashMenu.forEach(i => { - menu.append(new MenuItem(i)) - }) - menu.popup({ window: BrowserWindow.getFocusedWindow()! }) - } - - menu.on('menu-will-close', () => { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'context-menu:close' - ) - }) - }) - } - ) -} diff --git a/src/main/services/ipc/dialog.ts b/src/main/services/ipc/dialog.ts deleted file mode 100644 index 9e04a1af..00000000 --- a/src/main/services/ipc/dialog.ts +++ /dev/null @@ -1,46 +0,0 @@ -import type { DialogRequest, MessageBoxRequest } from '@shared/types/main' -import { BrowserWindow, dialog, ipcMain } from 'electron' - -export const subscribeToDialog = () => { - ipcMain.handle('main:open-dialog', (event, payload) => { - return new Promise(resolve => { - const { properties, filters } = payload - - const dir = dialog.showOpenDialogSync(BrowserWindow.getFocusedWindow()!, { - properties: properties || ['openDirectory', 'createDirectory'], - filters: filters || [{ name: '*', extensions: ['json'] }] - }) - - if (dir) { - resolve(dir[0]) - } else { - resolve('') - } - }) - }) - - ipcMain.handle( - 'main:open-message-box', - (event, payload) => { - const { message, detail, buttons } = payload - return new Promise(resolve => { - const buttonId = dialog.showMessageBoxSync( - BrowserWindow.getFocusedWindow()!, - { - message, - detail, - buttons, - defaultId: 0, - cancelId: 1 - } - ) - - if (buttonId === 0) { - resolve(true) - } else { - resolve(false) - } - }) - } - ) -} diff --git a/src/main/services/ipc/fs.ts b/src/main/services/ipc/fs.ts deleted file mode 100644 index 6c5e584b..00000000 --- a/src/main/services/ipc/fs.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { store } from '../../store' -import { ipcMain } from 'electron' -import { ensureDirSync, copySync } from 'fs-extra' -import { join, parse } from 'path' -import { nanoid } from 'nanoid' -import slash from 'slash' - -const ASSETS_DIR = 'assets' - -export const subscribeToFs = () => { - ipcMain.handle('main:copy-to-assets', (event, payload) => { - return new Promise(resolve => { - const storagePath = store.preferences.get('storagePath') - const payloadPath = payload - const assetsPath = join(storagePath, ASSETS_DIR) - const { ext } = parse(payloadPath) - - const name = `${nanoid()}${ext}` - const dest = join(assetsPath, name) - - ensureDirSync(assetsPath) - copySync(payloadPath, dest) - - resolve(slash(join(ASSETS_DIR, name))) - }) - }) -} diff --git a/src/main/services/ipc/index.ts b/src/main/services/ipc/index.ts deleted file mode 100644 index fe1cbbc0..00000000 --- a/src/main/services/ipc/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { subscribeToContextMenu } from './context-menu' -import { subscribeToFs } from './fs' -import { subscribeToNotification } from './notifications' -import { subscribeToPrettier } from './prettier' - -export const subscribeToChannels = () => { - subscribeToContextMenu() - subscribeToNotification() - subscribeToPrettier() - subscribeToFs() -} diff --git a/src/main/services/ipc/notifications.ts b/src/main/services/ipc/notifications.ts deleted file mode 100644 index 2d94413f..00000000 --- a/src/main/services/ipc/notifications.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { NotificationRequest } from '@shared/types/main' -import { ipcMain, Notification } from 'electron' - -export const subscribeToNotification = () => { - if (!Notification.isSupported()) return - - ipcMain.handle('main:notification', (event, payload) => { - return new Promise(resolve => { - const { body } = payload - const notification = new Notification({ - title: 'massCode', - body - }) - notification.show() - resolve() - }) - }) -} diff --git a/src/main/services/ipc/prettier.ts b/src/main/services/ipc/prettier.ts deleted file mode 100644 index 74b6537a..00000000 --- a/src/main/services/ipc/prettier.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type { PrettierRequest } from '@shared/types/main' -import { ipcMain } from 'electron' -import { format } from '../prettier' - -export const subscribeToPrettier = () => { - ipcMain.handle('main:prettier', (event, payload) => { - const { source, parser } = payload - return new Promise(resolve => { - const formatted = format(source, parser) - resolve(formatted) - }) - }) -} diff --git a/src/main/services/prettier/index.ts b/src/main/services/prettier/index.ts deleted file mode 100644 index d90d8975..00000000 --- a/src/main/services/prettier/index.ts +++ /dev/null @@ -1,16 +0,0 @@ -import prettier from 'prettier' -import { store } from '../../store' - -export const format = (source: string, parser: string) => { - const editor = store.preferences.get('editor') - - const formatted = prettier.format(source, { - parser, - tabWidth: editor.tabSize, - trailingComma: editor.trailingComma, - semi: editor.semi, - singleQuote: editor.singleQuote - }) - - return formatted -} diff --git a/src/main/services/update-check.ts b/src/main/services/update-check.ts deleted file mode 100644 index 5711fda0..00000000 --- a/src/main/services/update-check.ts +++ /dev/null @@ -1,68 +0,0 @@ -import axios from 'axios' -import { BrowserWindow } from 'electron' -import { version, repository } from '../../../package.json' - -const isDev = process.env.NODE_ENV === 'development' - -export const checkForUpdate = async () => { - if (isDev) return - - try { - const res = await axios.get( - `${repository.replace('github.com', 'api.github.com/repos')}/releases` - ) - - if (res && res.data) { - // Проверяем оставшиеся запросы в лимите - const rateLimitRemaining = res.headers['x-ratelimit-remaining'] - if (rateLimitRemaining && parseInt(rateLimitRemaining) < 5) { - console.warn( - 'GitHub API rate limit близок к исчерпанию:', - rateLimitRemaining - ) - } - - const v3Releases = res.data.filter((release: any) => { - const tagName = release.tag_name.replace('v', '') - return tagName.startsWith('3.') - }) - - if (v3Releases.length > 0) { - const latestV3Release = v3Releases[0] - const latestVersion = latestV3Release.tag_name.replace('v', '') - - if (latestVersion !== version) { - BrowserWindow.getFocusedWindow()?.webContents.send( - 'main:update-available' - ) - return latestVersion - } - } - } - } catch (err: any) { - // Обработка лимита GitHub API - if (err.response?.status === 403 || err.response?.status === 429) { - const resetTime = err.response.headers['x-ratelimit-reset'] - if (resetTime) { - const resetDate = new Date(parseInt(resetTime) * 1000) - console.warn( - 'GitHub API rate limit exceeded. Reset at:', - resetDate.toISOString() - ) - } else { - console.warn('GitHub API rate limit exceeded') - } - return - } - - console.error('Error checking for updates:', err.message || err) - } -} - -export const checkForUpdateWithInterval = () => { - checkForUpdate() - - setInterval(() => { - checkForUpdate() - }, 1000 * 60 * 360) // 6 часов -} diff --git a/src/main/store/constants.ts b/src/main/store/constants.ts new file mode 100644 index 00000000..d6dcba7f --- /dev/null +++ b/src/main/store/constants.ts @@ -0,0 +1,21 @@ +import type { EditorSettings } from './types' + +export const APP_DEFAULTS = { + sizes: { + sidebar: 180, + snippetList: 250, + tagsList: 50, // в % + }, +} + +export const EDITOR_DEFAULTS: EditorSettings = { + fontSize: 13, + fontFamily: 'SF Mono, Consolas, Menlo, Ubuntu Mono, monospace', + wrap: false, + tabSize: 2, + trailingComma: 'all', + semi: false, + singleQuote: false, + highlightLine: false, + matchBrackets: true, +} diff --git a/src/main/store/index.ts b/src/main/store/index.ts index 8351a395..08b85101 100644 --- a/src/main/store/index.ts +++ b/src/main/store/index.ts @@ -3,5 +3,5 @@ import preferences from './module/preferences' export const store = { app, - preferences + preferences, } diff --git a/src/main/store/module/app.ts b/src/main/store/module/app.ts index cad33367..a046d771 100644 --- a/src/main/store/module/app.ts +++ b/src/main/store/module/app.ts @@ -1,5 +1,6 @@ +import type { AppStore } from '../types' import Store from 'electron-store' -import type { AppStore } from '@shared/types/main/store' +import { APP_DEFAULTS } from '../constants' export default new Store({ name: 'app', @@ -7,10 +8,12 @@ export default new Store({ defaults: { bounds: {}, - sidebarWidth: 180, - snippetListWidth: 250, - sort: 'updatedAt', - hideSubfolderSnippets: false, - compactMode: false - } + sizes: { + sidebarWidth: APP_DEFAULTS.sizes.sidebar, + snippetListWidth: APP_DEFAULTS.sizes.snippetList, + tagsListHeight: APP_DEFAULTS.sizes.tagsList, + }, + state: {}, + isAutoMigratedFromJson: false, + }, }) diff --git a/src/main/store/module/preferences.ts b/src/main/store/module/preferences.ts index c9183ff2..bda83293 100644 --- a/src/main/store/module/preferences.ts +++ b/src/main/store/module/preferences.ts @@ -1,42 +1,31 @@ +import type { PreferencesStore } from '../types' +import { homedir, platform } from 'node:os' import Store from 'electron-store' -import { homedir, platform } from 'os' -import type { PreferencesStore } from '@shared/types/main/store' +import { EDITOR_DEFAULTS } from '../constants' const isWin = platform() === 'win32' -const defaultPath = isWin ? homedir() + '\\massCode' : homedir() + '/massCode' -const backupPath = isWin ? `${defaultPath}\\backups` : `${defaultPath}/backups` +const storagePath = isWin ? `${homedir()}\\massCode` : `${homedir()}/massCode` +const backupPath = isWin ? `${storagePath}\\backups` : `${storagePath}/backups` export default new Store({ name: 'preferences', cwd: 'v2', defaults: { - storagePath: defaultPath, - backupPath, - theme: 'light:github', - editor: { - wrap: true, - fontFamily: 'SF Mono, Consolas, Menlo, Ubuntu Mono, monospace', - fontSize: 12, - tabSize: 2, - trailingComma: 'none', - semi: false, - singleQuote: true, - highlightLine: false, - highlightGutter: false, - matchBrackets: false - }, - screenshot: { - background: false, - gradient: ['#D02F98', '#9439CA'], - darkMode: true, - width: 600 - }, + storagePath, + apiPort: 4321, + language: 'en_US', + theme: 'auto', + editor: EDITOR_DEFAULTS, markdown: { - presentationScale: 1.3, - codeRenderer: 'highlight.js' + scale: 1, + }, + backup: { + path: backupPath, + enabled: true, + interval: 6, + maxBackups: 5, }, - language: 'en' - } + }, }) diff --git a/src/main/store/types/index.ts b/src/main/store/types/index.ts new file mode 100644 index 00000000..762c13d6 --- /dev/null +++ b/src/main/store/types/index.ts @@ -0,0 +1,58 @@ +import type ElectronStore from 'electron-store' + +export interface AppStore { + bounds: object + sizes: { + sidebarWidth: number + snippetListWidth: number + tagsListHeight: number + } + state: { + snippetId?: number + snippetContentIndex?: number + folderId?: number + tagId?: number + libraryFilter?: string + } + isAutoMigratedFromJson: boolean + nextDonateNotification?: number +} + +export interface EditorSettings { + fontSize: number + fontFamily: string + wrap: boolean + tabSize: number + trailingComma: 'all' | 'none' | 'es5' + semi: boolean + singleQuote: boolean + highlightLine: boolean + matchBrackets: boolean +} + +export interface MarkdownSettings { + scale: number +} + +export interface BackupSettings { + path: string + enabled: boolean + interval: number + maxBackups: number + lastBackupTime?: number +} + +export interface PreferencesStore { + storagePath: string + apiPort: number + language: string + theme: 'light' | 'dark' | 'auto' + editor: EditorSettings + markdown: MarkdownSettings + backup: BackupSettings +} + +export interface Store { + app: ElectronStore + preferences: ElectronStore +} diff --git a/src/main/types/index.ts b/src/main/types/index.ts new file mode 100644 index 00000000..f2d3234d --- /dev/null +++ b/src/main/types/index.ts @@ -0,0 +1,44 @@ +import type { IpcRendererEvent } from 'electron' +import type { Store } from '../store/types' +import type { Channel } from './ipc' + +export interface EventCallback { + (event?: IpcRendererEvent, ...args: any[]): void +} + +export interface DBQueryArgs { + sql: string + params?: unknown[] +} + +declare global { + interface Window { + electron: { + ipc: { + on: (channel: Channel, cb: EventCallback) => void + send: (channel: Channel, data: any, cb: EventCallback) => void + invoke: (channel: Channel, data: T) => Promise + removeListener: (channel: Channel, cb: EventCallback) => void + removeListeners: (channel: Channel) => void + } + db: { + query: (sql: string, params?: any[]) => Promise + } + store: Store + i18n: { + t: (key: string, options?: any) => string + } + } + } + + // eslint-disable-next-line ts/no-namespace + namespace Electron { + interface IpcMain { + // eslint-disable-next-line ts/method-signature-style + handle( + channel: Channel, + listener: (event: IpcMainInvokeEvent, payload: T) => Promise, + ): void + } + } +} diff --git a/src/main/types/ipc.ts b/src/main/types/ipc.ts new file mode 100644 index 00000000..b9a2a920 --- /dev/null +++ b/src/main/types/ipc.ts @@ -0,0 +1,70 @@ +import type { OpenDialogOptions } from 'electron' + +export type CombineWith = `${U}:${T}` + +type MainMenuAction = + | 'add-description' + | 'copy-snippet' + | 'find' + | 'font-size-decrease' + | 'font-size-increase' + | 'font-size-reset' + | 'format' + | 'goto-preferences' + | 'goto-devtools' + | 'new-folder' + | 'new-fragment' + | 'new-snippet' + | 'open-dialog' + | 'preview-markdown' + | 'preview-mindmap' + | 'preview-code' + | 'presentation-mode' + +type DBAction = + | 'relaod' + | 'move' + | 'migrate' + | 'clear' + | 'backup' + | 'restore' + | 'delete-backup' + | 'backup-list' + | 'start-auto-backup' + | 'stop-auto-backup' + | 'move-backup' + +type SystemAction = + | 'reload' + | 'open-external' + | 'deep-link' + | 'update-available' +type PrettierAction = 'format' +type FsAction = 'assets' + +export type MainMenuChannel = CombineWith +export type DBChannel = CombineWith +export type SystemChannel = CombineWith +export type PrettierChannel = CombineWith +export type FsChannel = CombineWith + +export type Channel = + | MainMenuChannel + | DBChannel + | SystemChannel + | PrettierChannel + | FsChannel + +export interface DialogOptions { + properties?: OpenDialogOptions['properties'] + filters?: OpenDialogOptions['filters'] +} + +export interface PrettierOptions { + text: string + parser: string +} + +export interface FsAssetsOptions { + path: string +} diff --git a/src/main/updates/index.ts b/src/main/updates/index.ts new file mode 100644 index 00000000..aec2b754 --- /dev/null +++ b/src/main/updates/index.ts @@ -0,0 +1,53 @@ +/* eslint-disable node/prefer-global/process */ +import { repository, version } from '../../../package.json' +import { send } from '../ipc' + +interface GitHubRelease { + tag_name: string +} + +const INTERVAL = 1000 * 60 * 60 * 3 // 3 часа +const isDev = process.env.NODE_ENV === 'development' + +export async function fethUpdates() { + if (isDev) { + return + } + + try { + const url = `${repository.replace('github.com', 'api.github.com/repos')}/releases` + + const response = await fetch(url) + const data = (await response.json()) as GitHubRelease[] + + if (!data) { + return + } + + const releases = data.filter((release) => { + const tagName = release.tag_name.replace('v', '') + return tagName.startsWith('4.') + }) + + if (releases.length > 0) { + const latestRelease = releases[0] + const latestVersion = latestRelease.tag_name.replace('v', '') + + if (latestVersion !== version) { + send('system:update-available') + return latestVersion as string + } + } + } + catch (err) { + console.error('Error checking for updates:', err) + } +} + +export function checkForUpdates() { + fethUpdates() + + setInterval(() => { + fethUpdates() + }, INTERVAL) +} diff --git a/src/main/utils/index.ts b/src/main/utils/index.ts deleted file mode 100644 index e4954dd5..00000000 --- a/src/main/utils/index.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Конвертация вложенного строения дерева с 'children' в плоское - * @param {Array} items - массив элементов - * @param {String} link - связь по полю - * @returns {Array} - плоский массив со связями по полю 'parentId' - */ -export function nestedToFlat (items: any[], link = 'id') { - const flatList: any[] = [] - - function flat (items: any[]) { - items.forEach((i, index) => { - if (i.children && i.children.length) { - const children: any[] = i.children.map((item: any, idx: number) => { - return { - ...item, - index: idx, - parentId: i[link] - } - }) - - flatList.push(...children) - - if (!flatList.find(l => l[link] === i[link])) { - flatList.push({ - ...i, - index, - parentId: null - }) - } - - flat(i.children) - } else { - if (!flatList.find(l => l[link] === i[link])) { - flatList.push({ - ...i, - index, - parentId: null - }) - } - } - }) - } - - flat(items) - - return flatList.map(({ children, ...rest }) => rest) -} diff --git a/src/renderer/App.vue b/src/renderer/App.vue index 8fe07b9e..814e5956 100644 --- a/src/renderer/App.vue +++ b/src/renderer/App.vue @@ -1,340 +1,43 @@ - - - diff --git a/src/renderer/assets/css/vendor.css b/src/renderer/assets/css/vendor.css new file mode 100644 index 00000000..f137c4e4 --- /dev/null +++ b/src/renderer/assets/css/vendor.css @@ -0,0 +1,50 @@ + +.ps:hover > .ps__rail-y { + opacity: 1 !important; +} +.ps:hover > .ps__rail-x { + opacity: 1 !important; +} + +.ps__rail-y { + background-color: transparent !important; + width: 5px; +} + +.ps__rail-y:hover .ps__thumb-y { + width: 5px; +} + +.ps__rail-x { + background-color: transparent !important; + width: 5px; +} + +.ps__rail-x:hover { + height: 4px; + background-color: transparent !important; +} + +.ps__rail-x:hover .ps__thumb-x { + height: 5px; +} + +.ps__thumb-x, +.ps__thumb-y { + background-color: var(--color-scrollbar) !important; + z-index: 50; +} + +.ps__thumb-y { + width: 5px; + /* right: 0; */ +} + +.ps__thumb-x { + height: 5px; +} + +.ps--scrolling-y > .ps__rail-y { + opacity: 1 !important; + /* background-color: var(--color-scrollbar) !important; */ +} \ No newline at end of file diff --git a/src/renderer/assets/logo.png b/src/renderer/assets/logo.png new file mode 100644 index 00000000..8232003c Binary files /dev/null and b/src/renderer/assets/logo.png differ diff --git a/src/renderer/assets/scss/ace.scss b/src/renderer/assets/scss/ace.scss deleted file mode 100644 index 0fab2012..00000000 --- a/src/renderer/assets/scss/ace.scss +++ /dev/null @@ -1,27 +0,0 @@ -.ace_editor { - ::-webkit-scrollbar { - width: 5px; - height: 5px; - } - ::-webkit-scrollbar-thumb { - background-color: var(--color-editor-scrollbar); - border-radius: 6px; - } -} -.ace_gutter { - width: 40px !important; - background: transparent !important; - &-layer { - margin-left: -12px; - } -} -.ace_scroller { - left: 40px !important; - &.ace_scroll-left { - box-shadow: none; - border-left: 1px solid var(--color-border); - } -} -.ace_hidden-cursors { - opacity: 0 -} \ No newline at end of file diff --git a/src/renderer/assets/scss/base.scss b/src/renderer/assets/scss/base.scss deleted file mode 100644 index b47860db..00000000 --- a/src/renderer/assets/scss/base.scss +++ /dev/null @@ -1,122 +0,0 @@ -body { - font-family: var(--font-primary); - background-color: var(--color-bg); -} - -#app { - color: var(--color-text); - font-size: var(--text-md); -} - -h1, -h2, -h3, -h4, -h5, -h6 { - font-weight: 600; -} -h1 { - font-size: var(--text-xxxl); - margin: var(--spacing-xl) 0; -} -h2 { - font-size: var(--text-xxl); - margin: var(--spacing-xl) 0; -} -h3 { - font-size: var(--text-xl); - margin: var(--spacing-xl) 0; -} -h3 { - font-size: var(--text-lg); - margin: var(--spacing-lg) 0; -} -h4 { - font-size: var(--text-md); - margin: var(--spacing-md) 0; -} -h5 { - font-size: var(--text-sm); - margin: var(--spacing-xs) 0; -} -h6 { - font-size: var(--text-xs); - text-transform: uppercase; - margin: var(--spacing-xs) 0; - font-weight: 700; -} - -::placeholder { - color: var(--color-text-3); -} - - -.gutter-line { - position: absolute; - top: 0; - right: 0; - width: 1px; - height: 100vh; - background-color: var(--color-border); - cursor: col-resize; - &::after { - content: ''; - display: block; - height: 100%; - width: 8px; - position: absolute; - left: -3px; - z-index: 10; - } -} -.gutter-line-horizontal { - position: absolute; - top: 0; - left: 0; - right: 0; - width: 100%; - height: 1px; - background-color: var(--color-border); - cursor: row-resize; - &::after { - content: ''; - display: block; - height: 8px; - width: 100%; - position: absolute; - top: -2px; - z-index: 10; - } -} - -.desc { - font-size: var(--text-sm); - color: var(--color-text-3); - margin-top: var(--spacing-xs); -} - -.link { - text-decoration: underline; - cursor: pointer; -} - -.table { - width: 100%; - border-collapse: collapse; - border-spacing: 0; - border: 1px solid var(--color-border); - table-layout: fixed; - th, - td { - padding: var(--spacing-xs) var(--spacing-sm); - border: 1px solid var(--color-border); - } - th { - text-align: left; - background-color: var(--color-bg-2); - } - tr:nth-child(even) { - background-color: var(--color-bg-2); - } -} \ No newline at end of file diff --git a/src/renderer/assets/scss/main.scss b/src/renderer/assets/scss/main.scss deleted file mode 100644 index ef9af555..00000000 --- a/src/renderer/assets/scss/main.scss +++ /dev/null @@ -1,7 +0,0 @@ -@import './reset'; -@import './variables'; -@import './markdown'; -@import './base'; -@import './ace'; -@import './themes'; -@import './vendor'; \ No newline at end of file diff --git a/src/renderer/assets/scss/markdown.scss b/src/renderer/assets/scss/markdown.scss deleted file mode 100644 index 808dcf80..00000000 --- a/src/renderer/assets/scss/markdown.scss +++ /dev/null @@ -1,958 +0,0 @@ -.markdown-body { - --scale: 1; - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; - margin: 0; - font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; - font-size: calc(16px * var(--scale)); - line-height: 1.5; - word-wrap: break-word; -} - -.markdown-body .octicon { - display: inline-block; - fill: currentColor; - vertical-align: text-bottom; -} - -.markdown-body h1:hover .anchor .octicon-link:before, -.markdown-body h2:hover .anchor .octicon-link:before, -.markdown-body h3:hover .anchor .octicon-link:before, -.markdown-body h4:hover .anchor .octicon-link:before, -.markdown-body h5:hover .anchor .octicon-link:before, -.markdown-body h6:hover .anchor .octicon-link:before { - width: 16px; - height: 16px; - content: ' '; - display: inline-block; - background-color: currentColor; - -webkit-mask-image: url("data:image/svg+xml,"); - mask-image: url("data:image/svg+xml,"); -} - -.markdown-body details, -.markdown-body figcaption, -.markdown-body figure { - display: block; -} - -.markdown-body summary { - display: list-item; -} - -.markdown-body [hidden] { - display: none !important; -} - -.markdown-body a { - background-color: transparent; - color: #0969da; - text-decoration: none; -} - -.markdown-body a:active, -.markdown-body a:hover { - outline-width: 0; -} - -.markdown-body abbr[title] { - border-bottom: none; - text-decoration: underline dotted; -} - -.markdown-body b, -.markdown-body strong { - font-weight: 600; -} - -.markdown-body dfn { - font-style: italic; -} - -.markdown-body h1 { - margin: .67em 0; - font-weight: 600; - padding-bottom: .3em; - font-size: 2em; - border-bottom: 1px solid hsla(210,18%,87%,1); -} - -.markdown-body mark { - background-color: #fff8c5; - color: #24292f; -} - -.markdown-body small { - font-size: 90%; -} - -.markdown-body sub, -.markdown-body sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -.markdown-body sub { - bottom: -0.25em; -} - -.markdown-body sup { - top: -0.5em; -} - -.markdown-body img { - border-style: none; - max-width: 100%; - box-sizing: content-box; - background-color: #ffffff; -} - -.markdown-body code, -.markdown-body kbd, -.markdown-body pre, -.markdown-body samp { - font-family: monospace,monospace; - font-size: 1em; -} - -.markdown-body figure { - margin: 1em 40px; -} - -.markdown-body hr { - box-sizing: content-box; - overflow: hidden; - background: transparent; - border-bottom: 1px solid hsla(210,18%,87%,1); - height: .25em; - padding: 0; - margin: 24px 0; - background-color: #d0d7de; - border: 0; -} - -.markdown-body input { - font: inherit; - margin: 0; - overflow: visible; - font-family: inherit; - font-size: inherit; - line-height: inherit; -} - -.markdown-body [type=button], -.markdown-body [type=reset], -.markdown-body [type=submit] { - -webkit-appearance: button; -} - -.markdown-body [type=button]::-moz-focus-inner, -.markdown-body [type=reset]::-moz-focus-inner, -.markdown-body [type=submit]::-moz-focus-inner { - border-style: none; - padding: 0; -} - -.markdown-body [type=button]:-moz-focusring, -.markdown-body [type=reset]:-moz-focusring, -.markdown-body [type=submit]:-moz-focusring { - outline: 1px dotted ButtonText; -} - -.markdown-body [type=checkbox], -.markdown-body [type=radio] { - box-sizing: border-box; - padding: 0; -} - -.markdown-body [type=number]::-webkit-inner-spin-button, -.markdown-body [type=number]::-webkit-outer-spin-button { - height: auto; -} - -.markdown-body [type=search] { - -webkit-appearance: textfield; - outline-offset: -2px; -} - -.markdown-body [type=search]::-webkit-search-cancel-button, -.markdown-body [type=search]::-webkit-search-decoration { - -webkit-appearance: none; -} - -.markdown-body ::-webkit-input-placeholder { - color: inherit; - opacity: .54; -} - -.markdown-body ::-webkit-file-upload-button { - -webkit-appearance: button; - font: inherit; -} - -.markdown-body a:hover { - text-decoration: underline; -} - -.markdown-body hr::before { - display: table; - content: ""; -} - -.markdown-body hr::after { - display: table; - clear: both; - content: ""; -} - -.markdown-body table { - border-spacing: 0; - border-collapse: collapse; - display: block; - width: max-content; - max-width: 100%; - overflow: auto; -} - -.markdown-body td, -.markdown-body th { - padding: 0; -} - -.markdown-body details summary { - cursor: pointer; -} - -.markdown-body details:not([open])>*:not(summary) { - display: none !important; -} - -.markdown-body kbd { - display: inline-block; - padding: 3px 5px; - font: 11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; - line-height: 10px; - color: #24292f; - vertical-align: middle; - background-color: #f6f8fa; - border: solid 1px rgba(175,184,193,0.2); - border-bottom-color: rgba(175,184,193,0.2); - border-radius: 6px; - box-shadow: inset 0 -1px 0 rgba(175,184,193,0.2); -} - -.markdown-body h1, -.markdown-body h2, -.markdown-body h3, -.markdown-body h4, -.markdown-body h5, -.markdown-body h6 { - margin-top: 24px; - margin-bottom: 16px; - font-weight: 600; - line-height: 1.25; -} - -.markdown-body h2 { - font-weight: 600; - padding-bottom: .3em; - font-size: 1.5em; - border-bottom: 1px solid hsla(210,18%,87%,1); -} - -.markdown-body h3 { - font-weight: 600; - font-size: 1.25em; -} - -.markdown-body h4 { - font-weight: 600; - font-size: 1em; -} - -.markdown-body h5 { - font-weight: 600; - font-size: .875em; -} - -.markdown-body h6 { - font-weight: 600; - font-size: .85em; - color: #57606a; -} - -.markdown-body p { - margin-top: 0; - margin-bottom: 10px; -} - -.markdown-body blockquote { - margin: 0; - padding: 0 1em; - color: #57606a; - border-left: .25em solid #d0d7de; -} - -.markdown-body ul, -.markdown-body ol { - margin-top: 0; - margin-bottom: 0; - padding-left: 2em; -} - -.markdown-body ol ol, -.markdown-body ul ol { - list-style-type: lower-roman; -} - -.markdown-body ul ul ol, -.markdown-body ul ol ol, -.markdown-body ol ul ol, -.markdown-body ol ol ol { - list-style-type: lower-alpha; -} - -.markdown-body dd { - margin-left: 0; -} - -.markdown-body tt, -.markdown-body code { - font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; - font-size: 12px; -} - -.markdown-body pre { - margin-top: 0; - margin-bottom: 0; - font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; - font-size: 12px; - word-wrap: normal; -} - -.markdown-body .octicon { - display: inline-block; - overflow: visible !important; - vertical-align: text-bottom; - fill: currentColor; -} - -.markdown-body ::placeholder { - color: #6e7781; - opacity: 1; -} - -.markdown-body input::-webkit-outer-spin-button, -.markdown-body input::-webkit-inner-spin-button { - margin: 0; - -webkit-appearance: none; - appearance: none; -} - -.markdown-body .pl-c { - color: #6e7781; -} - -.markdown-body .pl-c1, -.markdown-body .pl-s .pl-v { - color: #0550ae; -} - -.markdown-body .pl-e, -.markdown-body .pl-en { - color: #8250df; -} - -.markdown-body .pl-smi, -.markdown-body .pl-s .pl-s1 { - color: #24292f; -} - -.markdown-body .pl-ent { - color: #116329; -} - -.markdown-body .pl-k { - color: #cf222e; -} - -.markdown-body .pl-s, -.markdown-body .pl-pds, -.markdown-body .pl-s .pl-pse .pl-s1, -.markdown-body .pl-sr, -.markdown-body .pl-sr .pl-cce, -.markdown-body .pl-sr .pl-sre, -.markdown-body .pl-sr .pl-sra { - color: #0a3069; -} - -.markdown-body .pl-v, -.markdown-body .pl-smw { - color: #953800; -} - -.markdown-body .pl-bu { - color: #82071e; -} - -.markdown-body .pl-ii { - color: #f6f8fa; - background-color: #82071e; -} - -.markdown-body .pl-c2 { - color: #f6f8fa; - background-color: #cf222e; -} - -.markdown-body .pl-sr .pl-cce { - font-weight: bold; - color: #116329; -} - -.markdown-body .pl-ml { - color: #3b2300; -} - -.markdown-body .pl-mh, -.markdown-body .pl-mh .pl-en, -.markdown-body .pl-ms { - font-weight: bold; - color: #0550ae; -} - -.markdown-body .pl-mi { - font-style: italic; - color: #24292f; -} - -.markdown-body .pl-mb { - font-weight: bold; - color: #24292f; -} - -.markdown-body .pl-md { - color: #82071e; - background-color: #FFEBE9; -} - -.markdown-body .pl-mi1 { - color: #116329; - background-color: #dafbe1; -} - -.markdown-body .pl-mc { - color: #953800; - background-color: #ffd8b5; -} - -.markdown-body .pl-mi2 { - color: #eaeef2; - background-color: #0550ae; -} - -.markdown-body .pl-mdr { - font-weight: bold; - color: #8250df; -} - -.markdown-body .pl-ba { - color: #57606a; -} - -.markdown-body .pl-sg { - color: #8c959f; -} - -.markdown-body .pl-corl { - text-decoration: underline; - color: #0a3069; -} - -.markdown-body [data-catalyst] { - display: block; -} - -.markdown-body g-emoji { - font-family: "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; - font-size: 1em; - font-style: normal !important; - font-weight: 400; - line-height: 1; - vertical-align: -0.075em; -} - -.markdown-body g-emoji img { - width: 1em; - height: 1em; -} - -.markdown-body::before { - display: table; - content: ""; -} - -.markdown-body::after { - display: table; - clear: both; - content: ""; -} - -.markdown-body>*:first-child { - margin-top: 0 !important; -} - -.markdown-body>*:last-child { - margin-bottom: 0 !important; -} - -.markdown-body a:not([href]) { - color: inherit; - text-decoration: none; -} - -.markdown-body .absent { - color: #cf222e; -} - -.markdown-body .anchor { - float: left; - padding-right: 4px; - margin-left: -20px; - line-height: 1; -} - -.markdown-body .anchor:focus { - outline: none; -} - -.markdown-body p, -.markdown-body blockquote, -.markdown-body ul, -.markdown-body ol, -.markdown-body dl, -.markdown-body table, -.markdown-body pre, -.markdown-body details { - margin-top: 0; - margin-bottom: 16px; -} - -.markdown-body blockquote>:first-child { - margin-top: 0; -} - -.markdown-body blockquote>:last-child { - margin-bottom: 0; -} - -.markdown-body sup>a::before { - content: "["; -} - -.markdown-body sup>a::after { - content: "]"; -} - -.markdown-body h1 .octicon-link, -.markdown-body h2 .octicon-link, -.markdown-body h3 .octicon-link, -.markdown-body h4 .octicon-link, -.markdown-body h5 .octicon-link, -.markdown-body h6 .octicon-link { - color: #24292f; - vertical-align: middle; - visibility: hidden; -} - -.markdown-body h1:hover .anchor, -.markdown-body h2:hover .anchor, -.markdown-body h3:hover .anchor, -.markdown-body h4:hover .anchor, -.markdown-body h5:hover .anchor, -.markdown-body h6:hover .anchor { - text-decoration: none; -} - -.markdown-body h1:hover .anchor .octicon-link, -.markdown-body h2:hover .anchor .octicon-link, -.markdown-body h3:hover .anchor .octicon-link, -.markdown-body h4:hover .anchor .octicon-link, -.markdown-body h5:hover .anchor .octicon-link, -.markdown-body h6:hover .anchor .octicon-link { - visibility: visible; -} - -.markdown-body h1 tt, -.markdown-body h1 code, -.markdown-body h2 tt, -.markdown-body h2 code, -.markdown-body h3 tt, -.markdown-body h3 code, -.markdown-body h4 tt, -.markdown-body h4 code, -.markdown-body h5 tt, -.markdown-body h5 code, -.markdown-body h6 tt, -.markdown-body h6 code { - padding: 0 .2em; - font-size: inherit; -} - -.markdown-body ul.no-list, -.markdown-body ol.no-list { - padding: 0; - list-style-type: none; -} - -.markdown-body ol[type="1"] { - list-style-type: decimal; -} - -.markdown-body ol[type=a] { - list-style-type: lower-alpha; -} - -.markdown-body ol[type=i] { - list-style-type: lower-roman; -} - -.markdown-body div>ol:not([type]) { - list-style-type: decimal; -} - -.markdown-body ul ul, -.markdown-body ul ol, -.markdown-body ol ol, -.markdown-body ol ul { - margin-top: 0; - margin-bottom: 0; -} - -.markdown-body li>p { - margin-top: 16px; -} - -.markdown-body li+li { - margin-top: .25em; -} - -.markdown-body dl { - padding: 0; -} - -.markdown-body dl dt { - padding: 0; - margin-top: 16px; - font-size: 1em; - font-style: italic; - font-weight: 600; -} - -.markdown-body dl dd { - padding: 0 16px; - margin-bottom: 16px; -} - -.markdown-body table th { - font-weight: 600; -} - -.markdown-body table th, -.markdown-body table td { - padding: 6px 13px; - border: 1px solid #d0d7de; -} - -.markdown-body table tr { - background-color: #ffffff; - border-top: 1px solid hsla(210,18%,87%,1); -} - -.markdown-body table tr:nth-child(2n) { - background-color: #f6f8fa; -} - -.markdown-body table img { - background-color: transparent; -} - -.markdown-body img[align=right] { - padding-left: 20px; -} - -.markdown-body img[align=left] { - padding-right: 20px; -} - -.markdown-body .emoji { - max-width: none; - vertical-align: text-top; - background-color: transparent; -} - -.markdown-body span.frame { - display: block; - overflow: hidden; -} - -.markdown-body span.frame>span { - display: block; - float: left; - width: auto; - padding: 7px; - margin: 13px 0 0; - overflow: hidden; - border: 1px solid #d0d7de; -} - -.markdown-body span.frame span img { - display: block; - float: left; -} - -.markdown-body span.frame span span { - display: block; - padding: 5px 0 0; - clear: both; - color: #24292f; -} - -.markdown-body span.align-center { - display: block; - overflow: hidden; - clear: both; -} - -.markdown-body span.align-center>span { - display: block; - margin: 13px auto 0; - overflow: hidden; - text-align: center; -} - -.markdown-body span.align-center span img { - margin: 0 auto; - text-align: center; -} - -.markdown-body span.align-right { - display: block; - overflow: hidden; - clear: both; -} - -.markdown-body span.align-right>span { - display: block; - margin: 13px 0 0; - overflow: hidden; - text-align: right; -} - -.markdown-body span.align-right span img { - margin: 0; - text-align: right; -} - -.markdown-body span.float-left { - display: block; - float: left; - margin-right: 13px; - overflow: hidden; -} - -.markdown-body span.float-left span { - margin: 13px 0 0; -} - -.markdown-body span.float-right { - display: block; - float: right; - margin-left: 13px; - overflow: hidden; -} - -.markdown-body span.float-right>span { - display: block; - margin: 13px auto 0; - overflow: hidden; - text-align: right; -} - -.markdown-body code, -.markdown-body tt { - padding: .2em .4em; - margin: 0; - font-size: 85%; - background-color: rgba(175,184,193,0.2); - border-radius: 6px; -} - -.markdown-body code br, -.markdown-body tt br { - display: none; -} - -.markdown-body del code { - text-decoration: inherit; -} - -.markdown-body pre code { - font-size: 100%; -} - -.markdown-body pre>code { - padding: 0; - margin: 0; - word-break: normal; - white-space: pre; - background: transparent; - border: 0; -} - -.markdown-body .highlight { - margin-bottom: 16px; -} - -.markdown-body .highlight pre { - margin-bottom: 0; - word-break: normal; -} - -.markdown-body .highlight pre, -.markdown-body pre { - padding: 16px; - overflow: auto; - font-size: 85%; - line-height: 1.45; - background-color: #f6f8fa; - border-radius: 6px; -} - -.markdown-body pre code, -.markdown-body pre tt { - display: inline; - max-width: auto; - padding: 0; - margin: 0; - overflow: visible; - line-height: inherit; - word-wrap: normal; - background-color: transparent; - border: 0; -} - -.markdown-body .csv-data td, -.markdown-body .csv-data th { - padding: 5px; - overflow: hidden; - font-size: 12px; - line-height: 1; - text-align: left; - white-space: nowrap; -} - -.markdown-body .csv-data .blob-num { - padding: 10px 8px 9px; - text-align: right; - background: #ffffff; - border: 0; -} - -.markdown-body .csv-data tr { - border-top: 0; -} - -.markdown-body .csv-data th { - font-weight: 600; - background: #f6f8fa; - border-top: 0; -} - -.markdown-body .footnotes { - font-size: 12px; - color: #57606a; - border-top: 1px solid #d0d7de; -} - -.markdown-body .footnotes ol { - padding-left: 16px; -} - -.markdown-body .footnotes li { - position: relative; -} - -.markdown-body .footnotes li:target::before { - position: absolute; - top: -8px; - right: -8px; - bottom: -8px; - left: -24px; - pointer-events: none; - content: ""; - border: 2px solid #0969da; - border-radius: 6px; -} - -.markdown-body .footnotes li:target { - color: #24292f; -} - -.markdown-body .footnotes .data-footnote-backref g-emoji { - font-family: monospace; -} - -.markdown-body .task-list-item { - list-style-type: none; -} - -.markdown-body .task-list-item label { - font-weight: 400; -} - -.markdown-body .task-list-item.enabled label { - cursor: pointer; -} - -.markdown-body .task-list-item+.task-list-item { - margin-top: 3px; -} - -.markdown-body .task-list-item .handle { - display: none; -} - -.markdown-body .task-list-item-checkbox { - margin: 0 .2em .25em -1.6em; - vertical-align: middle; -} - -.markdown-body .contains-task-list:dir(rtl) .task-list-item-checkbox { - margin: 0 -1.6em .25em .2em; -} - -.markdown-body ::-webkit-calendar-picker-indicator { - filter: invert(50%); -} - -[data-theme^='light'] { - .markdown-body { - pre { - background-color: rgba(0, 0, 0, 0.03); - } - } -} - -[data-theme^='dark'] { - .markdown-body { - pre { - background-color: rgba(0, 0, 0, 0.15); - } - .CodeMirror-gutter { - background-color: rgba(0, 0, 0, 0.03) !important; - } - } -} \ No newline at end of file diff --git a/src/renderer/assets/scss/mixins.scss b/src/renderer/assets/scss/mixins.scss deleted file mode 100644 index f2729e20..00000000 --- a/src/renderer/assets/scss/mixins.scss +++ /dev/null @@ -1,19 +0,0 @@ -@mixin form-input-default() { - color: var(--color-text); - box-sizing: border-box; - -webkit-appearance: none; - outline: none; - border: none; - line-height: 32px; - height: 32px; - background-color: transparent; - border: 1px solid var(--color-contrast-low); - font-size: var(--text-md); - transition: border-color 0.3s; - &:focus { - transition: border-color 0.3s; - } - &::-webkit-input-placeholder { - color: var(--color-contrast-low); - } -} \ No newline at end of file diff --git a/src/renderer/assets/scss/reset.scss b/src/renderer/assets/scss/reset.scss deleted file mode 100644 index 06dcc218..00000000 --- a/src/renderer/assets/scss/reset.scss +++ /dev/null @@ -1,173 +0,0 @@ -* { - box-sizing: border-box; -} - -html { - line-height: 1.15; - -webkit-text-size-adjust: 100%; -} - -body { - margin: 0; -} - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -hr { - box-sizing: content-box; - height: 0; - overflow: visible; -} - -a { - background-color: transparent; -} - -abbr[title] { - border-bottom: none; - text-decoration: underline dotted; -} - -b, -strong { - font-weight: bolder; -} - -small { - font-size: 80%; -} - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -img { - border-style: none; -} - -button, -input, -optgroup, -select, -textarea { - font-family: inherit; - font-size: 100%; - line-height: 1.15; - margin: 0; - padding: 0; -} - -button, -input { - overflow: visible; -} - -button, -select { - text-transform: none; -} - -button, -[type='button'], -[type='reset'], -[type='submit'] { - -webkit-appearance: button; -} - -button::-moz-focus-inner, -[type='button']::-moz-focus-inner, -[type='reset']::-moz-focus-inner, -[type='submit']::-moz-focus-inner { - border-style: none; - padding: 0; -} - -button:-moz-focusring, -[type='button']:-moz-focusring, -[type='reset']:-moz-focusring, -[type='submit']:-moz-focusring { - outline: 1px dotted ButtonText; -} - -fieldset { - padding: 0.35em 0.75em 0.625em; -} - -legend { - box-sizing: border-box; - color: inherit; - display: table; - max-width: 100%; - white-space: normal; - padding: 0; -} - -progress { - vertical-align: baseline; -} - -textarea { - overflow: auto; -} - -[type='checkbox'], -[type='radio'] { - box-sizing: border-box; - padding: 0; -} - -[type='number']::-webkit-inner-spin-button, -[type='number']::-webkit-outer-spin-button { - height: auto; -} - -[type='search'] { - -webkit-appearance: textfield; - outline-offset: -2px; -} - -[type='search']::-webkit-search-decoration { - -webkit-appearance: none; -} - -::-webkit-file-upload-button { - -webkit-appearance: button; - font: inherit; -} - -summary { - display: list-item; -} - -main, -details { - display: block; -} - -pre, -code, -kbd, -samp { - font-family: monospace, monospace; - font-size: 1em; -} - -template, -[hidden] { - display: none; -} diff --git a/src/renderer/assets/scss/themes.scss b/src/renderer/assets/scss/themes.scss deleted file mode 100644 index 8a360d50..00000000 --- a/src/renderer/assets/scss/themes.scss +++ /dev/null @@ -1,309 +0,0 @@ -//TODO: оптимизировать - -// LIGHT - -[data-theme='light:solarized'] { - --color-primary: hsl(44, 84%, 54%); - - --color-bg: hsl(44, 87%, 94%); - - --color-contrast-lower: hsl(44, 84%, 90%); - --color-contrast-lower-alt: hsl(44, 0%, 98%); - --color-contrast-lower-alt2: hsl(44, 60%, 94%); - --color-contrast-lower-alt3: hsl(44, 60%, 85%); - --color-contrast-lower-alt4: hsl(44, 60%, 75%); - --color-contrast-low: hsl(44, 60%, 60%); - --color-contrast-low-alt: hsl(44, 60%, 70%); - --color-contrast-medium: hsl(44, 60%, 40%); - --color-contrast-high: hsl(44, 60%, 30%); - --color-contrast-higher: hsl(44, 60%, 10%); - - --color-snippet-selected: var(--color-contrast-lower-alt2); - - --color-sidebar: #fff; - --color-sidebar-item-selected: var(--color-contrast-lower-alt2); - - --color-border: var(--color-contrast-lower-alt3); - - --color-button: hsl(44, 60%, 85%); - --color-button-hover: var(--color-contrast-low-alt); - --color-button-action-hover: var(--color-contrast-lower-alt3); - - --color-checkbox: var(--color-contrast-lower-alt); - - --color-input: var(--color-contrast-lower-alt); - - --color-select: var(--color-contrast-lower-alt); - - --color-menu-selected: var(--color-contrast-lower-alt3); - - --color-tag-delete: var(--color-contrast-lower-alt4); -} - -[data-theme='light:material'] { - --color-bg: hsl(0, 0%, 98%); -} - -// DARK - -[data-theme='dark:one'] { - --color-primary: hsl(215, 69%, 45%); - - --color-bg: hsl(220, 13%, 18%); - - --color-contrast-lower: hsl(220, 13%, 20%); - --color-contrast-lower-alt: hsl(220, 13%, 22%); - --color-contrast-lower-alt2: hsl(220, 13%, 25%); - --color-contrast-lower-alt3: hsl(220, 13%, 30%); - --color-contrast-lower-low: hsl(220, 13%, 40%); - --color-contrast-medium: hsl(220, 13%, 50%); - - --color-border: var(--color-contrast-lower-alt2); - - --color-snippet-list: var(--color-bg); - --color-snippet-selected: var(--color-contrast-lower-alt); - - --color-sidebar: var(--color-bg); - --color-sidebar-item-selected: var(--color-contrast-lower-alt); - --color-sidebar-icon: var(--color-text); - - --color-text: hsl(0, 0%, 70%); - - --color-button: var(--color-contrast-lower-alt); - --color-button-hover: var(--color-contrast-lower-alt2); - --color-button-action: var(--color-contrast-low); - --color-button-action-hover: var(--color-contrast-lower-alt2); - - --color-input: var(--color-bg); - - --color-menu-selected: var(--color-contrast-lower-alt); - - --color-tag-delete: var(--color-contrast-lower-alt3); -} - -[data-theme='dark:dracula'] { - --color-primary: hsl(215, 69%, 45%); - - // при конвертации в hsl цвет отличается, поэтому оставляем в hex - --color-bg: #282A36; - - --color-contrast-lower: hsl(231, 15%, 20%); - --color-contrast-lower-alt: hsl(231, 15%, 22%); - --color-contrast-lower-alt2: hsl(231, 15%, 25%); - --color-contrast-lower-alt3: hsl(231, 15%, 30%); - --color-contrast-lower-low: hsl(231, 15%, 40%); - --color-contrast-lower-medium: hsl(231, 15%, 50%); - - --color-snippet-list: var(--color-bg); - --color-snippet-selected: var(--color-contrast-lower-alt2); - - --color-sidebar: var(--color-bg); - --color-sidebar-item-selected: var(--color-contrast-lower-alt2); - --color-sidebar-icon: var(--color-text); - - --color-border: var(--color-contrast-lower-alt2); - - --color-text: hsl(0, 0%, 70%); - - --color-button: var(--color-contrast-lower-alt); - --color-button-hover: var(--color-contrast-lower-alt2); - --color-button-action: var(--color-contrast-low); - --color-button-action-hover: var(--color-contrast-lower-alt2); - - --color-input: var(--color-bg); - - --color-menu-selected: var(--color-contrast-lower-alt2); - - --color-tag-delete: var(--color-contrast-lower-alt3); -} - -[data-theme='dark:monokai'] { - --color-primary: hsl(215, 69%, 45%); - - // при конвертации в hsl цвет отличается, поэтому оставляем в hex - --color-bg: #272822; - - --color-contrast-lower: hsl(70, 8%, 20%); - --color-contrast-lower-alt: hsl(70, 8%, 22%); - --color-contrast-lower-alt2: hsl(70, 8%, 25%); - --color-contrast-lower-alt3: hsl(70, 8%, 30%); - --color-contrast-lower-low: hsl(70, 8%, 40%); - --color-contrast-lower-medium: hsl(70, 8%, 50%); - - --color-snippet-list: var(--color-bg); - --color-snippet-selected: var(--color-contrast-lower); - - --color-sidebar: var(--color-bg); - --color-sidebar-item-selected: var(--color-contrast-lower); - --color-sidebar-icon: var(--color-text); - - --color-border: var(--color-contrast-lower-alt2); - - --color-text: hsl(0, 0%, 70%); - - --color-button: var(--color-contrast-lower-alt); - --color-button-hover: var(--color-contrast-lower-alt2); - --color-button-action: var(--color-contrast-low); - --color-button-action-hover: var(--color-contrast-lower-alt2); - - --color-input: var(--color-bg); - - --color-menu-selected: var(--color-contrast-lower); - - --color-tag-delete: var(--color-contrast-lower-alt3); -} - -[data-theme='dark:merbivore'] { - --color-primary: hsl(215, 69%, 45%); - - --color-bg: hsl(0, 0%, 11%); - - --color-contrast-lower: hsl(0, 0%, 20%); - --color-contrast-lower-alt: hsl(0, 0%, 22%); - --color-contrast-lower-alt2: hsl(0, 0%, 25%); - --color-contrast-lower-alt3: hsl(0, 0%, 30%); - --color-contrast-lower-low: hsl(0, 0%, 40%); - --color-contrast-lower-medium: hsl(0, 0%, 50%); - - --color-snippet-list: var(--color-bg); - --color-snippet-selected: var(--color-contrast-lower); - - --color-sidebar: var(--color-bg); - --color-sidebar-item-selected: var(--color-contrast-lower); - --color-sidebar-icon: var(--color-text); - - --color-border: var(--color-contrast-lower-alt2); - - --color-text: hsl(0, 0%, 70%); - - --color-button: var(--color-contrast-lower-alt); - --color-button-hover: var(--color-contrast-lower-alt2); - --color-button-action: var(--color-contrast-low); - --color-button-action-hover: var(--color-contrast-lower-alt2); - - --color-input: var(--color-bg); - - --color-menu-selected: var(--color-contrast-lower); - - --color-tag-delete: var(--color-contrast-lower-alt3); -} - -[data-theme='dark:material'] { - --color-primary: hsl(215, 69%, 45%); - - // при конвертации в hsl цвет отличается, поэтому оставляем в hex - --color-bg: #263238; - - --color-contrast-lower: hsl(200, 19%, 22%); - --color-contrast-lower-alt: hsl(200, 19%, 25%); - --color-contrast-lower-alt2: hsl(200, 19%, 27%); - --color-contrast-lower-alt3: hsl(200, 19%, 30%); - --color-contrast-lower-low: hsl(200, 19%, 40%); - --color-contrast-lower-medium: hsl(200, 19%, 50%); - - --color-snippet-list: var(--color-bg); - --color-snippet-selected: var(--color-contrast-lower); - - --color-sidebar: var(--color-bg); - --color-sidebar-item-selected: var(--color-contrast-lower); - --color-sidebar-icon: var(--color-text); - - --color-border: var(--color-contrast-lower-alt2); - - --color-text: hsl(0, 0%, 70%); - - --color-button: var(--color-contrast-lower-alt); - --color-button-hover: var(--color-contrast-lower-alt2); - --color-button-action: var(--color-contrast-low); - --color-button-action-hover: var(--color-contrast-lower-alt2); - - --color-input: var(--color-bg); - - --color-menu-selected: var(--color-contrast-lower); - - --color-tag-delete: var(--color-contrast-lower-alt3); -} - - -[data-theme='dark:material-palenight'] { - --color-primary: hsl(215, 69%, 45%); - - // при конвертации в hsl цвет отличается, поэтому оставляем в hex - --color-bg: #292D3F; - - - --color-contrast-lower: hsl(229, 21%, 22%); - --color-contrast-lower-alt: hsl(229, 21%, 25%); - --color-contrast-lower-alt2: hsl(229, 21%, 27%); - --color-contrast-lower-alt3: hsl(229, 21%, 30%); - --color-contrast-lower-low: hsl(229, 21%, 40%); - --color-contrast-lower-medium: hsl(229, 21%, 50%); - - --color-snippet-list: var(--color-bg); - --color-snippet-selected: var(--color-contrast-lower-alt); - - --color-sidebar: var(--color-bg); - --color-sidebar-item-selected: var(--color-contrast-lower-alt); - --color-sidebar-icon: var(--color-text); - - --color-border: var(--color-contrast-lower-alt2); - - --color-text: hsl(0, 0%, 70%); - - --color-button: var(--color-contrast-lower-alt); - --color-button-hover: var(--color-contrast-lower-alt2); - --color-button-action: var(--color-contrast-low); - --color-button-action-hover: var(--color-contrast-lower-alt2); - - --color-input: var(--color-bg); - - --color-menu-selected: var(--color-contrast-lower-alt); - - --color-tag-delete: var(--color-contrast-lower-alt3); -} - -[data-theme='dark:tokyo-night'] { - --color-primary: hsl(215, 69%, 45%); - - // при конвертации в hsl цвет отличается, поэтому оставляем в hex - --color-bg: #1C2029; - - - --color-contrast-lower: hsl(229, 21%, 20%); - --color-contrast-lower-alt: hsl(229, 21%, 22%); - --color-contrast-lower-alt2: hsl(229, 21%, 25%); - --color-contrast-lower-alt3: hsl(229, 21%, 30%); - --color-contrast-lower-low: hsl(229, 21%, 40%); - --color-contrast-lower-medium: hsl(229, 21%, 50%); - - --color-snippet-list: var(--color-bg); - --color-snippet-selected: var(--color-contrast-lower-alt); - - --color-sidebar: var(--color-bg); - --color-sidebar-item-selected: var(--color-contrast-lower-alt); - --color-sidebar-icon: var(--color-text); - - --color-border: var(--color-contrast-lower-alt2); - - --color-text: hsl(0, 0%, 70%); - - --color-button: var(--color-contrast-lower-alt); - --color-button-hover: var(--color-contrast-lower-alt2); - --color-button-action: var(--color-contrast-low); - --color-button-action-hover: var(--color-contrast-lower-alt2); - - --color-input: var(--color-bg); - - --color-menu-selected: var(--color-contrast-lower-alt); - - --color-tag-delete: var(--color-contrast-lower-alt3); -} - -[data-theme^="dark"] { - > a { - color: var(--color-contrast-medium); - &:hover { - color: var(--color-text); - } - } -} \ No newline at end of file diff --git a/src/renderer/assets/scss/variables.scss b/src/renderer/assets/scss/variables.scss deleted file mode 100644 index c82fb7bf..00000000 --- a/src/renderer/assets/scss/variables.scss +++ /dev/null @@ -1,67 +0,0 @@ -:root { - --sidebar-width: 180px; - --snippets-list-width: 250px; - --title-bar-height: 15px; - --title-bar-height-offset: -5px; - --menu-header: 80px; - - --spacing-unit: 4px; - --spacing-xs: calc(var(--spacing-unit) * 2); - --spacing-sm: calc(var(--spacing-unit) * 4); - --spacing-md: calc(var(--spacing-unit) * 6); - --spacing-lg: calc(var(--spacing-unit) * 8); - --spacing-xl: calc(var(--spacing-unit) * 10); - - --font-primary: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, - Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; - --font-code: 'SF Mono', 'Consolas', Menlo, Monaco, "Courier New", monospace; - - --text-base-size: 10px; - --text-xs: calc(var(--text-base-size) * 1); - --text-sm: calc(var(--text-base-size) * 1.2); - --text-md: calc(var(--text-base-size) * 1.4); - --text-lg: calc(var(--text-base-size) * 1.8); - --text-xl: calc(var(--text-base-size) * 2.4); - --text-xxl: calc(var(--text-base-size) * 3.2); - --text-xxxl: calc(var(--text-base-size) * 3.6); - - --color-primary: hsl(215, 93%, 52%); - - --color-bg: hsl(0, 0%, 100%); - - --color-contrast-lower: hsl(0, 0%, 97%); - --color-contrast-lower-alt: hsl(0, 0%, 92%); - --color-contrast-low: hsl(0, 0%, 85%); - --color-contrast-low-alt: hsl(0, 0%, 80%); - --color-contrast-medium: hsl(0, 0%, 50%); - --color-contrast-high: hsl(0, 0%, 15%); - --color-contrast-higher: hsl(0, 0%, 0%); - - --color-text: hsl(0, 0%, 0%); - --color-text-2: hsl(0, 0%, 15%); - --color-text-3: hsl(0, 0%, 50%); - --color-text-4: hsl(0, 0%, 80%); - --color-text-5: hsl(0, 0%, 85%); - - --color-border: var(--color-contrast-low); - - --color-button: var(--color-contrast-lower-alt); - --color-button-hover: var(--color-contrast-low); - --color-button-action: var(--color-contrast-medium); - --color-button-action-hover: var(--color-contrast-lower-alt); - - --color-sidebar: var(--color-contrast-lower); - --color-sidebar-item-selected: var(--color-contrast-low); - --color-sidebar-icon: var(--color-text); - --color-sidebar-icon-selected: #fff; - - --color-snippet-selected: hsl(0, 0%, 94%); - --color-snippet-list: var(--color-bg); - - --color-editor-scrollbar: rgba(121, 121, 121, 0.4); - - --color-menu-selected: var(--color-contrast-lower-alt); - - --color-tag-delete: var(--color-contrast-lower-alt); -} - diff --git a/src/renderer/assets/scss/vendor.scss b/src/renderer/assets/scss/vendor.scss deleted file mode 100644 index 9779409d..00000000 --- a/src/renderer/assets/scss/vendor.scss +++ /dev/null @@ -1,94 +0,0 @@ -.ps { - $r: &; - &__rail-y { - background-color: rgba(121, 121, 121, 0.8); - width: 5px; - &:hover { - #{$r}__thumb-y { - width: 5px; - right: 0; - } - } - } - &__rail-x { - background-color: rgba(121, 121, 121, 0.8); - width: 5px; - &:hover { - height: 4px; - background-color: transparent !important; - opacity: 0.4 !important; - #{$r}__thumb-x { - height: 5px; - right: 0; - } - } - } - &__thumb-x, - &__thumb-y { - background-color: rgba(121, 121, 121, 0.8); - } - &__thumb-y { - width: 5px; - right: 0; - } - &__thumb-x { - height: 5px; - } -} - - -.ti-tags { - background-color: var(--color-bg) !important; -} -.ti-tag { - background-color: var(--color-contrast-lower) !important; - color: var(--color-text) !important; - border: 1px solid var(--color-border) !important; -} -.ti-new-tag-input { - background-color: var(--color-bg) !important; - color: var(--color-text) !important; -} -.ti-selected-item { - background-color: var(--color-primary) !important; -} -.ti-deletion-mark { - background-color: var(--color-tag-delete) !important; -} -.ti-autocomplete { - border: 1px solid var(--color-border) !important; - background-color: var(--color-bg) !important; -} - -.toast-container { - .toast { - width: 400px; - &-text { - display: flex; - align-items: center; - } - } -} - -.v-popper { - &--theme-tooltip { - .v-popper { - &__inner { - font-size: 12px; - padding: 4px 8px !important; - border-radius: 3px !important; - } - &__arrow-container { - display: none; - } - } - } -} - -.toast { - code { - background-color: #eee; - border-radius: 3px; - padding: 0 4px; - } -} diff --git a/src/renderer/assets/svg/arrow-slash.svg b/src/renderer/assets/svg/arrow-slash.svg deleted file mode 100644 index 37081779..00000000 --- a/src/renderer/assets/svg/arrow-slash.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/renderer/components/devtools/composables/index.ts b/src/renderer/components/devtools/composables/index.ts deleted file mode 100644 index 4acb5eae..00000000 --- a/src/renderer/components/devtools/composables/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { useClipboard } from '@vueuse/core' - -export function useCopy (value: string) { - const { copy } = useClipboard() - copy(value) -} diff --git a/src/renderer/components/devtools/converters/Base64Converter.vue b/src/renderer/components/devtools/converters/Base64Converter.vue new file mode 100644 index 00000000..4dc45dbf --- /dev/null +++ b/src/renderer/components/devtools/converters/Base64Converter.vue @@ -0,0 +1,101 @@ + + + diff --git a/src/renderer/components/devtools/converters/CaseConverter.vue b/src/renderer/components/devtools/converters/CaseConverter.vue new file mode 100644 index 00000000..90bbf881 --- /dev/null +++ b/src/renderer/components/devtools/converters/CaseConverter.vue @@ -0,0 +1,126 @@ + + + diff --git a/src/renderer/components/devtools/converters/ColorConverter.vue b/src/renderer/components/devtools/converters/ColorConverter.vue new file mode 100644 index 00000000..2829e9f4 --- /dev/null +++ b/src/renderer/components/devtools/converters/ColorConverter.vue @@ -0,0 +1,386 @@ + + + diff --git a/src/renderer/components/devtools/converters/JsonToToml.vue b/src/renderer/components/devtools/converters/JsonToToml.vue new file mode 100644 index 00000000..ca90f5a2 --- /dev/null +++ b/src/renderer/components/devtools/converters/JsonToToml.vue @@ -0,0 +1,142 @@ + + + diff --git a/src/renderer/components/devtools/converters/JsonToXml.vue b/src/renderer/components/devtools/converters/JsonToXml.vue new file mode 100644 index 00000000..c02d05de --- /dev/null +++ b/src/renderer/components/devtools/converters/JsonToXml.vue @@ -0,0 +1,207 @@ + + + diff --git a/src/renderer/components/devtools/converters/JsonToYaml.vue b/src/renderer/components/devtools/converters/JsonToYaml.vue new file mode 100644 index 00000000..14d0f838 --- /dev/null +++ b/src/renderer/components/devtools/converters/JsonToYaml.vue @@ -0,0 +1,112 @@ + + + diff --git a/src/renderer/components/devtools/converters/TextToAsciiBinary.vue b/src/renderer/components/devtools/converters/TextToAsciiBinary.vue new file mode 100644 index 00000000..2b9d2361 --- /dev/null +++ b/src/renderer/components/devtools/converters/TextToAsciiBinary.vue @@ -0,0 +1,117 @@ + + + diff --git a/src/renderer/components/devtools/converters/TextToUnicode.vue b/src/renderer/components/devtools/converters/TextToUnicode.vue new file mode 100644 index 00000000..66bbd0f0 --- /dev/null +++ b/src/renderer/components/devtools/converters/TextToUnicode.vue @@ -0,0 +1,108 @@ + + + diff --git a/src/renderer/components/devtools/crypto/Hash.vue b/src/renderer/components/devtools/crypto/Hash.vue new file mode 100644 index 00000000..7dc77701 --- /dev/null +++ b/src/renderer/components/devtools/crypto/Hash.vue @@ -0,0 +1,115 @@ + + + diff --git a/src/renderer/components/devtools/crypto/HashTool.vue b/src/renderer/components/devtools/crypto/HashTool.vue deleted file mode 100644 index 82bce277..00000000 --- a/src/renderer/components/devtools/crypto/HashTool.vue +++ /dev/null @@ -1,104 +0,0 @@ - - - - - diff --git a/src/renderer/components/devtools/crypto/Hmac.vue b/src/renderer/components/devtools/crypto/Hmac.vue new file mode 100644 index 00000000..9e5f044c --- /dev/null +++ b/src/renderer/components/devtools/crypto/Hmac.vue @@ -0,0 +1,125 @@ + + + diff --git a/src/renderer/components/devtools/crypto/HmacTool.vue b/src/renderer/components/devtools/crypto/HmacTool.vue deleted file mode 100644 index 9f709eaf..00000000 --- a/src/renderer/components/devtools/crypto/HmacTool.vue +++ /dev/null @@ -1,111 +0,0 @@ - - - - - diff --git a/src/renderer/components/devtools/crypto/PassTool.vue b/src/renderer/components/devtools/crypto/PassTool.vue deleted file mode 100644 index 875d3496..00000000 --- a/src/renderer/components/devtools/crypto/PassTool.vue +++ /dev/null @@ -1,144 +0,0 @@ - - - - - diff --git a/src/renderer/components/devtools/crypto/Password.vue b/src/renderer/components/devtools/crypto/Password.vue new file mode 100644 index 00000000..260d3de0 --- /dev/null +++ b/src/renderer/components/devtools/crypto/Password.vue @@ -0,0 +1,173 @@ + + + diff --git a/src/renderer/components/devtools/crypto/Uuid.vue b/src/renderer/components/devtools/crypto/Uuid.vue new file mode 100644 index 00000000..5a919c49 --- /dev/null +++ b/src/renderer/components/devtools/crypto/Uuid.vue @@ -0,0 +1,109 @@ + + + diff --git a/src/renderer/components/devtools/crypto/UuidTool.vue b/src/renderer/components/devtools/crypto/UuidTool.vue deleted file mode 100644 index 61a62a1c..00000000 --- a/src/renderer/components/devtools/crypto/UuidTool.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/src/renderer/components/devtools/crypto/algo-options.json b/src/renderer/components/devtools/crypto/algo-options.json deleted file mode 100644 index 2e1ce957..00000000 --- a/src/renderer/components/devtools/crypto/algo-options.json +++ /dev/null @@ -1,34 +0,0 @@ -[ - { - "label": "MD5", - "value": "md5" - }, - { - "label": "RIPEMD160", - "value": "ripemd160" - }, - { - "label": "SHA1", - "value": "sha1" - }, - { - "label": "SHA224", - "value": "sha224" - }, - { - "label": "SHA256", - "value": "sha256" - }, - { - "label": "SHA3", - "value": "sha3" - }, - { - "label": "SHA384", - "value": "sha384" - }, - { - "label": "SHA512", - "value": "sha512" - } -] diff --git a/src/renderer/components/devtools/crypto/types/index.d.ts b/src/renderer/components/devtools/crypto/types/index.d.ts deleted file mode 100644 index 7c1b806b..00000000 --- a/src/renderer/components/devtools/crypto/types/index.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -export type Algo = - | 'md5' - | 'ripemd160' - | 'sha1' - | 'sha224' - | 'sha256' - | 'sha3' - | 'sha384' - | 'sha512' diff --git a/src/renderer/components/devtools/encode-decode/Base64EncodeDecodeTool.vue b/src/renderer/components/devtools/encode-decode/Base64EncodeDecodeTool.vue deleted file mode 100644 index dc7f1a24..00000000 --- a/src/renderer/components/devtools/encode-decode/Base64EncodeDecodeTool.vue +++ /dev/null @@ -1,72 +0,0 @@ - - - - - diff --git a/src/renderer/components/devtools/encode-decode/UrlEncodeDecodeTool.vue b/src/renderer/components/devtools/encode-decode/UrlEncodeDecodeTool.vue deleted file mode 100644 index 3f3f1b0b..00000000 --- a/src/renderer/components/devtools/encode-decode/UrlEncodeDecodeTool.vue +++ /dev/null @@ -1,72 +0,0 @@ - - - - - diff --git a/src/renderer/components/devtools/encode-decode/encode-decode-options.json b/src/renderer/components/devtools/encode-decode/encode-decode-options.json deleted file mode 100644 index 6481044c..00000000 --- a/src/renderer/components/devtools/encode-decode/encode-decode-options.json +++ /dev/null @@ -1,4 +0,0 @@ -[ - { "label": "Encode", "value": "encode" }, - { "label": "Decode", "value": "decode" } -] diff --git a/src/renderer/components/devtools/encode-decode/types/index.d.ts b/src/renderer/components/devtools/encode-decode/types/index.d.ts deleted file mode 100644 index 214c9c02..00000000 --- a/src/renderer/components/devtools/encode-decode/types/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export type Type = 'encode' | 'decode' diff --git a/src/renderer/components/devtools/text/CaseConverterTool.vue b/src/renderer/components/devtools/text/CaseConverterTool.vue deleted file mode 100644 index b19c6d57..00000000 --- a/src/renderer/components/devtools/text/CaseConverterTool.vue +++ /dev/null @@ -1,105 +0,0 @@ - - - - - diff --git a/src/renderer/components/devtools/text/SlugTool.vue b/src/renderer/components/devtools/text/SlugTool.vue deleted file mode 100644 index e96d6b66..00000000 --- a/src/renderer/components/devtools/text/SlugTool.vue +++ /dev/null @@ -1,51 +0,0 @@ - - - - - diff --git a/src/renderer/components/devtools/text/SortTool.vue b/src/renderer/components/devtools/text/SortTool.vue deleted file mode 100644 index b74711d2..00000000 --- a/src/renderer/components/devtools/text/SortTool.vue +++ /dev/null @@ -1,70 +0,0 @@ - - - - - diff --git a/src/renderer/components/devtools/text/UrlParserTool.vue b/src/renderer/components/devtools/text/UrlParserTool.vue deleted file mode 100644 index f720e0fe..00000000 --- a/src/renderer/components/devtools/text/UrlParserTool.vue +++ /dev/null @@ -1,113 +0,0 @@ - - - - - diff --git a/src/renderer/components/devtools/web/Slugify.vue b/src/renderer/components/devtools/web/Slugify.vue new file mode 100644 index 00000000..24c9625c --- /dev/null +++ b/src/renderer/components/devtools/web/Slugify.vue @@ -0,0 +1,57 @@ + + + diff --git a/src/renderer/components/devtools/web/UrlEncoder.vue b/src/renderer/components/devtools/web/UrlEncoder.vue new file mode 100644 index 00000000..45b17e14 --- /dev/null +++ b/src/renderer/components/devtools/web/UrlEncoder.vue @@ -0,0 +1,66 @@ + + + diff --git a/src/renderer/components/devtools/web/UrlParser.vue b/src/renderer/components/devtools/web/UrlParser.vue new file mode 100644 index 00000000..4d601138 --- /dev/null +++ b/src/renderer/components/devtools/web/UrlParser.vue @@ -0,0 +1,165 @@ + + + diff --git a/src/renderer/components/editor/Description.vue b/src/renderer/components/editor/Description.vue new file mode 100644 index 00000000..ba9ed131 --- /dev/null +++ b/src/renderer/components/editor/Description.vue @@ -0,0 +1,43 @@ + + + diff --git a/src/renderer/components/editor/Editor.vue b/src/renderer/components/editor/Editor.vue new file mode 100644 index 00000000..66640c88 --- /dev/null +++ b/src/renderer/components/editor/Editor.vue @@ -0,0 +1,428 @@ + + + + + diff --git a/src/renderer/components/editor/EditorCodemirror.vue b/src/renderer/components/editor/EditorCodemirror.vue deleted file mode 100644 index 368dba8f..00000000 --- a/src/renderer/components/editor/EditorCodemirror.vue +++ /dev/null @@ -1,409 +0,0 @@ - - - - - diff --git a/src/renderer/components/editor/EditorPreview.vue b/src/renderer/components/editor/EditorPreview.vue deleted file mode 100644 index 90af57ae..00000000 --- a/src/renderer/components/editor/EditorPreview.vue +++ /dev/null @@ -1,172 +0,0 @@ -