├── .github └── workflows │ └── docker-publish.yml ├── .gitignore ├── .husky └── pre-commit ├── .nvmrc ├── Dockerfile ├── LICENSE ├── README.md ├── index.html ├── package.json ├── pnpm-lock.yaml ├── postcss.config.cjs ├── public └── robots.txt ├── src ├── components │ ├── base-layout.vue │ ├── button.vue │ ├── editor-rich.vue │ ├── editor.vue │ ├── menu-item.vue │ ├── menu.vue │ ├── preview.vue │ ├── settings-modal.vue │ ├── toast.vue │ └── toolbar.vue ├── lib │ ├── copy.js │ ├── get-md-styles.js │ ├── marked │ │ ├── helpers.js │ │ └── index.js │ ├── quill │ │ └── delta-md.js │ └── settings.js ├── main.js ├── pages │ └── Home.vue ├── resources │ └── default-md.js ├── stores │ └── settings.js └── styles │ └── index.css ├── tailwind.config.cjs └── vite.config.js /.github/workflows/docker-publish.yml: -------------------------------------------------------------------------------- 1 | name: Docker 2 | 3 | on: 4 | push: 5 | branches: ["pro"] 6 | tags: ["v*.*.*"] 7 | pull_request: 8 | branches: ["pro"] 9 | 10 | env: 11 | # Use docker.io for Docker Hub if empty 12 | REGISTRY: ghcr.io 13 | # github.repository as / 14 | IMAGE_NAME: ${{ github.repository }} 15 | 16 | jobs: 17 | build: 18 | runs-on: ubuntu-latest 19 | permissions: 20 | contents: read 21 | packages: write 22 | # This is used to complete the identity challenge 23 | # with sigstore/fulcio when running outside of PRs. 24 | id-token: write 25 | 26 | steps: 27 | - name: Checkout repository 28 | uses: actions/checkout@v4 29 | 30 | # Install the cosign tool except on PR 31 | # https://github.com/sigstore/cosign-installer 32 | - name: Install cosign 33 | if: github.event_name != 'pull_request' 34 | uses: sigstore/cosign-installer@59acb6260d9c0ba8f4a2f9d9b48431a222b68e20 #v3.5.0 35 | with: 36 | cosign-release: "v2.2.4" 37 | 38 | # Set up BuildKit Docker container builder to be able to build 39 | # multi-platform images and export cache 40 | # https://github.com/docker/setup-buildx-action 41 | - name: Set up Docker Buildx 42 | uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0 43 | 44 | # Login against a Docker registry except on PR 45 | # https://github.com/docker/login-action 46 | - name: Log into registry ${{ env.REGISTRY }} 47 | if: github.event_name != 'pull_request' 48 | uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0 49 | with: 50 | registry: ${{ env.REGISTRY }} 51 | username: ${{ github.actor }} 52 | password: ${{ secrets.GITHUB_TOKEN }} 53 | 54 | # Extract metadata (tags, labels) for Docker 55 | # https://github.com/docker/metadata-action 56 | - name: Extract Docker metadata 57 | id: meta 58 | uses: docker/metadata-action@96383f45573cb7f253c731d3b3ab81c87ef81934 # v5.0.0 59 | with: 60 | images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} 61 | 62 | # Build and push Docker image with Buildx (don't push on PR) 63 | # https://github.com/docker/build-push-action 64 | - name: Build and push Docker image 65 | id: build-and-push 66 | uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v5.0.0 67 | with: 68 | context: . 69 | push: ${{ github.event_name != 'pull_request' }} 70 | tags: ${{ steps.meta.outputs.tags }} 71 | labels: ${{ steps.meta.outputs.labels }} 72 | platforms: linux/amd64,linux/arm64 73 | cache-from: type=gha 74 | cache-to: type=gha,mode=max 75 | 76 | # Sign the resulting Docker image digest except on PRs. 77 | # This will only write to the public Rekor transparency log when the Docker 78 | # repository is public to avoid leaking data. If you would like to publish 79 | # transparency data even for private images, pass --force to cosign below. 80 | # https://github.com/sigstore/cosign 81 | - name: Sign the published Docker image 82 | if: ${{ github.event_name != 'pull_request' }} 83 | env: 84 | # https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable 85 | TAGS: ${{ steps.meta.outputs.tags }} 86 | DIGEST: ${{ steps.build-and-push.outputs.digest }} 87 | # This step uses the identity token to provision an ephemeral certificate 88 | # against the sigstore community Fulcio instance. 89 | run: echo "${TAGS}" | xargs -I {} cosign sign --yes {}@${DIGEST} 90 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | dist 4 | dist-ssr 5 | *.local -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | pnpm nano-staged 2 | -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | v18.17.0 2 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:18-alpine as build-stage 2 | WORKDIR /app 3 | COPY package*.json ./ 4 | COPY pnpm-lock.yaml ./ 5 | RUN npm i -g pnpm@8.15.7; pnpm i 6 | COPY . . 7 | RUN pnpm build 8 | 9 | FROM nginx:stable-alpine as production-stage 10 | COPY --from=build-stage /app/dist /usr/share/nginx/html 11 | EXPOSE 80 12 | CMD ["nginx", "-g", "daemon off;"] 13 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Reaper 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

Mark

2 |

Web Markdown Editor

3 | 4 | [![](https://img.shields.io/badge/license-mit-black?style=for-the-badge)](LICENSE) 5 | 6 | ## Motivation 7 | 8 | Simple Markdown editor built with syntax highlighting and an optional preview that I mostly use for my work. I don't like the apps that exist and are mostly pretty memory heavy, on the other hand the web app is pretty simple and suffices most of what I use Markdown for 9 | 10 | ## Features 11 | 12 | - System Controlled Dark Mode 13 | - Export the raw .md file 14 | - Optional Preview 15 | 16 | ## Development / Self Hosting 17 | 18 | ### Docker 19 | 20 | ```sh 21 | # for a single run 22 | ; docker run -p 8000:80 ghcr.io/barelyhuman/mark:pro 23 | # or in detached mode / background mode 24 | docker run -p 8000:80 --detach ghcr.io/barelyhuman/mark:pro 25 | ``` 26 | 27 | Or if you prefer using a docker compose 28 | 29 | ```yaml 30 | version: "3" 31 | 32 | services: 33 | mark: 34 | image: ghcr.io/barelyhuman/mark:pro 35 | ports: 36 | - 8000:80 37 | restart: unless-stopped 38 | ``` 39 | 40 | and then 41 | 42 | ```sh 43 | # for a single run 44 | ; docker compose up 45 | # or in detached mode / background mode 46 | ; docker compose up -d 47 | ``` 48 | 49 | ### Manually using Source Code 50 | 51 | The app is a straightforward vuejs app and just a client sided one. You can set it up using the following steps. 52 | 53 | **Prerequisite** 54 | 55 | 1. [Node](https://nodejs.org/en/) at least v12 56 | 2. [git](https://git-scm.com/) 57 | 58 | **Steps** 59 | 60 | ```sh 61 | # clone this repo 62 | git clone https://github.com/barelyhuman/mark 63 | 64 | # cd into it and install the basic dependencies 65 | npm i 66 | 67 | # run the dev server to check if it's working (optional) 68 | npm dev 69 | 70 | # build the app into static files 71 | npm build 72 | 73 | # you can then serve the output folder using your favorite http serving solution 74 | npx serve dist 75 | # or 76 | python –m SimpleHTTPServer dist 77 | ``` 78 | 79 | ## Contribute 80 | 81 | The easiest way to contribute is to fork the project and raise PR's. Though, do inform the mainter as to what issue you pick up to avoid overlaps 82 | 83 | ## License 84 | 85 | [MIT](LICENSE) © Reaper 86 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 13 | 18 | 19 | 20 | 25 | 30 | Mark 31 | 32 | 33 | Mark 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 |
53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mark-pro", 3 | "version": "0.0.7", 4 | "type": "module", 5 | "scripts": { 6 | "dev": "vite", 7 | "build": "vite build", 8 | "serve": "vite preview", 9 | "next": "bumpp", 10 | "fix": "prettier --write .", 11 | "prepare": "husky" 12 | }, 13 | "nano-staged": { 14 | "*.{js,jsx,vue,ts,md,json,html}": [ 15 | "prettier --write" 16 | ] 17 | }, 18 | "license": "MIT", 19 | "dependencies": { 20 | "codejar": "^4.2.0", 21 | "dom-to-image": "^2.6.0", 22 | "downloadjs": "^1.4.7", 23 | "highlight.js": "^11.11.1", 24 | "html2pdf.js": "0.10.1", 25 | "marked": "^14.1.4", 26 | "md-to-quill-delta": "^1.1.1", 27 | "quill": "^2.0.3", 28 | "quill-delta-to-html": "^0.12.1", 29 | "quilljs-markdown": "^1.2.0", 30 | "turndown": "^7.2.0", 31 | "vue": "^3.5.13" 32 | }, 33 | "devDependencies": { 34 | "@barelyhuman/prettier-config": "^2.0.2", 35 | "@vitejs/plugin-vue": "^5.2.1", 36 | "@vue/compiler-sfc": "^3.5.13", 37 | "autoprefixer": "^10.4.20", 38 | "bumpp": "^9.11.1", 39 | "cssnano": "^7.0.6", 40 | "husky": "^9.1.7", 41 | "nano-staged": "^0.8.0", 42 | "prettier": "^3.5.2", 43 | "postcss": "^8.5.3", 44 | "tailwindcss": "^3.4.17", 45 | "terser": "^5.39.0", 46 | "vite": "^6.2.0" 47 | }, 48 | "resolutions": { 49 | "trim": "1.0.1", 50 | "micromatch": ">=4.0.8", 51 | "dompurify": ">=2.5.0", 52 | "braces": ">=3.0.3" 53 | }, 54 | "pnpm": { 55 | "overrides": { 56 | "cross-spawn@>=7.0.0 <7.0.5": ">=7.0.5", 57 | "nanoid@<3.3.8": ">=3.3.8", 58 | "dompurify@<3.2.4": ">=3.2.4", 59 | "esbuild@<=0.24.2": ">=0.25.0", 60 | "vite@>=5.0.0 <=5.4.11": ">=5.4.12" 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | overrides: 8 | trim: 1.0.1 9 | micromatch: '>=4.0.8' 10 | dompurify: '>=2.5.0' 11 | braces: '>=3.0.3' 12 | cross-spawn@>=7.0.0 <7.0.5: '>=7.0.5' 13 | nanoid@<3.3.8: '>=3.3.8' 14 | dompurify@<3.2.4: '>=3.2.4' 15 | esbuild@<=0.24.2: '>=0.25.0' 16 | vite@>=5.0.0 <=5.4.11: '>=5.4.12' 17 | 18 | importers: 19 | 20 | .: 21 | dependencies: 22 | codejar: 23 | specifier: ^4.2.0 24 | version: 4.2.0 25 | dom-to-image: 26 | specifier: ^2.6.0 27 | version: 2.6.0 28 | downloadjs: 29 | specifier: ^1.4.7 30 | version: 1.4.7 31 | highlight.js: 32 | specifier: ^11.11.1 33 | version: 11.11.1 34 | html2pdf.js: 35 | specifier: 0.10.1 36 | version: 0.10.1 37 | marked: 38 | specifier: ^14.1.4 39 | version: 14.1.4 40 | md-to-quill-delta: 41 | specifier: ^1.1.1 42 | version: 1.1.1 43 | quill: 44 | specifier: ^2.0.3 45 | version: 2.0.3 46 | quill-delta-to-html: 47 | specifier: ^0.12.1 48 | version: 0.12.1 49 | quilljs-markdown: 50 | specifier: ^1.2.0 51 | version: 1.2.0 52 | turndown: 53 | specifier: ^7.2.0 54 | version: 7.2.0 55 | vue: 56 | specifier: ^3.5.13 57 | version: 3.5.13 58 | devDependencies: 59 | '@barelyhuman/prettier-config': 60 | specifier: ^2.0.2 61 | version: 2.0.2 62 | '@vitejs/plugin-vue': 63 | specifier: ^5.2.1 64 | version: 5.2.1(vite@6.2.0(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0))(vue@3.5.13) 65 | '@vue/compiler-sfc': 66 | specifier: ^3.5.13 67 | version: 3.5.13 68 | autoprefixer: 69 | specifier: ^10.4.20 70 | version: 10.4.20(postcss@8.5.3) 71 | bumpp: 72 | specifier: ^9.11.1 73 | version: 9.11.1 74 | cssnano: 75 | specifier: ^7.0.6 76 | version: 7.0.6(postcss@8.5.3) 77 | husky: 78 | specifier: ^9.1.7 79 | version: 9.1.7 80 | nano-staged: 81 | specifier: ^0.8.0 82 | version: 0.8.0 83 | postcss: 84 | specifier: ^8.5.3 85 | version: 8.5.3 86 | prettier: 87 | specifier: ^3.5.2 88 | version: 3.5.2 89 | tailwindcss: 90 | specifier: ^3.4.17 91 | version: 3.4.17 92 | terser: 93 | specifier: ^5.39.0 94 | version: 5.39.0 95 | vite: 96 | specifier: ^6.2.0 97 | version: 6.2.0(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0) 98 | 99 | packages: 100 | 101 | '@alloc/quick-lru@5.2.0': 102 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==, tarball: https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz} 103 | engines: {node: '>=10'} 104 | 105 | '@babel/helper-string-parser@7.25.9': 106 | resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==, tarball: https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz} 107 | engines: {node: '>=6.9.0'} 108 | 109 | '@babel/helper-validator-identifier@7.25.9': 110 | resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==, tarball: https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz} 111 | engines: {node: '>=6.9.0'} 112 | 113 | '@babel/parser@7.26.9': 114 | resolution: {integrity: sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==, tarball: https://registry.npmjs.org/@babel/parser/-/parser-7.26.9.tgz} 115 | engines: {node: '>=6.0.0'} 116 | hasBin: true 117 | 118 | '@babel/runtime@7.26.9': 119 | resolution: {integrity: sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==, tarball: https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.9.tgz} 120 | engines: {node: '>=6.9.0'} 121 | 122 | '@babel/types@7.26.9': 123 | resolution: {integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==, tarball: https://registry.npmjs.org/@babel/types/-/types-7.26.9.tgz} 124 | engines: {node: '>=6.9.0'} 125 | 126 | '@barelyhuman/prettier-config@2.0.2': 127 | resolution: {integrity: sha512-ES+UvAEoRgQ/tymiU3Kqd2L1ltnTezLdecFdqdNvleS4Xv/87Rpjp7yO19OabCkLwcu6SCExYv23cQ4R0YBHww==, tarball: https://registry.npmjs.org/@barelyhuman/prettier-config/-/prettier-config-2.0.2.tgz} 128 | hasBin: true 129 | 130 | '@esbuild/aix-ppc64@0.25.0': 131 | resolution: {integrity: sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==, tarball: https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.0.tgz} 132 | engines: {node: '>=18'} 133 | cpu: [ppc64] 134 | os: [aix] 135 | 136 | '@esbuild/android-arm64@0.25.0': 137 | resolution: {integrity: sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==, tarball: https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.0.tgz} 138 | engines: {node: '>=18'} 139 | cpu: [arm64] 140 | os: [android] 141 | 142 | '@esbuild/android-arm@0.25.0': 143 | resolution: {integrity: sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==, tarball: https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.0.tgz} 144 | engines: {node: '>=18'} 145 | cpu: [arm] 146 | os: [android] 147 | 148 | '@esbuild/android-x64@0.25.0': 149 | resolution: {integrity: sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==, tarball: https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.0.tgz} 150 | engines: {node: '>=18'} 151 | cpu: [x64] 152 | os: [android] 153 | 154 | '@esbuild/darwin-arm64@0.25.0': 155 | resolution: {integrity: sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==, tarball: https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.0.tgz} 156 | engines: {node: '>=18'} 157 | cpu: [arm64] 158 | os: [darwin] 159 | 160 | '@esbuild/darwin-x64@0.25.0': 161 | resolution: {integrity: sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==, tarball: https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.0.tgz} 162 | engines: {node: '>=18'} 163 | cpu: [x64] 164 | os: [darwin] 165 | 166 | '@esbuild/freebsd-arm64@0.25.0': 167 | resolution: {integrity: sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==, tarball: https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.0.tgz} 168 | engines: {node: '>=18'} 169 | cpu: [arm64] 170 | os: [freebsd] 171 | 172 | '@esbuild/freebsd-x64@0.25.0': 173 | resolution: {integrity: sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==, tarball: https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.0.tgz} 174 | engines: {node: '>=18'} 175 | cpu: [x64] 176 | os: [freebsd] 177 | 178 | '@esbuild/linux-arm64@0.25.0': 179 | resolution: {integrity: sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==, tarball: https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.0.tgz} 180 | engines: {node: '>=18'} 181 | cpu: [arm64] 182 | os: [linux] 183 | 184 | '@esbuild/linux-arm@0.25.0': 185 | resolution: {integrity: sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==, tarball: https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.0.tgz} 186 | engines: {node: '>=18'} 187 | cpu: [arm] 188 | os: [linux] 189 | 190 | '@esbuild/linux-ia32@0.25.0': 191 | resolution: {integrity: sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==, tarball: https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.0.tgz} 192 | engines: {node: '>=18'} 193 | cpu: [ia32] 194 | os: [linux] 195 | 196 | '@esbuild/linux-loong64@0.25.0': 197 | resolution: {integrity: sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==, tarball: https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.0.tgz} 198 | engines: {node: '>=18'} 199 | cpu: [loong64] 200 | os: [linux] 201 | 202 | '@esbuild/linux-mips64el@0.25.0': 203 | resolution: {integrity: sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==, tarball: https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.0.tgz} 204 | engines: {node: '>=18'} 205 | cpu: [mips64el] 206 | os: [linux] 207 | 208 | '@esbuild/linux-ppc64@0.25.0': 209 | resolution: {integrity: sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==, tarball: https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.0.tgz} 210 | engines: {node: '>=18'} 211 | cpu: [ppc64] 212 | os: [linux] 213 | 214 | '@esbuild/linux-riscv64@0.25.0': 215 | resolution: {integrity: sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==, tarball: https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.0.tgz} 216 | engines: {node: '>=18'} 217 | cpu: [riscv64] 218 | os: [linux] 219 | 220 | '@esbuild/linux-s390x@0.25.0': 221 | resolution: {integrity: sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==, tarball: https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.0.tgz} 222 | engines: {node: '>=18'} 223 | cpu: [s390x] 224 | os: [linux] 225 | 226 | '@esbuild/linux-x64@0.25.0': 227 | resolution: {integrity: sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==, tarball: https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.0.tgz} 228 | engines: {node: '>=18'} 229 | cpu: [x64] 230 | os: [linux] 231 | 232 | '@esbuild/netbsd-arm64@0.25.0': 233 | resolution: {integrity: sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==, tarball: https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.0.tgz} 234 | engines: {node: '>=18'} 235 | cpu: [arm64] 236 | os: [netbsd] 237 | 238 | '@esbuild/netbsd-x64@0.25.0': 239 | resolution: {integrity: sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==, tarball: https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.0.tgz} 240 | engines: {node: '>=18'} 241 | cpu: [x64] 242 | os: [netbsd] 243 | 244 | '@esbuild/openbsd-arm64@0.25.0': 245 | resolution: {integrity: sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==, tarball: https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.0.tgz} 246 | engines: {node: '>=18'} 247 | cpu: [arm64] 248 | os: [openbsd] 249 | 250 | '@esbuild/openbsd-x64@0.25.0': 251 | resolution: {integrity: sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==, tarball: https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.0.tgz} 252 | engines: {node: '>=18'} 253 | cpu: [x64] 254 | os: [openbsd] 255 | 256 | '@esbuild/sunos-x64@0.25.0': 257 | resolution: {integrity: sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==, tarball: https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.0.tgz} 258 | engines: {node: '>=18'} 259 | cpu: [x64] 260 | os: [sunos] 261 | 262 | '@esbuild/win32-arm64@0.25.0': 263 | resolution: {integrity: sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==, tarball: https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.0.tgz} 264 | engines: {node: '>=18'} 265 | cpu: [arm64] 266 | os: [win32] 267 | 268 | '@esbuild/win32-ia32@0.25.0': 269 | resolution: {integrity: sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==, tarball: https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.0.tgz} 270 | engines: {node: '>=18'} 271 | cpu: [ia32] 272 | os: [win32] 273 | 274 | '@esbuild/win32-x64@0.25.0': 275 | resolution: {integrity: sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==, tarball: https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.0.tgz} 276 | engines: {node: '>=18'} 277 | cpu: [x64] 278 | os: [win32] 279 | 280 | '@isaacs/cliui@8.0.2': 281 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==, tarball: https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz} 282 | engines: {node: '>=12'} 283 | 284 | '@jridgewell/gen-mapping@0.3.8': 285 | resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==, tarball: https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz} 286 | engines: {node: '>=6.0.0'} 287 | 288 | '@jridgewell/resolve-uri@3.1.2': 289 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, tarball: https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz} 290 | engines: {node: '>=6.0.0'} 291 | 292 | '@jridgewell/set-array@1.2.1': 293 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==, tarball: https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz} 294 | engines: {node: '>=6.0.0'} 295 | 296 | '@jridgewell/source-map@0.3.6': 297 | resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==, tarball: https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz} 298 | 299 | '@jridgewell/sourcemap-codec@1.5.0': 300 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==, tarball: https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz} 301 | 302 | '@jridgewell/trace-mapping@0.3.25': 303 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==, tarball: https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz} 304 | 305 | '@mixmark-io/domino@2.2.0': 306 | resolution: {integrity: sha512-Y28PR25bHXUg88kCV7nivXrP2Nj2RueZ3/l/jdx6J9f8J4nsEGcgX0Qe6lt7Pa+J79+kPiJU3LguR6O/6zrLOw==, tarball: https://registry.npmjs.org/@mixmark-io/domino/-/domino-2.2.0.tgz} 307 | 308 | '@nodelib/fs.scandir@2.1.5': 309 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, tarball: https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz} 310 | engines: {node: '>= 8'} 311 | 312 | '@nodelib/fs.stat@2.0.5': 313 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, tarball: https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz} 314 | engines: {node: '>= 8'} 315 | 316 | '@nodelib/fs.walk@1.2.8': 317 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, tarball: https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz} 318 | engines: {node: '>= 8'} 319 | 320 | '@pkgjs/parseargs@0.11.0': 321 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==, tarball: https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz} 322 | engines: {node: '>=14'} 323 | 324 | '@rollup/rollup-android-arm-eabi@4.34.8': 325 | resolution: {integrity: sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw==, tarball: https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.8.tgz} 326 | cpu: [arm] 327 | os: [android] 328 | 329 | '@rollup/rollup-android-arm64@4.34.8': 330 | resolution: {integrity: sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==, tarball: https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.8.tgz} 331 | cpu: [arm64] 332 | os: [android] 333 | 334 | '@rollup/rollup-darwin-arm64@4.34.8': 335 | resolution: {integrity: sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==, tarball: https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.8.tgz} 336 | cpu: [arm64] 337 | os: [darwin] 338 | 339 | '@rollup/rollup-darwin-x64@4.34.8': 340 | resolution: {integrity: sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==, tarball: https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.8.tgz} 341 | cpu: [x64] 342 | os: [darwin] 343 | 344 | '@rollup/rollup-freebsd-arm64@4.34.8': 345 | resolution: {integrity: sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==, tarball: https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.8.tgz} 346 | cpu: [arm64] 347 | os: [freebsd] 348 | 349 | '@rollup/rollup-freebsd-x64@4.34.8': 350 | resolution: {integrity: sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==, tarball: https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.8.tgz} 351 | cpu: [x64] 352 | os: [freebsd] 353 | 354 | '@rollup/rollup-linux-arm-gnueabihf@4.34.8': 355 | resolution: {integrity: sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==, tarball: https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.8.tgz} 356 | cpu: [arm] 357 | os: [linux] 358 | 359 | '@rollup/rollup-linux-arm-musleabihf@4.34.8': 360 | resolution: {integrity: sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==, tarball: https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.8.tgz} 361 | cpu: [arm] 362 | os: [linux] 363 | 364 | '@rollup/rollup-linux-arm64-gnu@4.34.8': 365 | resolution: {integrity: sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==, tarball: https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.8.tgz} 366 | cpu: [arm64] 367 | os: [linux] 368 | 369 | '@rollup/rollup-linux-arm64-musl@4.34.8': 370 | resolution: {integrity: sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==, tarball: https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.8.tgz} 371 | cpu: [arm64] 372 | os: [linux] 373 | 374 | '@rollup/rollup-linux-loongarch64-gnu@4.34.8': 375 | resolution: {integrity: sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==, tarball: https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.8.tgz} 376 | cpu: [loong64] 377 | os: [linux] 378 | 379 | '@rollup/rollup-linux-powerpc64le-gnu@4.34.8': 380 | resolution: {integrity: sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==, tarball: https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.8.tgz} 381 | cpu: [ppc64] 382 | os: [linux] 383 | 384 | '@rollup/rollup-linux-riscv64-gnu@4.34.8': 385 | resolution: {integrity: sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==, tarball: https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.8.tgz} 386 | cpu: [riscv64] 387 | os: [linux] 388 | 389 | '@rollup/rollup-linux-s390x-gnu@4.34.8': 390 | resolution: {integrity: sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==, tarball: https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.8.tgz} 391 | cpu: [s390x] 392 | os: [linux] 393 | 394 | '@rollup/rollup-linux-x64-gnu@4.34.8': 395 | resolution: {integrity: sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==, tarball: https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.8.tgz} 396 | cpu: [x64] 397 | os: [linux] 398 | 399 | '@rollup/rollup-linux-x64-musl@4.34.8': 400 | resolution: {integrity: sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==, tarball: https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.8.tgz} 401 | cpu: [x64] 402 | os: [linux] 403 | 404 | '@rollup/rollup-win32-arm64-msvc@4.34.8': 405 | resolution: {integrity: sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==, tarball: https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.8.tgz} 406 | cpu: [arm64] 407 | os: [win32] 408 | 409 | '@rollup/rollup-win32-ia32-msvc@4.34.8': 410 | resolution: {integrity: sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==, tarball: https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.8.tgz} 411 | cpu: [ia32] 412 | os: [win32] 413 | 414 | '@rollup/rollup-win32-x64-msvc@4.34.8': 415 | resolution: {integrity: sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==, tarball: https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz} 416 | cpu: [x64] 417 | os: [win32] 418 | 419 | '@trysound/sax@0.2.0': 420 | resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==, tarball: https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz} 421 | engines: {node: '>=10.13.0'} 422 | 423 | '@types/estree@1.0.6': 424 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==, tarball: https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz} 425 | 426 | '@types/raf@3.4.3': 427 | resolution: {integrity: sha512-c4YAvMedbPZ5tEyxzQdMoOhhJ4RD3rngZIdwC2/qDN3d7JpEhB6fiBRKVY1lg5B7Wk+uPBjn5f39j1/2MY1oOw==, tarball: https://registry.npmjs.org/@types/raf/-/raf-3.4.3.tgz} 428 | 429 | '@types/trusted-types@2.0.7': 430 | resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==, tarball: https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz} 431 | 432 | '@types/unist@2.0.11': 433 | resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==, tarball: https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz} 434 | 435 | '@vitejs/plugin-vue@5.2.1': 436 | resolution: {integrity: sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==, tarball: https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.1.tgz} 437 | engines: {node: ^18.0.0 || >=20.0.0} 438 | peerDependencies: 439 | vite: '>=5.4.12' 440 | vue: ^3.2.25 441 | 442 | '@vue/compiler-core@3.5.13': 443 | resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==, tarball: https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz} 444 | 445 | '@vue/compiler-dom@3.5.13': 446 | resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==, tarball: https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz} 447 | 448 | '@vue/compiler-sfc@3.5.13': 449 | resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==, tarball: https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz} 450 | 451 | '@vue/compiler-ssr@3.5.13': 452 | resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==, tarball: https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz} 453 | 454 | '@vue/reactivity@3.5.13': 455 | resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==, tarball: https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz} 456 | 457 | '@vue/runtime-core@3.5.13': 458 | resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==, tarball: https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz} 459 | 460 | '@vue/runtime-dom@3.5.13': 461 | resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==, tarball: https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz} 462 | 463 | '@vue/server-renderer@3.5.13': 464 | resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==, tarball: https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz} 465 | peerDependencies: 466 | vue: 3.5.13 467 | 468 | '@vue/shared@3.5.13': 469 | resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==, tarball: https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz} 470 | 471 | acorn@8.14.0: 472 | resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==, tarball: https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz} 473 | engines: {node: '>=0.4.0'} 474 | hasBin: true 475 | 476 | ansi-regex@5.0.1: 477 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, tarball: https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz} 478 | engines: {node: '>=8'} 479 | 480 | ansi-regex@6.1.0: 481 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==, tarball: https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz} 482 | engines: {node: '>=12'} 483 | 484 | ansi-styles@4.3.0: 485 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, tarball: https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz} 486 | engines: {node: '>=8'} 487 | 488 | ansi-styles@6.2.1: 489 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==, tarball: https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz} 490 | engines: {node: '>=12'} 491 | 492 | any-promise@1.3.0: 493 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==, tarball: https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz} 494 | 495 | anymatch@3.1.3: 496 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==, tarball: https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz} 497 | engines: {node: '>= 8'} 498 | 499 | arg@5.0.2: 500 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==, tarball: https://registry.npmjs.org/arg/-/arg-5.0.2.tgz} 501 | 502 | argparse@2.0.1: 503 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, tarball: https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz} 504 | 505 | atob@2.1.2: 506 | resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==, tarball: https://registry.npmjs.org/atob/-/atob-2.1.2.tgz} 507 | engines: {node: '>= 4.5.0'} 508 | hasBin: true 509 | 510 | autoprefixer@10.4.20: 511 | resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==, tarball: https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz} 512 | engines: {node: ^10 || ^12 || >=14} 513 | hasBin: true 514 | peerDependencies: 515 | postcss: ^8.1.0 516 | 517 | bail@1.0.5: 518 | resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==, tarball: https://registry.npmjs.org/bail/-/bail-1.0.5.tgz} 519 | 520 | balanced-match@1.0.2: 521 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, tarball: https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz} 522 | 523 | base64-arraybuffer@1.0.2: 524 | resolution: {integrity: sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==, tarball: https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz} 525 | engines: {node: '>= 0.6.0'} 526 | 527 | binary-extensions@2.3.0: 528 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==, tarball: https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz} 529 | engines: {node: '>=8'} 530 | 531 | boolbase@1.0.0: 532 | resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==, tarball: https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz} 533 | 534 | brace-expansion@2.0.1: 535 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, tarball: https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz} 536 | 537 | braces@3.0.3: 538 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==, tarball: https://registry.npmjs.org/braces/-/braces-3.0.3.tgz} 539 | engines: {node: '>=8'} 540 | 541 | browserslist@4.24.4: 542 | resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==, tarball: https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz} 543 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 544 | hasBin: true 545 | 546 | btoa@1.2.1: 547 | resolution: {integrity: sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==, tarball: https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz} 548 | engines: {node: '>= 0.4.0'} 549 | hasBin: true 550 | 551 | buffer-from@1.1.2: 552 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, tarball: https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz} 553 | 554 | bumpp@9.11.1: 555 | resolution: {integrity: sha512-jBHlab9NnRwrpHsockb5E+MBo0os2yS6S7i3cnN8hB6EkTardKQotmd0CFdOc8pubLz2fxj2AD6RGtrySVG6Mw==, tarball: https://registry.npmjs.org/bumpp/-/bumpp-9.11.1.tgz} 556 | engines: {node: '>=10'} 557 | hasBin: true 558 | 559 | c12@2.0.4: 560 | resolution: {integrity: sha512-3DbbhnFt0fKJHxU4tEUPmD1ahWE4PWPMomqfYsTJdrhpmEnRKJi3qSC4rO5U6E6zN1+pjBY7+z8fUmNRMaVKLw==, tarball: https://registry.npmjs.org/c12/-/c12-2.0.4.tgz} 561 | peerDependencies: 562 | magicast: ^0.3.5 563 | peerDependenciesMeta: 564 | magicast: 565 | optional: true 566 | 567 | cac@6.7.14: 568 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, tarball: https://registry.npmjs.org/cac/-/cac-6.7.14.tgz} 569 | engines: {node: '>=8'} 570 | 571 | camelcase-css@2.0.1: 572 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==, tarball: https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz} 573 | engines: {node: '>= 6'} 574 | 575 | caniuse-api@3.0.0: 576 | resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==, tarball: https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz} 577 | 578 | caniuse-lite@1.0.30001701: 579 | resolution: {integrity: sha512-faRs/AW3jA9nTwmJBSO1PQ6L/EOgsB5HMQQq4iCu5zhPgVVgO/pZRHlmatwijZKetFw8/Pr4q6dEN8sJuq8qTw==, tarball: https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001701.tgz} 580 | 581 | canvg@3.0.10: 582 | resolution: {integrity: sha512-qwR2FRNO9NlzTeKIPIKpnTY6fqwuYSequ8Ru8c0YkYU7U0oW+hLUvWadLvAu1Rl72OMNiFhoLu4f8eUjQ7l/+Q==, tarball: https://registry.npmjs.org/canvg/-/canvg-3.0.10.tgz} 583 | engines: {node: '>=10.0.0'} 584 | 585 | character-entities-legacy@1.1.4: 586 | resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==, tarball: https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz} 587 | 588 | character-entities@1.2.4: 589 | resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==, tarball: https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz} 590 | 591 | character-reference-invalid@1.1.4: 592 | resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==, tarball: https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz} 593 | 594 | chokidar@3.6.0: 595 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==, tarball: https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz} 596 | engines: {node: '>= 8.10.0'} 597 | 598 | chokidar@4.0.3: 599 | resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==, tarball: https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz} 600 | engines: {node: '>= 14.16.0'} 601 | 602 | chownr@2.0.0: 603 | resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==, tarball: https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz} 604 | engines: {node: '>=10'} 605 | 606 | citty@0.1.6: 607 | resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==, tarball: https://registry.npmjs.org/citty/-/citty-0.1.6.tgz} 608 | 609 | codejar@4.2.0: 610 | resolution: {integrity: sha512-U8OZe+2B400W5nSSbXxaoboBN5i1hxWdBZJ9kcTy0DBuc4muwkPE/ph/MGX4yooIE8hztfNLPNU1CbcNYch69A==, tarball: https://registry.npmjs.org/codejar/-/codejar-4.2.0.tgz} 611 | 612 | collapse-white-space@1.0.6: 613 | resolution: {integrity: sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==, tarball: https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz} 614 | 615 | color-convert@2.0.1: 616 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, tarball: https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz} 617 | engines: {node: '>=7.0.0'} 618 | 619 | color-name@1.1.4: 620 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, tarball: https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz} 621 | 622 | colord@2.9.3: 623 | resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==, tarball: https://registry.npmjs.org/colord/-/colord-2.9.3.tgz} 624 | 625 | commander@2.20.3: 626 | resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==, tarball: https://registry.npmjs.org/commander/-/commander-2.20.3.tgz} 627 | 628 | commander@4.1.1: 629 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==, tarball: https://registry.npmjs.org/commander/-/commander-4.1.1.tgz} 630 | engines: {node: '>= 6'} 631 | 632 | commander@7.2.0: 633 | resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==, tarball: https://registry.npmjs.org/commander/-/commander-7.2.0.tgz} 634 | engines: {node: '>= 10'} 635 | 636 | confbox@0.1.8: 637 | resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==, tarball: https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz} 638 | 639 | consola@3.4.0: 640 | resolution: {integrity: sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==, tarball: https://registry.npmjs.org/consola/-/consola-3.4.0.tgz} 641 | engines: {node: ^14.18.0 || >=16.10.0} 642 | 643 | core-js@3.40.0: 644 | resolution: {integrity: sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ==, tarball: https://registry.npmjs.org/core-js/-/core-js-3.40.0.tgz} 645 | 646 | cross-spawn@7.0.6: 647 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==, tarball: https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz} 648 | engines: {node: '>= 8'} 649 | 650 | css-declaration-sorter@7.2.0: 651 | resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==, tarball: https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz} 652 | engines: {node: ^14 || ^16 || >=18} 653 | peerDependencies: 654 | postcss: ^8.0.9 655 | 656 | css-line-break@2.1.0: 657 | resolution: {integrity: sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==, tarball: https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz} 658 | 659 | css-select@5.1.0: 660 | resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==, tarball: https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz} 661 | 662 | css-tree@2.2.1: 663 | resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==, tarball: https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz} 664 | engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} 665 | 666 | css-tree@2.3.1: 667 | resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==, tarball: https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz} 668 | engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} 669 | 670 | css-what@6.1.0: 671 | resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==, tarball: https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz} 672 | engines: {node: '>= 6'} 673 | 674 | cssesc@3.0.0: 675 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==, tarball: https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz} 676 | engines: {node: '>=4'} 677 | hasBin: true 678 | 679 | cssnano-preset-default@7.0.6: 680 | resolution: {integrity: sha512-ZzrgYupYxEvdGGuqL+JKOY70s7+saoNlHSCK/OGn1vB2pQK8KSET8jvenzItcY+kA7NoWvfbb/YhlzuzNKjOhQ==, tarball: https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.6.tgz} 681 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 682 | peerDependencies: 683 | postcss: ^8.4.31 684 | 685 | cssnano-utils@5.0.0: 686 | resolution: {integrity: sha512-Uij0Xdxc24L6SirFr25MlwC2rCFX6scyUmuKpzI+JQ7cyqDEwD42fJ0xfB3yLfOnRDU5LKGgjQ9FA6LYh76GWQ==, tarball: https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-5.0.0.tgz} 687 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 688 | peerDependencies: 689 | postcss: ^8.4.31 690 | 691 | cssnano@7.0.6: 692 | resolution: {integrity: sha512-54woqx8SCbp8HwvNZYn68ZFAepuouZW4lTwiMVnBErM3VkO7/Sd4oTOt3Zz3bPx3kxQ36aISppyXj2Md4lg8bw==, tarball: https://registry.npmjs.org/cssnano/-/cssnano-7.0.6.tgz} 693 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 694 | peerDependencies: 695 | postcss: ^8.4.31 696 | 697 | csso@5.0.5: 698 | resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==, tarball: https://registry.npmjs.org/csso/-/csso-5.0.5.tgz} 699 | engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} 700 | 701 | csstype@3.1.3: 702 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==, tarball: https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz} 703 | 704 | defu@6.1.4: 705 | resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==, tarball: https://registry.npmjs.org/defu/-/defu-6.1.4.tgz} 706 | 707 | destr@2.0.3: 708 | resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==, tarball: https://registry.npmjs.org/destr/-/destr-2.0.3.tgz} 709 | 710 | didyoumean@1.2.2: 711 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==, tarball: https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz} 712 | 713 | dlv@1.1.3: 714 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==, tarball: https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz} 715 | 716 | dom-serializer@2.0.0: 717 | resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==, tarball: https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz} 718 | 719 | dom-to-image@2.6.0: 720 | resolution: {integrity: sha512-Dt0QdaHmLpjURjU7Tnu3AgYSF2LuOmksSGsUcE6ItvJoCWTBEmiMXcqBdNSAm9+QbbwD7JMoVsuuKX6ZVQv1qA==, tarball: https://registry.npmjs.org/dom-to-image/-/dom-to-image-2.6.0.tgz} 721 | 722 | domelementtype@2.3.0: 723 | resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==, tarball: https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz} 724 | 725 | domhandler@5.0.3: 726 | resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==, tarball: https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz} 727 | engines: {node: '>= 4'} 728 | 729 | dompurify@3.2.4: 730 | resolution: {integrity: sha512-ysFSFEDVduQpyhzAob/kkuJjf5zWkZD8/A9ywSp1byueyuCfHamrCBa14/Oc2iiB0e51B+NpxSl5gmzn+Ms/mg==, tarball: https://registry.npmjs.org/dompurify/-/dompurify-3.2.4.tgz} 731 | 732 | domutils@3.2.2: 733 | resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==, tarball: https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz} 734 | 735 | dotenv@16.4.7: 736 | resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==, tarball: https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz} 737 | engines: {node: '>=12'} 738 | 739 | downloadjs@1.4.7: 740 | resolution: {integrity: sha512-LN1gO7+u9xjU5oEScGFKvXhYf7Y/empUIIEAGBs1LzUq/rg5duiDrkuH5A2lQGd5jfMOb9X9usDa2oVXwJ0U/Q==, tarball: https://registry.npmjs.org/downloadjs/-/downloadjs-1.4.7.tgz} 741 | 742 | eastasianwidth@0.2.0: 743 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==, tarball: https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz} 744 | 745 | electron-to-chromium@1.5.109: 746 | resolution: {integrity: sha512-AidaH9JETVRr9DIPGfp1kAarm/W6hRJTPuCnkF+2MqhF4KaAgRIcBc8nvjk+YMXZhwfISof/7WG29eS4iGxQLQ==, tarball: https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.109.tgz} 747 | 748 | emoji-regex@8.0.0: 749 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, tarball: https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz} 750 | 751 | emoji-regex@9.2.2: 752 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==, tarball: https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz} 753 | 754 | entities@4.5.0: 755 | resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==, tarball: https://registry.npmjs.org/entities/-/entities-4.5.0.tgz} 756 | engines: {node: '>=0.12'} 757 | 758 | es6-promise@4.2.8: 759 | resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==, tarball: https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz} 760 | 761 | esbuild@0.25.0: 762 | resolution: {integrity: sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==, tarball: https://registry.npmjs.org/esbuild/-/esbuild-0.25.0.tgz} 763 | engines: {node: '>=18'} 764 | hasBin: true 765 | 766 | escalade@3.2.0: 767 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==, tarball: https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz} 768 | engines: {node: '>=6'} 769 | 770 | estree-walker@2.0.2: 771 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==, tarball: https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz} 772 | 773 | eventemitter3@5.0.1: 774 | resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==, tarball: https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz} 775 | 776 | extend@3.0.2: 777 | resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==, tarball: https://registry.npmjs.org/extend/-/extend-3.0.2.tgz} 778 | 779 | fast-diff@1.2.0: 780 | resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==, tarball: https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz} 781 | 782 | fast-diff@1.3.0: 783 | resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==, tarball: https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz} 784 | 785 | fast-glob@3.3.3: 786 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==, tarball: https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz} 787 | engines: {node: '>=8.6.0'} 788 | 789 | fastq@1.19.1: 790 | resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==, tarball: https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz} 791 | 792 | fdir@6.4.3: 793 | resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==, tarball: https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz} 794 | peerDependencies: 795 | picomatch: ^3 || ^4 796 | peerDependenciesMeta: 797 | picomatch: 798 | optional: true 799 | 800 | fflate@0.8.2: 801 | resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==, tarball: https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz} 802 | 803 | fill-range@7.1.1: 804 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==, tarball: https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz} 805 | engines: {node: '>=8'} 806 | 807 | foreground-child@3.3.1: 808 | resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==, tarball: https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz} 809 | engines: {node: '>=14'} 810 | 811 | fraction.js@4.3.7: 812 | resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==, tarball: https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz} 813 | 814 | fs-minipass@2.1.0: 815 | resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==, tarball: https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz} 816 | engines: {node: '>= 8'} 817 | 818 | fsevents@2.3.3: 819 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, tarball: https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz} 820 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 821 | os: [darwin] 822 | 823 | function-bind@1.1.2: 824 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, tarball: https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz} 825 | 826 | giget@1.2.5: 827 | resolution: {integrity: sha512-r1ekGw/Bgpi3HLV3h1MRBIlSAdHoIMklpaQ3OQLFcRw9PwAj2rqigvIbg+dBUI51OxVI2jsEtDywDBjSiuf7Ug==, tarball: https://registry.npmjs.org/giget/-/giget-1.2.5.tgz} 828 | hasBin: true 829 | 830 | glob-parent@5.1.2: 831 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, tarball: https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz} 832 | engines: {node: '>= 6'} 833 | 834 | glob-parent@6.0.2: 835 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, tarball: https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz} 836 | engines: {node: '>=10.13.0'} 837 | 838 | glob@10.4.5: 839 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==, tarball: https://registry.npmjs.org/glob/-/glob-10.4.5.tgz} 840 | hasBin: true 841 | 842 | hasown@2.0.2: 843 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==, tarball: https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz} 844 | engines: {node: '>= 0.4'} 845 | 846 | highlight.js@11.11.1: 847 | resolution: {integrity: sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==, tarball: https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz} 848 | engines: {node: '>=12.0.0'} 849 | 850 | html2canvas@1.4.1: 851 | resolution: {integrity: sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==, tarball: https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz} 852 | engines: {node: '>=8.0.0'} 853 | 854 | html2pdf.js@0.10.1: 855 | resolution: {integrity: sha512-3onwwhOWsZfNjIZwV6YIJ6FVhXk+X9YxHSqzeS6hup+1dGi2DHI+zZYUJ+iFnvtaYcjlhyrILL1fvRCUOa8Fcg==, tarball: https://registry.npmjs.org/html2pdf.js/-/html2pdf.js-0.10.1.tgz} 856 | 857 | husky@9.1.7: 858 | resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==, tarball: https://registry.npmjs.org/husky/-/husky-9.1.7.tgz} 859 | engines: {node: '>=18'} 860 | hasBin: true 861 | 862 | inherits@2.0.4: 863 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, tarball: https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz} 864 | 865 | is-alphabetical@1.0.4: 866 | resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==, tarball: https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz} 867 | 868 | is-alphanumerical@1.0.4: 869 | resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==, tarball: https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz} 870 | 871 | is-binary-path@2.1.0: 872 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, tarball: https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz} 873 | engines: {node: '>=8'} 874 | 875 | is-buffer@2.0.5: 876 | resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==, tarball: https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz} 877 | engines: {node: '>=4'} 878 | 879 | is-core-module@2.16.1: 880 | resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==, tarball: https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz} 881 | engines: {node: '>= 0.4'} 882 | 883 | is-decimal@1.0.4: 884 | resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==, tarball: https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz} 885 | 886 | is-extglob@2.1.1: 887 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, tarball: https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz} 888 | engines: {node: '>=0.10.0'} 889 | 890 | is-fullwidth-code-point@3.0.0: 891 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, tarball: https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz} 892 | engines: {node: '>=8'} 893 | 894 | is-glob@4.0.3: 895 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, tarball: https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz} 896 | engines: {node: '>=0.10.0'} 897 | 898 | is-hexadecimal@1.0.4: 899 | resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==, tarball: https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz} 900 | 901 | is-number@7.0.0: 902 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, tarball: https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz} 903 | engines: {node: '>=0.12.0'} 904 | 905 | is-plain-obj@2.1.0: 906 | resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==, tarball: https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz} 907 | engines: {node: '>=8'} 908 | 909 | is-whitespace-character@1.0.4: 910 | resolution: {integrity: sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==, tarball: https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz} 911 | 912 | is-word-character@1.0.4: 913 | resolution: {integrity: sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==, tarball: https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz} 914 | 915 | isexe@2.0.0: 916 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, tarball: https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz} 917 | 918 | jackspeak@3.4.3: 919 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==, tarball: https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz} 920 | 921 | jiti@1.21.7: 922 | resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==, tarball: https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz} 923 | hasBin: true 924 | 925 | jiti@2.4.2: 926 | resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==, tarball: https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz} 927 | hasBin: true 928 | 929 | js-yaml@4.1.0: 930 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, tarball: https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz} 931 | hasBin: true 932 | 933 | jsonc-parser@3.3.1: 934 | resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==, tarball: https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz} 935 | 936 | jspdf@2.5.2: 937 | resolution: {integrity: sha512-myeX9c+p7znDWPk0eTrujCzNjT+CXdXyk7YmJq5nD5V7uLLKmSXnlQ/Jn/kuo3X09Op70Apm0rQSnFWyGK8uEQ==, tarball: https://registry.npmjs.org/jspdf/-/jspdf-2.5.2.tgz} 938 | 939 | kleur@3.0.3: 940 | resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==, tarball: https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz} 941 | engines: {node: '>=6'} 942 | 943 | lilconfig@3.1.3: 944 | resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==, tarball: https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz} 945 | engines: {node: '>=14'} 946 | 947 | lines-and-columns@1.2.4: 948 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, tarball: https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz} 949 | 950 | lodash-es@4.17.21: 951 | resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==, tarball: https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz} 952 | 953 | lodash.clonedeep@4.5.0: 954 | resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==, tarball: https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz} 955 | 956 | lodash.isequal@4.5.0: 957 | resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==, tarball: https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz} 958 | deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. 959 | 960 | lodash.memoize@4.1.2: 961 | resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==, tarball: https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz} 962 | 963 | lodash.uniq@4.5.0: 964 | resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==, tarball: https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz} 965 | 966 | lru-cache@10.4.3: 967 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==, tarball: https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz} 968 | 969 | magic-string@0.30.17: 970 | resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==, tarball: https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz} 971 | 972 | markdown-escapes@1.0.4: 973 | resolution: {integrity: sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==, tarball: https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz} 974 | 975 | marked@14.1.4: 976 | resolution: {integrity: sha512-vkVZ8ONmUdPnjCKc5uTRvmkRbx4EAi2OkTOXmfTDhZz3OFqMNBM1oTTWwTr4HY4uAEojhzPf+Fy8F1DWa3Sndg==, tarball: https://registry.npmjs.org/marked/-/marked-14.1.4.tgz} 977 | engines: {node: '>= 18'} 978 | hasBin: true 979 | 980 | md-to-quill-delta@1.1.1: 981 | resolution: {integrity: sha512-sUud5J0/K1b7eiZ2eeEInArXTFigCu8kiTf0arVAh6wW7rt7pTVe4rmg2hQFw1RQDMIDmxhAVqyPt6y7DAhsJA==, tarball: https://registry.npmjs.org/md-to-quill-delta/-/md-to-quill-delta-1.1.1.tgz} 982 | engines: {node: '>=6.0.0'} 983 | 984 | mdn-data@2.0.28: 985 | resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==, tarball: https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz} 986 | 987 | mdn-data@2.0.30: 988 | resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==, tarball: https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz} 989 | 990 | merge2@1.4.1: 991 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, tarball: https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz} 992 | engines: {node: '>= 8'} 993 | 994 | micromatch@4.0.8: 995 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==, tarball: https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz} 996 | engines: {node: '>=8.6'} 997 | 998 | minimatch@9.0.5: 999 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==, tarball: https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz} 1000 | engines: {node: '>=16 || 14 >=14.17'} 1001 | 1002 | minipass@3.3.6: 1003 | resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==, tarball: https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz} 1004 | engines: {node: '>=8'} 1005 | 1006 | minipass@5.0.0: 1007 | resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==, tarball: https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz} 1008 | engines: {node: '>=8'} 1009 | 1010 | minipass@7.1.2: 1011 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==, tarball: https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz} 1012 | engines: {node: '>=16 || 14 >=14.17'} 1013 | 1014 | minizlib@2.1.2: 1015 | resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==, tarball: https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz} 1016 | engines: {node: '>= 8'} 1017 | 1018 | mkdirp@1.0.4: 1019 | resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==, tarball: https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz} 1020 | engines: {node: '>=10'} 1021 | hasBin: true 1022 | 1023 | mlly@1.7.4: 1024 | resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==, tarball: https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz} 1025 | 1026 | mz@2.7.0: 1027 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==, tarball: https://registry.npmjs.org/mz/-/mz-2.7.0.tgz} 1028 | 1029 | nano-staged@0.8.0: 1030 | resolution: {integrity: sha512-QSEqPGTCJbkHU2yLvfY6huqYPjdBrOaTMKatO1F8nCSrkQGXeKwtCiCnsdxnuMhbg3DTVywKaeWLGCE5oJpq0g==, tarball: https://registry.npmjs.org/nano-staged/-/nano-staged-0.8.0.tgz} 1031 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1032 | hasBin: true 1033 | 1034 | nanoid@3.3.8: 1035 | resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==, tarball: https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz} 1036 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1037 | hasBin: true 1038 | 1039 | node-fetch-native@1.6.6: 1040 | resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==, tarball: https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.6.tgz} 1041 | 1042 | node-releases@2.0.19: 1043 | resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==, tarball: https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz} 1044 | 1045 | normalize-path@3.0.0: 1046 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, tarball: https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz} 1047 | engines: {node: '>=0.10.0'} 1048 | 1049 | normalize-range@0.1.2: 1050 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==, tarball: https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz} 1051 | engines: {node: '>=0.10.0'} 1052 | 1053 | nth-check@2.1.1: 1054 | resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==, tarball: https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz} 1055 | 1056 | nypm@0.5.4: 1057 | resolution: {integrity: sha512-X0SNNrZiGU8/e/zAB7sCTtdxWTMSIO73q+xuKgglm2Yvzwlo8UoC5FNySQFCvl84uPaeADkqHUZUkWy4aH4xOA==, tarball: https://registry.npmjs.org/nypm/-/nypm-0.5.4.tgz} 1058 | engines: {node: ^14.16.0 || >=16.10.0} 1059 | hasBin: true 1060 | 1061 | object-assign@4.1.1: 1062 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, tarball: https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz} 1063 | engines: {node: '>=0.10.0'} 1064 | 1065 | object-hash@3.0.0: 1066 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==, tarball: https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz} 1067 | engines: {node: '>= 6'} 1068 | 1069 | ohash@2.0.6: 1070 | resolution: {integrity: sha512-y3n0xHnH5RhTNlu5KvoH1cPKNS3ewteDWjvUXkW5+X/iYYe914zGbixMCr//jEjwn/IgMjfOwDPIpDJ0+ld3tw==, tarball: https://registry.npmjs.org/ohash/-/ohash-2.0.6.tgz} 1071 | 1072 | package-json-from-dist@1.0.1: 1073 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==, tarball: https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz} 1074 | 1075 | package-manager-detector@0.2.10: 1076 | resolution: {integrity: sha512-1wlNZK7HW+UE3eGCcMv3hDaYokhspuIeH6enXSnCL1eEZSVDsy/dYwo/4CczhUsrKLA1SSXB+qce8Glw5DEVtw==, tarball: https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-0.2.10.tgz} 1077 | 1078 | parchment@3.0.0: 1079 | resolution: {integrity: sha512-HUrJFQ/StvgmXRcQ1ftY6VEZUq3jA2t9ncFN4F84J/vN0/FPpQF+8FKXb3l6fLces6q0uOHj6NJn+2xvZnxO6A==, tarball: https://registry.npmjs.org/parchment/-/parchment-3.0.0.tgz} 1080 | 1081 | parse-entities@1.2.2: 1082 | resolution: {integrity: sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==, tarball: https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz} 1083 | 1084 | path-key@3.1.1: 1085 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, tarball: https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz} 1086 | engines: {node: '>=8'} 1087 | 1088 | path-parse@1.0.7: 1089 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, tarball: https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz} 1090 | 1091 | path-scurry@1.11.1: 1092 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==, tarball: https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz} 1093 | engines: {node: '>=16 || 14 >=14.18'} 1094 | 1095 | pathe@2.0.3: 1096 | resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==, tarball: https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz} 1097 | 1098 | perfect-debounce@1.0.0: 1099 | resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==, tarball: https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz} 1100 | 1101 | performance-now@2.1.0: 1102 | resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==, tarball: https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz} 1103 | 1104 | picocolors@1.1.1: 1105 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==, tarball: https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz} 1106 | 1107 | picomatch@2.3.1: 1108 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, tarball: https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz} 1109 | engines: {node: '>=8.6'} 1110 | 1111 | picomatch@4.0.2: 1112 | resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==, tarball: https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz} 1113 | engines: {node: '>=12'} 1114 | 1115 | pify@2.3.0: 1116 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==, tarball: https://registry.npmjs.org/pify/-/pify-2.3.0.tgz} 1117 | engines: {node: '>=0.10.0'} 1118 | 1119 | pirates@4.0.6: 1120 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==, tarball: https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz} 1121 | engines: {node: '>= 6'} 1122 | 1123 | pkg-types@1.3.1: 1124 | resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==, tarball: https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz} 1125 | 1126 | postcss-calc@10.1.1: 1127 | resolution: {integrity: sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw==, tarball: https://registry.npmjs.org/postcss-calc/-/postcss-calc-10.1.1.tgz} 1128 | engines: {node: ^18.12 || ^20.9 || >=22.0} 1129 | peerDependencies: 1130 | postcss: ^8.4.38 1131 | 1132 | postcss-colormin@7.0.2: 1133 | resolution: {integrity: sha512-YntRXNngcvEvDbEjTdRWGU606eZvB5prmHG4BF0yLmVpamXbpsRJzevyy6MZVyuecgzI2AWAlvFi8DAeCqwpvA==, tarball: https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-7.0.2.tgz} 1134 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1135 | peerDependencies: 1136 | postcss: ^8.4.31 1137 | 1138 | postcss-convert-values@7.0.4: 1139 | resolution: {integrity: sha512-e2LSXPqEHVW6aoGbjV9RsSSNDO3A0rZLCBxN24zvxF25WknMPpX8Dm9UxxThyEbaytzggRuZxaGXqaOhxQ514Q==, tarball: https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.4.tgz} 1140 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1141 | peerDependencies: 1142 | postcss: ^8.4.31 1143 | 1144 | postcss-discard-comments@7.0.3: 1145 | resolution: {integrity: sha512-q6fjd4WU4afNhWOA2WltHgCbkRhZPgQe7cXF74fuVB/ge4QbM9HEaOIzGSiMvM+g/cOsNAUGdf2JDzqA2F8iLA==, tarball: https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-7.0.3.tgz} 1146 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1147 | peerDependencies: 1148 | postcss: ^8.4.31 1149 | 1150 | postcss-discard-duplicates@7.0.1: 1151 | resolution: {integrity: sha512-oZA+v8Jkpu1ct/xbbrntHRsfLGuzoP+cpt0nJe5ED2FQF8n8bJtn7Bo28jSmBYwqgqnqkuSXJfSUEE7if4nClQ==, tarball: https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-7.0.1.tgz} 1152 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1153 | peerDependencies: 1154 | postcss: ^8.4.31 1155 | 1156 | postcss-discard-empty@7.0.0: 1157 | resolution: {integrity: sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==, tarball: https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.0.tgz} 1158 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1159 | peerDependencies: 1160 | postcss: ^8.4.31 1161 | 1162 | postcss-discard-overridden@7.0.0: 1163 | resolution: {integrity: sha512-GmNAzx88u3k2+sBTZrJSDauR0ccpE24omTQCVmaTTZFz1du6AasspjaUPMJ2ud4RslZpoFKyf+6MSPETLojc6w==, tarball: https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-7.0.0.tgz} 1164 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1165 | peerDependencies: 1166 | postcss: ^8.4.31 1167 | 1168 | postcss-import@15.1.0: 1169 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==, tarball: https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz} 1170 | engines: {node: '>=14.0.0'} 1171 | peerDependencies: 1172 | postcss: ^8.0.0 1173 | 1174 | postcss-js@4.0.1: 1175 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==, tarball: https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz} 1176 | engines: {node: ^12 || ^14 || >= 16} 1177 | peerDependencies: 1178 | postcss: ^8.4.21 1179 | 1180 | postcss-load-config@4.0.2: 1181 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==, tarball: https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz} 1182 | engines: {node: '>= 14'} 1183 | peerDependencies: 1184 | postcss: '>=8.0.9' 1185 | ts-node: '>=9.0.0' 1186 | peerDependenciesMeta: 1187 | postcss: 1188 | optional: true 1189 | ts-node: 1190 | optional: true 1191 | 1192 | postcss-merge-longhand@7.0.4: 1193 | resolution: {integrity: sha512-zer1KoZA54Q8RVHKOY5vMke0cCdNxMP3KBfDerjH/BYHh4nCIh+1Yy0t1pAEQF18ac/4z3OFclO+ZVH8azjR4A==, tarball: https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-7.0.4.tgz} 1194 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1195 | peerDependencies: 1196 | postcss: ^8.4.31 1197 | 1198 | postcss-merge-rules@7.0.4: 1199 | resolution: {integrity: sha512-ZsaamiMVu7uBYsIdGtKJ64PkcQt6Pcpep/uO90EpLS3dxJi6OXamIobTYcImyXGoW0Wpugh7DSD3XzxZS9JCPg==, tarball: https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-7.0.4.tgz} 1200 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1201 | peerDependencies: 1202 | postcss: ^8.4.31 1203 | 1204 | postcss-minify-font-values@7.0.0: 1205 | resolution: {integrity: sha512-2ckkZtgT0zG8SMc5aoNwtm5234eUx1GGFJKf2b1bSp8UflqaeFzR50lid4PfqVI9NtGqJ2J4Y7fwvnP/u1cQog==, tarball: https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-7.0.0.tgz} 1206 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1207 | peerDependencies: 1208 | postcss: ^8.4.31 1209 | 1210 | postcss-minify-gradients@7.0.0: 1211 | resolution: {integrity: sha512-pdUIIdj/C93ryCHew0UgBnL2DtUS3hfFa5XtERrs4x+hmpMYGhbzo6l/Ir5de41O0GaKVpK1ZbDNXSY6GkXvtg==, tarball: https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-7.0.0.tgz} 1212 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1213 | peerDependencies: 1214 | postcss: ^8.4.31 1215 | 1216 | postcss-minify-params@7.0.2: 1217 | resolution: {integrity: sha512-nyqVLu4MFl9df32zTsdcLqCFfE/z2+f8GE1KHPxWOAmegSo6lpV2GNy5XQvrzwbLmiU7d+fYay4cwto1oNdAaQ==, tarball: https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-7.0.2.tgz} 1218 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1219 | peerDependencies: 1220 | postcss: ^8.4.31 1221 | 1222 | postcss-minify-selectors@7.0.4: 1223 | resolution: {integrity: sha512-JG55VADcNb4xFCf75hXkzc1rNeURhlo7ugf6JjiiKRfMsKlDzN9CXHZDyiG6x/zGchpjQS+UAgb1d4nqXqOpmA==, tarball: https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-7.0.4.tgz} 1224 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1225 | peerDependencies: 1226 | postcss: ^8.4.31 1227 | 1228 | postcss-nested@6.2.0: 1229 | resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==, tarball: https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz} 1230 | engines: {node: '>=12.0'} 1231 | peerDependencies: 1232 | postcss: ^8.2.14 1233 | 1234 | postcss-normalize-charset@7.0.0: 1235 | resolution: {integrity: sha512-ABisNUXMeZeDNzCQxPxBCkXexvBrUHV+p7/BXOY+ulxkcjUZO0cp8ekGBwvIh2LbCwnWbyMPNJVtBSdyhM2zYQ==, tarball: https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-7.0.0.tgz} 1236 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1237 | peerDependencies: 1238 | postcss: ^8.4.31 1239 | 1240 | postcss-normalize-display-values@7.0.0: 1241 | resolution: {integrity: sha512-lnFZzNPeDf5uGMPYgGOw7v0BfB45+irSRz9gHQStdkkhiM0gTfvWkWB5BMxpn0OqgOQuZG/mRlZyJxp0EImr2Q==, tarball: https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-7.0.0.tgz} 1242 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1243 | peerDependencies: 1244 | postcss: ^8.4.31 1245 | 1246 | postcss-normalize-positions@7.0.0: 1247 | resolution: {integrity: sha512-I0yt8wX529UKIGs2y/9Ybs2CelSvItfmvg/DBIjTnoUSrPxSV7Z0yZ8ShSVtKNaV/wAY+m7bgtyVQLhB00A1NQ==, tarball: https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-7.0.0.tgz} 1248 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1249 | peerDependencies: 1250 | postcss: ^8.4.31 1251 | 1252 | postcss-normalize-repeat-style@7.0.0: 1253 | resolution: {integrity: sha512-o3uSGYH+2q30ieM3ppu9GTjSXIzOrRdCUn8UOMGNw7Af61bmurHTWI87hRybrP6xDHvOe5WlAj3XzN6vEO8jLw==, tarball: https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-7.0.0.tgz} 1254 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1255 | peerDependencies: 1256 | postcss: ^8.4.31 1257 | 1258 | postcss-normalize-string@7.0.0: 1259 | resolution: {integrity: sha512-w/qzL212DFVOpMy3UGyxrND+Kb0fvCiBBujiaONIihq7VvtC7bswjWgKQU/w4VcRyDD8gpfqUiBQ4DUOwEJ6Qg==, tarball: https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-7.0.0.tgz} 1260 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1261 | peerDependencies: 1262 | postcss: ^8.4.31 1263 | 1264 | postcss-normalize-timing-functions@7.0.0: 1265 | resolution: {integrity: sha512-tNgw3YV0LYoRwg43N3lTe3AEWZ66W7Dh7lVEpJbHoKOuHc1sLrzMLMFjP8SNULHaykzsonUEDbKedv8C+7ej6g==, tarball: https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-7.0.0.tgz} 1266 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1267 | peerDependencies: 1268 | postcss: ^8.4.31 1269 | 1270 | postcss-normalize-unicode@7.0.2: 1271 | resolution: {integrity: sha512-ztisabK5C/+ZWBdYC+Y9JCkp3M9qBv/XFvDtSw0d/XwfT3UaKeW/YTm/MD/QrPNxuecia46vkfEhewjwcYFjkg==, tarball: https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.2.tgz} 1272 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1273 | peerDependencies: 1274 | postcss: ^8.4.31 1275 | 1276 | postcss-normalize-url@7.0.0: 1277 | resolution: {integrity: sha512-+d7+PpE+jyPX1hDQZYG+NaFD+Nd2ris6r8fPTBAjE8z/U41n/bib3vze8x7rKs5H1uEw5ppe9IojewouHk0klQ==, tarball: https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-7.0.0.tgz} 1278 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1279 | peerDependencies: 1280 | postcss: ^8.4.31 1281 | 1282 | postcss-normalize-whitespace@7.0.0: 1283 | resolution: {integrity: sha512-37/toN4wwZErqohedXYqWgvcHUGlT8O/m2jVkAfAe9Bd4MzRqlBmXrJRePH0e9Wgnz2X7KymTgTOaaFizQe3AQ==, tarball: https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-7.0.0.tgz} 1284 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1285 | peerDependencies: 1286 | postcss: ^8.4.31 1287 | 1288 | postcss-ordered-values@7.0.1: 1289 | resolution: {integrity: sha512-irWScWRL6nRzYmBOXReIKch75RRhNS86UPUAxXdmW/l0FcAsg0lvAXQCby/1lymxn/o0gVa6Rv/0f03eJOwHxw==, tarball: https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-7.0.1.tgz} 1290 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1291 | peerDependencies: 1292 | postcss: ^8.4.31 1293 | 1294 | postcss-reduce-initial@7.0.2: 1295 | resolution: {integrity: sha512-pOnu9zqQww7dEKf62Nuju6JgsW2V0KRNBHxeKohU+JkHd/GAH5uvoObqFLqkeB2n20mr6yrlWDvo5UBU5GnkfA==, tarball: https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-7.0.2.tgz} 1296 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1297 | peerDependencies: 1298 | postcss: ^8.4.31 1299 | 1300 | postcss-reduce-transforms@7.0.0: 1301 | resolution: {integrity: sha512-pnt1HKKZ07/idH8cpATX/ujMbtOGhUfE+m8gbqwJE05aTaNw8gbo34a2e3if0xc0dlu75sUOiqvwCGY3fzOHew==, tarball: https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-7.0.0.tgz} 1302 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1303 | peerDependencies: 1304 | postcss: ^8.4.31 1305 | 1306 | postcss-selector-parser@6.1.2: 1307 | resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==, tarball: https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz} 1308 | engines: {node: '>=4'} 1309 | 1310 | postcss-selector-parser@7.1.0: 1311 | resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==, tarball: https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz} 1312 | engines: {node: '>=4'} 1313 | 1314 | postcss-svgo@7.0.1: 1315 | resolution: {integrity: sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==, tarball: https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-7.0.1.tgz} 1316 | engines: {node: ^18.12.0 || ^20.9.0 || >= 18} 1317 | peerDependencies: 1318 | postcss: ^8.4.31 1319 | 1320 | postcss-unique-selectors@7.0.3: 1321 | resolution: {integrity: sha512-J+58u5Ic5T1QjP/LDV9g3Cx4CNOgB5vz+kM6+OxHHhFACdcDeKhBXjQmB7fnIZM12YSTvsL0Opwco83DmacW2g==, tarball: https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-7.0.3.tgz} 1322 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1323 | peerDependencies: 1324 | postcss: ^8.4.31 1325 | 1326 | postcss-value-parser@4.2.0: 1327 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==, tarball: https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz} 1328 | 1329 | postcss@8.5.3: 1330 | resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==, tarball: https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz} 1331 | engines: {node: ^10 || ^12 || >=14} 1332 | 1333 | prettier@3.5.2: 1334 | resolution: {integrity: sha512-lc6npv5PH7hVqozBR7lkBNOGXV9vMwROAPlumdBkX0wTbbzPu/U1hk5yL8p2pt4Xoc+2mkT8t/sow2YrV/M5qg==, tarball: https://registry.npmjs.org/prettier/-/prettier-3.5.2.tgz} 1335 | engines: {node: '>=14'} 1336 | hasBin: true 1337 | 1338 | prompts@2.4.2: 1339 | resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==, tarball: https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz} 1340 | engines: {node: '>= 6'} 1341 | 1342 | quansync@0.2.6: 1343 | resolution: {integrity: sha512-u3TuxVTuJtkTxKGk5oZ7K2/o+l0/cC6J8SOyaaSnrnroqvcVy7xBxtvBUyd+Xa8cGoCr87XmQj4NR6W+zbqH8w==, tarball: https://registry.npmjs.org/quansync/-/quansync-0.2.6.tgz} 1344 | 1345 | queue-microtask@1.2.3: 1346 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, tarball: https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz} 1347 | 1348 | quill-delta-to-html@0.12.1: 1349 | resolution: {integrity: sha512-QhpeMk9+5ge3HYbL5A0Ewz3pXCsbemqGvIF/kw5D6D4V68AtcUp7yt9xNUkzOk/0IQz43hKy3IkzBzRhLIE+oA==, tarball: https://registry.npmjs.org/quill-delta-to-html/-/quill-delta-to-html-0.12.1.tgz} 1350 | 1351 | quill-delta@4.2.2: 1352 | resolution: {integrity: sha512-qjbn82b/yJzOjstBgkhtBjN2TNK+ZHP/BgUQO+j6bRhWQQdmj2lH6hXG7+nwwLF41Xgn//7/83lxs9n2BkTtTg==, tarball: https://registry.npmjs.org/quill-delta/-/quill-delta-4.2.2.tgz} 1353 | 1354 | quill-delta@5.1.0: 1355 | resolution: {integrity: sha512-X74oCeRI4/p0ucjb5Ma8adTXd9Scumz367kkMK5V/IatcX6A0vlgLgKbzXWy5nZmCGeNJm2oQX0d2Eqj+ZIlCA==, tarball: https://registry.npmjs.org/quill-delta/-/quill-delta-5.1.0.tgz} 1356 | engines: {node: '>= 12.0.0'} 1357 | 1358 | quill@2.0.3: 1359 | resolution: {integrity: sha512-xEYQBqfYx/sfb33VJiKnSJp8ehloavImQ2A6564GAbqG55PGw1dAWUn1MUbQB62t0azawUS2CZZhWCjO8gRvTw==, tarball: https://registry.npmjs.org/quill/-/quill-2.0.3.tgz} 1360 | engines: {npm: '>=8.2.3'} 1361 | 1362 | quilljs-markdown@1.2.0: 1363 | resolution: {integrity: sha512-/Fqm0d7QF+n3dvFGZDosq5W4kBloD4QR6qDzv6ATFAmShDYRtnijP0cODmG+bk+2P+233wivbragV+6DNzePJg==, tarball: https://registry.npmjs.org/quilljs-markdown/-/quilljs-markdown-1.2.0.tgz} 1364 | 1365 | raf@3.4.1: 1366 | resolution: {integrity: sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==, tarball: https://registry.npmjs.org/raf/-/raf-3.4.1.tgz} 1367 | 1368 | rc9@2.1.2: 1369 | resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==, tarball: https://registry.npmjs.org/rc9/-/rc9-2.1.2.tgz} 1370 | 1371 | read-cache@1.0.0: 1372 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==, tarball: https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz} 1373 | 1374 | readdirp@3.6.0: 1375 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, tarball: https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz} 1376 | engines: {node: '>=8.10.0'} 1377 | 1378 | readdirp@4.1.2: 1379 | resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==, tarball: https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz} 1380 | engines: {node: '>= 14.18.0'} 1381 | 1382 | regenerator-runtime@0.13.11: 1383 | resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==, tarball: https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz} 1384 | 1385 | regenerator-runtime@0.14.1: 1386 | resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==, tarball: https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz} 1387 | 1388 | remark-parse@7.0.2: 1389 | resolution: {integrity: sha512-9+my0lQS80IQkYXsMA8Sg6m9QfXYJBnXjWYN5U+kFc5/n69t+XZVXU/ZBYr3cYH8FheEGf1v87rkFDhJ8bVgMA==, tarball: https://registry.npmjs.org/remark-parse/-/remark-parse-7.0.2.tgz} 1390 | 1391 | repeat-string@1.6.1: 1392 | resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==, tarball: https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz} 1393 | engines: {node: '>=0.10'} 1394 | 1395 | resolve@1.22.10: 1396 | resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==, tarball: https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz} 1397 | engines: {node: '>= 0.4'} 1398 | hasBin: true 1399 | 1400 | reusify@1.1.0: 1401 | resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==, tarball: https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz} 1402 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1403 | 1404 | rgbcolor@1.0.1: 1405 | resolution: {integrity: sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==, tarball: https://registry.npmjs.org/rgbcolor/-/rgbcolor-1.0.1.tgz} 1406 | engines: {node: '>= 0.8.15'} 1407 | 1408 | rollup@4.34.8: 1409 | resolution: {integrity: sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==, tarball: https://registry.npmjs.org/rollup/-/rollup-4.34.8.tgz} 1410 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1411 | hasBin: true 1412 | 1413 | run-parallel@1.2.0: 1414 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, tarball: https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz} 1415 | 1416 | semver@7.7.1: 1417 | resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==, tarball: https://registry.npmjs.org/semver/-/semver-7.7.1.tgz} 1418 | engines: {node: '>=10'} 1419 | hasBin: true 1420 | 1421 | shebang-command@2.0.0: 1422 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, tarball: https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz} 1423 | engines: {node: '>=8'} 1424 | 1425 | shebang-regex@3.0.0: 1426 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, tarball: https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz} 1427 | engines: {node: '>=8'} 1428 | 1429 | signal-exit@4.1.0: 1430 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, tarball: https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz} 1431 | engines: {node: '>=14'} 1432 | 1433 | sisteransi@1.0.5: 1434 | resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==, tarball: https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz} 1435 | 1436 | source-map-js@1.2.1: 1437 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==, tarball: https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz} 1438 | engines: {node: '>=0.10.0'} 1439 | 1440 | source-map-support@0.5.21: 1441 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==, tarball: https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz} 1442 | 1443 | source-map@0.6.1: 1444 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, tarball: https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz} 1445 | engines: {node: '>=0.10.0'} 1446 | 1447 | stackblur-canvas@2.7.0: 1448 | resolution: {integrity: sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ==, tarball: https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.7.0.tgz} 1449 | engines: {node: '>=0.1.14'} 1450 | 1451 | state-toggle@1.0.3: 1452 | resolution: {integrity: sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==, tarball: https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz} 1453 | 1454 | string-width@4.2.3: 1455 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, tarball: https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz} 1456 | engines: {node: '>=8'} 1457 | 1458 | string-width@5.1.2: 1459 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==, tarball: https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz} 1460 | engines: {node: '>=12'} 1461 | 1462 | strip-ansi@6.0.1: 1463 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, tarball: https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz} 1464 | engines: {node: '>=8'} 1465 | 1466 | strip-ansi@7.1.0: 1467 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==, tarball: https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz} 1468 | engines: {node: '>=12'} 1469 | 1470 | stylehacks@7.0.4: 1471 | resolution: {integrity: sha512-i4zfNrGMt9SB4xRK9L83rlsFCgdGANfeDAYacO1pkqcE7cRHPdWHwnKZVz7WY17Veq/FvyYsRAU++Ga+qDFIww==, tarball: https://registry.npmjs.org/stylehacks/-/stylehacks-7.0.4.tgz} 1472 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1473 | peerDependencies: 1474 | postcss: ^8.4.31 1475 | 1476 | sucrase@3.35.0: 1477 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==, tarball: https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz} 1478 | engines: {node: '>=16 || 14 >=14.17'} 1479 | hasBin: true 1480 | 1481 | supports-preserve-symlinks-flag@1.0.0: 1482 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, tarball: https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz} 1483 | engines: {node: '>= 0.4'} 1484 | 1485 | svg-pathdata@6.0.3: 1486 | resolution: {integrity: sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==, tarball: https://registry.npmjs.org/svg-pathdata/-/svg-pathdata-6.0.3.tgz} 1487 | engines: {node: '>=12.0.0'} 1488 | 1489 | svgo@3.3.2: 1490 | resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==, tarball: https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz} 1491 | engines: {node: '>=14.0.0'} 1492 | hasBin: true 1493 | 1494 | tailwindcss@3.4.17: 1495 | resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==, tarball: https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz} 1496 | engines: {node: '>=14.0.0'} 1497 | hasBin: true 1498 | 1499 | tar@6.2.1: 1500 | resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==, tarball: https://registry.npmjs.org/tar/-/tar-6.2.1.tgz} 1501 | engines: {node: '>=10'} 1502 | 1503 | terser@5.39.0: 1504 | resolution: {integrity: sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==, tarball: https://registry.npmjs.org/terser/-/terser-5.39.0.tgz} 1505 | engines: {node: '>=10'} 1506 | hasBin: true 1507 | 1508 | text-segmentation@1.0.3: 1509 | resolution: {integrity: sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==, tarball: https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz} 1510 | 1511 | thenify-all@1.6.0: 1512 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==, tarball: https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz} 1513 | engines: {node: '>=0.8'} 1514 | 1515 | thenify@3.3.1: 1516 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==, tarball: https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz} 1517 | 1518 | tiny-conventional-commits-parser@0.0.1: 1519 | resolution: {integrity: sha512-N5+AZWdBeHNSgTIaxvx0+9mFrnW4H1BbjQ84H7i3TuWSkno8Hju886hLaHZhE/hYEKrfrfl/uHurqpZJHDuYGQ==, tarball: https://registry.npmjs.org/tiny-conventional-commits-parser/-/tiny-conventional-commits-parser-0.0.1.tgz} 1520 | 1521 | tinyexec@0.3.2: 1522 | resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==, tarball: https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz} 1523 | 1524 | tinyglobby@0.2.12: 1525 | resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==, tarball: https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.12.tgz} 1526 | engines: {node: '>=12.0.0'} 1527 | 1528 | to-regex-range@5.0.1: 1529 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, tarball: https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz} 1530 | engines: {node: '>=8.0'} 1531 | 1532 | trim-trailing-lines@1.1.4: 1533 | resolution: {integrity: sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==, tarball: https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz} 1534 | 1535 | trim@1.0.1: 1536 | resolution: {integrity: sha512-3JVP2YVqITUisXblCDq/Bi4P9457G/sdEamInkyvCsjbTcXLXIiG7XCb4kGMFWh6JGXesS3TKxOPtrncN/xe8w==, tarball: https://registry.npmjs.org/trim/-/trim-1.0.1.tgz} 1537 | deprecated: Use String.prototype.trim() instead 1538 | 1539 | trough@1.0.5: 1540 | resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==, tarball: https://registry.npmjs.org/trough/-/trough-1.0.5.tgz} 1541 | 1542 | ts-interface-checker@0.1.13: 1543 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==, tarball: https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz} 1544 | 1545 | turndown@7.2.0: 1546 | resolution: {integrity: sha512-eCZGBN4nNNqM9Owkv9HAtWRYfLA4h909E/WGAWWBpmB275ehNhZyk87/Tpvjbp0jjNl9XwCsbe6bm6CqFsgD+A==, tarball: https://registry.npmjs.org/turndown/-/turndown-7.2.0.tgz} 1547 | 1548 | ufo@1.5.4: 1549 | resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==, tarball: https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz} 1550 | 1551 | unherit@1.1.3: 1552 | resolution: {integrity: sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==, tarball: https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz} 1553 | 1554 | unified@8.4.2: 1555 | resolution: {integrity: sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==, tarball: https://registry.npmjs.org/unified/-/unified-8.4.2.tgz} 1556 | 1557 | unist-util-is@3.0.0: 1558 | resolution: {integrity: sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==, tarball: https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz} 1559 | 1560 | unist-util-remove-position@1.1.4: 1561 | resolution: {integrity: sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==, tarball: https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz} 1562 | 1563 | unist-util-stringify-position@2.0.3: 1564 | resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==, tarball: https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz} 1565 | 1566 | unist-util-visit-parents@2.1.2: 1567 | resolution: {integrity: sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==, tarball: https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz} 1568 | 1569 | unist-util-visit@1.4.1: 1570 | resolution: {integrity: sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==, tarball: https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz} 1571 | 1572 | update-browserslist-db@1.1.3: 1573 | resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==, tarball: https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz} 1574 | hasBin: true 1575 | peerDependencies: 1576 | browserslist: '>= 4.21.0' 1577 | 1578 | util-deprecate@1.0.2: 1579 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, tarball: https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz} 1580 | 1581 | utrie@1.0.2: 1582 | resolution: {integrity: sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==, tarball: https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz} 1583 | 1584 | vfile-location@2.0.6: 1585 | resolution: {integrity: sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==, tarball: https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz} 1586 | 1587 | vfile-message@2.0.4: 1588 | resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==, tarball: https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz} 1589 | 1590 | vfile@4.2.1: 1591 | resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==, tarball: https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz} 1592 | 1593 | vite@6.2.0: 1594 | resolution: {integrity: sha512-7dPxoo+WsT/64rDcwoOjk76XHj+TqNTIvHKcuMQ1k4/SeHDaQt5GFAeLYzrimZrMpn/O6DtdI03WUjdxuPM0oQ==, tarball: https://registry.npmjs.org/vite/-/vite-6.2.0.tgz} 1595 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} 1596 | hasBin: true 1597 | peerDependencies: 1598 | '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 1599 | jiti: '>=1.21.0' 1600 | less: '*' 1601 | lightningcss: ^1.21.0 1602 | sass: '*' 1603 | sass-embedded: '*' 1604 | stylus: '*' 1605 | sugarss: '*' 1606 | terser: ^5.16.0 1607 | tsx: ^4.8.1 1608 | yaml: ^2.4.2 1609 | peerDependenciesMeta: 1610 | '@types/node': 1611 | optional: true 1612 | jiti: 1613 | optional: true 1614 | less: 1615 | optional: true 1616 | lightningcss: 1617 | optional: true 1618 | sass: 1619 | optional: true 1620 | sass-embedded: 1621 | optional: true 1622 | stylus: 1623 | optional: true 1624 | sugarss: 1625 | optional: true 1626 | terser: 1627 | optional: true 1628 | tsx: 1629 | optional: true 1630 | yaml: 1631 | optional: true 1632 | 1633 | vue@3.5.13: 1634 | resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==, tarball: https://registry.npmjs.org/vue/-/vue-3.5.13.tgz} 1635 | peerDependencies: 1636 | typescript: '*' 1637 | peerDependenciesMeta: 1638 | typescript: 1639 | optional: true 1640 | 1641 | which@2.0.2: 1642 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, tarball: https://registry.npmjs.org/which/-/which-2.0.2.tgz} 1643 | engines: {node: '>= 8'} 1644 | hasBin: true 1645 | 1646 | wrap-ansi@7.0.0: 1647 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, tarball: https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz} 1648 | engines: {node: '>=10'} 1649 | 1650 | wrap-ansi@8.1.0: 1651 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==, tarball: https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz} 1652 | engines: {node: '>=12'} 1653 | 1654 | xtend@4.0.2: 1655 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, tarball: https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz} 1656 | engines: {node: '>=0.4'} 1657 | 1658 | yallist@4.0.0: 1659 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, tarball: https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz} 1660 | 1661 | yaml@2.7.0: 1662 | resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==, tarball: https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz} 1663 | engines: {node: '>= 14'} 1664 | hasBin: true 1665 | 1666 | snapshots: 1667 | 1668 | '@alloc/quick-lru@5.2.0': {} 1669 | 1670 | '@babel/helper-string-parser@7.25.9': {} 1671 | 1672 | '@babel/helper-validator-identifier@7.25.9': {} 1673 | 1674 | '@babel/parser@7.26.9': 1675 | dependencies: 1676 | '@babel/types': 7.26.9 1677 | 1678 | '@babel/runtime@7.26.9': 1679 | dependencies: 1680 | regenerator-runtime: 0.14.1 1681 | 1682 | '@babel/types@7.26.9': 1683 | dependencies: 1684 | '@babel/helper-string-parser': 7.25.9 1685 | '@babel/helper-validator-identifier': 7.25.9 1686 | 1687 | '@barelyhuman/prettier-config@2.0.2': {} 1688 | 1689 | '@esbuild/aix-ppc64@0.25.0': 1690 | optional: true 1691 | 1692 | '@esbuild/android-arm64@0.25.0': 1693 | optional: true 1694 | 1695 | '@esbuild/android-arm@0.25.0': 1696 | optional: true 1697 | 1698 | '@esbuild/android-x64@0.25.0': 1699 | optional: true 1700 | 1701 | '@esbuild/darwin-arm64@0.25.0': 1702 | optional: true 1703 | 1704 | '@esbuild/darwin-x64@0.25.0': 1705 | optional: true 1706 | 1707 | '@esbuild/freebsd-arm64@0.25.0': 1708 | optional: true 1709 | 1710 | '@esbuild/freebsd-x64@0.25.0': 1711 | optional: true 1712 | 1713 | '@esbuild/linux-arm64@0.25.0': 1714 | optional: true 1715 | 1716 | '@esbuild/linux-arm@0.25.0': 1717 | optional: true 1718 | 1719 | '@esbuild/linux-ia32@0.25.0': 1720 | optional: true 1721 | 1722 | '@esbuild/linux-loong64@0.25.0': 1723 | optional: true 1724 | 1725 | '@esbuild/linux-mips64el@0.25.0': 1726 | optional: true 1727 | 1728 | '@esbuild/linux-ppc64@0.25.0': 1729 | optional: true 1730 | 1731 | '@esbuild/linux-riscv64@0.25.0': 1732 | optional: true 1733 | 1734 | '@esbuild/linux-s390x@0.25.0': 1735 | optional: true 1736 | 1737 | '@esbuild/linux-x64@0.25.0': 1738 | optional: true 1739 | 1740 | '@esbuild/netbsd-arm64@0.25.0': 1741 | optional: true 1742 | 1743 | '@esbuild/netbsd-x64@0.25.0': 1744 | optional: true 1745 | 1746 | '@esbuild/openbsd-arm64@0.25.0': 1747 | optional: true 1748 | 1749 | '@esbuild/openbsd-x64@0.25.0': 1750 | optional: true 1751 | 1752 | '@esbuild/sunos-x64@0.25.0': 1753 | optional: true 1754 | 1755 | '@esbuild/win32-arm64@0.25.0': 1756 | optional: true 1757 | 1758 | '@esbuild/win32-ia32@0.25.0': 1759 | optional: true 1760 | 1761 | '@esbuild/win32-x64@0.25.0': 1762 | optional: true 1763 | 1764 | '@isaacs/cliui@8.0.2': 1765 | dependencies: 1766 | string-width: 5.1.2 1767 | string-width-cjs: string-width@4.2.3 1768 | strip-ansi: 7.1.0 1769 | strip-ansi-cjs: strip-ansi@6.0.1 1770 | wrap-ansi: 8.1.0 1771 | wrap-ansi-cjs: wrap-ansi@7.0.0 1772 | 1773 | '@jridgewell/gen-mapping@0.3.8': 1774 | dependencies: 1775 | '@jridgewell/set-array': 1.2.1 1776 | '@jridgewell/sourcemap-codec': 1.5.0 1777 | '@jridgewell/trace-mapping': 0.3.25 1778 | 1779 | '@jridgewell/resolve-uri@3.1.2': {} 1780 | 1781 | '@jridgewell/set-array@1.2.1': {} 1782 | 1783 | '@jridgewell/source-map@0.3.6': 1784 | dependencies: 1785 | '@jridgewell/gen-mapping': 0.3.8 1786 | '@jridgewell/trace-mapping': 0.3.25 1787 | 1788 | '@jridgewell/sourcemap-codec@1.5.0': {} 1789 | 1790 | '@jridgewell/trace-mapping@0.3.25': 1791 | dependencies: 1792 | '@jridgewell/resolve-uri': 3.1.2 1793 | '@jridgewell/sourcemap-codec': 1.5.0 1794 | 1795 | '@mixmark-io/domino@2.2.0': {} 1796 | 1797 | '@nodelib/fs.scandir@2.1.5': 1798 | dependencies: 1799 | '@nodelib/fs.stat': 2.0.5 1800 | run-parallel: 1.2.0 1801 | 1802 | '@nodelib/fs.stat@2.0.5': {} 1803 | 1804 | '@nodelib/fs.walk@1.2.8': 1805 | dependencies: 1806 | '@nodelib/fs.scandir': 2.1.5 1807 | fastq: 1.19.1 1808 | 1809 | '@pkgjs/parseargs@0.11.0': 1810 | optional: true 1811 | 1812 | '@rollup/rollup-android-arm-eabi@4.34.8': 1813 | optional: true 1814 | 1815 | '@rollup/rollup-android-arm64@4.34.8': 1816 | optional: true 1817 | 1818 | '@rollup/rollup-darwin-arm64@4.34.8': 1819 | optional: true 1820 | 1821 | '@rollup/rollup-darwin-x64@4.34.8': 1822 | optional: true 1823 | 1824 | '@rollup/rollup-freebsd-arm64@4.34.8': 1825 | optional: true 1826 | 1827 | '@rollup/rollup-freebsd-x64@4.34.8': 1828 | optional: true 1829 | 1830 | '@rollup/rollup-linux-arm-gnueabihf@4.34.8': 1831 | optional: true 1832 | 1833 | '@rollup/rollup-linux-arm-musleabihf@4.34.8': 1834 | optional: true 1835 | 1836 | '@rollup/rollup-linux-arm64-gnu@4.34.8': 1837 | optional: true 1838 | 1839 | '@rollup/rollup-linux-arm64-musl@4.34.8': 1840 | optional: true 1841 | 1842 | '@rollup/rollup-linux-loongarch64-gnu@4.34.8': 1843 | optional: true 1844 | 1845 | '@rollup/rollup-linux-powerpc64le-gnu@4.34.8': 1846 | optional: true 1847 | 1848 | '@rollup/rollup-linux-riscv64-gnu@4.34.8': 1849 | optional: true 1850 | 1851 | '@rollup/rollup-linux-s390x-gnu@4.34.8': 1852 | optional: true 1853 | 1854 | '@rollup/rollup-linux-x64-gnu@4.34.8': 1855 | optional: true 1856 | 1857 | '@rollup/rollup-linux-x64-musl@4.34.8': 1858 | optional: true 1859 | 1860 | '@rollup/rollup-win32-arm64-msvc@4.34.8': 1861 | optional: true 1862 | 1863 | '@rollup/rollup-win32-ia32-msvc@4.34.8': 1864 | optional: true 1865 | 1866 | '@rollup/rollup-win32-x64-msvc@4.34.8': 1867 | optional: true 1868 | 1869 | '@trysound/sax@0.2.0': {} 1870 | 1871 | '@types/estree@1.0.6': {} 1872 | 1873 | '@types/raf@3.4.3': 1874 | optional: true 1875 | 1876 | '@types/trusted-types@2.0.7': 1877 | optional: true 1878 | 1879 | '@types/unist@2.0.11': {} 1880 | 1881 | '@vitejs/plugin-vue@5.2.1(vite@6.2.0(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0))(vue@3.5.13)': 1882 | dependencies: 1883 | vite: 6.2.0(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0) 1884 | vue: 3.5.13 1885 | 1886 | '@vue/compiler-core@3.5.13': 1887 | dependencies: 1888 | '@babel/parser': 7.26.9 1889 | '@vue/shared': 3.5.13 1890 | entities: 4.5.0 1891 | estree-walker: 2.0.2 1892 | source-map-js: 1.2.1 1893 | 1894 | '@vue/compiler-dom@3.5.13': 1895 | dependencies: 1896 | '@vue/compiler-core': 3.5.13 1897 | '@vue/shared': 3.5.13 1898 | 1899 | '@vue/compiler-sfc@3.5.13': 1900 | dependencies: 1901 | '@babel/parser': 7.26.9 1902 | '@vue/compiler-core': 3.5.13 1903 | '@vue/compiler-dom': 3.5.13 1904 | '@vue/compiler-ssr': 3.5.13 1905 | '@vue/shared': 3.5.13 1906 | estree-walker: 2.0.2 1907 | magic-string: 0.30.17 1908 | postcss: 8.5.3 1909 | source-map-js: 1.2.1 1910 | 1911 | '@vue/compiler-ssr@3.5.13': 1912 | dependencies: 1913 | '@vue/compiler-dom': 3.5.13 1914 | '@vue/shared': 3.5.13 1915 | 1916 | '@vue/reactivity@3.5.13': 1917 | dependencies: 1918 | '@vue/shared': 3.5.13 1919 | 1920 | '@vue/runtime-core@3.5.13': 1921 | dependencies: 1922 | '@vue/reactivity': 3.5.13 1923 | '@vue/shared': 3.5.13 1924 | 1925 | '@vue/runtime-dom@3.5.13': 1926 | dependencies: 1927 | '@vue/reactivity': 3.5.13 1928 | '@vue/runtime-core': 3.5.13 1929 | '@vue/shared': 3.5.13 1930 | csstype: 3.1.3 1931 | 1932 | '@vue/server-renderer@3.5.13(vue@3.5.13)': 1933 | dependencies: 1934 | '@vue/compiler-ssr': 3.5.13 1935 | '@vue/shared': 3.5.13 1936 | vue: 3.5.13 1937 | 1938 | '@vue/shared@3.5.13': {} 1939 | 1940 | acorn@8.14.0: {} 1941 | 1942 | ansi-regex@5.0.1: {} 1943 | 1944 | ansi-regex@6.1.0: {} 1945 | 1946 | ansi-styles@4.3.0: 1947 | dependencies: 1948 | color-convert: 2.0.1 1949 | 1950 | ansi-styles@6.2.1: {} 1951 | 1952 | any-promise@1.3.0: {} 1953 | 1954 | anymatch@3.1.3: 1955 | dependencies: 1956 | normalize-path: 3.0.0 1957 | picomatch: 2.3.1 1958 | 1959 | arg@5.0.2: {} 1960 | 1961 | argparse@2.0.1: {} 1962 | 1963 | atob@2.1.2: {} 1964 | 1965 | autoprefixer@10.4.20(postcss@8.5.3): 1966 | dependencies: 1967 | browserslist: 4.24.4 1968 | caniuse-lite: 1.0.30001701 1969 | fraction.js: 4.3.7 1970 | normalize-range: 0.1.2 1971 | picocolors: 1.1.1 1972 | postcss: 8.5.3 1973 | postcss-value-parser: 4.2.0 1974 | 1975 | bail@1.0.5: {} 1976 | 1977 | balanced-match@1.0.2: {} 1978 | 1979 | base64-arraybuffer@1.0.2: {} 1980 | 1981 | binary-extensions@2.3.0: {} 1982 | 1983 | boolbase@1.0.0: {} 1984 | 1985 | brace-expansion@2.0.1: 1986 | dependencies: 1987 | balanced-match: 1.0.2 1988 | 1989 | braces@3.0.3: 1990 | dependencies: 1991 | fill-range: 7.1.1 1992 | 1993 | browserslist@4.24.4: 1994 | dependencies: 1995 | caniuse-lite: 1.0.30001701 1996 | electron-to-chromium: 1.5.109 1997 | node-releases: 2.0.19 1998 | update-browserslist-db: 1.1.3(browserslist@4.24.4) 1999 | 2000 | btoa@1.2.1: {} 2001 | 2002 | buffer-from@1.1.2: {} 2003 | 2004 | bumpp@9.11.1: 2005 | dependencies: 2006 | c12: 2.0.4 2007 | cac: 6.7.14 2008 | escalade: 3.2.0 2009 | js-yaml: 4.1.0 2010 | jsonc-parser: 3.3.1 2011 | package-manager-detector: 0.2.10 2012 | prompts: 2.4.2 2013 | semver: 7.7.1 2014 | tiny-conventional-commits-parser: 0.0.1 2015 | tinyexec: 0.3.2 2016 | tinyglobby: 0.2.12 2017 | transitivePeerDependencies: 2018 | - magicast 2019 | 2020 | c12@2.0.4: 2021 | dependencies: 2022 | chokidar: 4.0.3 2023 | confbox: 0.1.8 2024 | defu: 6.1.4 2025 | dotenv: 16.4.7 2026 | giget: 1.2.5 2027 | jiti: 2.4.2 2028 | mlly: 1.7.4 2029 | ohash: 2.0.6 2030 | pathe: 2.0.3 2031 | perfect-debounce: 1.0.0 2032 | pkg-types: 1.3.1 2033 | rc9: 2.1.2 2034 | 2035 | cac@6.7.14: {} 2036 | 2037 | camelcase-css@2.0.1: {} 2038 | 2039 | caniuse-api@3.0.0: 2040 | dependencies: 2041 | browserslist: 4.24.4 2042 | caniuse-lite: 1.0.30001701 2043 | lodash.memoize: 4.1.2 2044 | lodash.uniq: 4.5.0 2045 | 2046 | caniuse-lite@1.0.30001701: {} 2047 | 2048 | canvg@3.0.10: 2049 | dependencies: 2050 | '@babel/runtime': 7.26.9 2051 | '@types/raf': 3.4.3 2052 | core-js: 3.40.0 2053 | raf: 3.4.1 2054 | regenerator-runtime: 0.13.11 2055 | rgbcolor: 1.0.1 2056 | stackblur-canvas: 2.7.0 2057 | svg-pathdata: 6.0.3 2058 | optional: true 2059 | 2060 | character-entities-legacy@1.1.4: {} 2061 | 2062 | character-entities@1.2.4: {} 2063 | 2064 | character-reference-invalid@1.1.4: {} 2065 | 2066 | chokidar@3.6.0: 2067 | dependencies: 2068 | anymatch: 3.1.3 2069 | braces: 3.0.3 2070 | glob-parent: 5.1.2 2071 | is-binary-path: 2.1.0 2072 | is-glob: 4.0.3 2073 | normalize-path: 3.0.0 2074 | readdirp: 3.6.0 2075 | optionalDependencies: 2076 | fsevents: 2.3.3 2077 | 2078 | chokidar@4.0.3: 2079 | dependencies: 2080 | readdirp: 4.1.2 2081 | 2082 | chownr@2.0.0: {} 2083 | 2084 | citty@0.1.6: 2085 | dependencies: 2086 | consola: 3.4.0 2087 | 2088 | codejar@4.2.0: {} 2089 | 2090 | collapse-white-space@1.0.6: {} 2091 | 2092 | color-convert@2.0.1: 2093 | dependencies: 2094 | color-name: 1.1.4 2095 | 2096 | color-name@1.1.4: {} 2097 | 2098 | colord@2.9.3: {} 2099 | 2100 | commander@2.20.3: {} 2101 | 2102 | commander@4.1.1: {} 2103 | 2104 | commander@7.2.0: {} 2105 | 2106 | confbox@0.1.8: {} 2107 | 2108 | consola@3.4.0: {} 2109 | 2110 | core-js@3.40.0: {} 2111 | 2112 | cross-spawn@7.0.6: 2113 | dependencies: 2114 | path-key: 3.1.1 2115 | shebang-command: 2.0.0 2116 | which: 2.0.2 2117 | 2118 | css-declaration-sorter@7.2.0(postcss@8.5.3): 2119 | dependencies: 2120 | postcss: 8.5.3 2121 | 2122 | css-line-break@2.1.0: 2123 | dependencies: 2124 | utrie: 1.0.2 2125 | 2126 | css-select@5.1.0: 2127 | dependencies: 2128 | boolbase: 1.0.0 2129 | css-what: 6.1.0 2130 | domhandler: 5.0.3 2131 | domutils: 3.2.2 2132 | nth-check: 2.1.1 2133 | 2134 | css-tree@2.2.1: 2135 | dependencies: 2136 | mdn-data: 2.0.28 2137 | source-map-js: 1.2.1 2138 | 2139 | css-tree@2.3.1: 2140 | dependencies: 2141 | mdn-data: 2.0.30 2142 | source-map-js: 1.2.1 2143 | 2144 | css-what@6.1.0: {} 2145 | 2146 | cssesc@3.0.0: {} 2147 | 2148 | cssnano-preset-default@7.0.6(postcss@8.5.3): 2149 | dependencies: 2150 | browserslist: 4.24.4 2151 | css-declaration-sorter: 7.2.0(postcss@8.5.3) 2152 | cssnano-utils: 5.0.0(postcss@8.5.3) 2153 | postcss: 8.5.3 2154 | postcss-calc: 10.1.1(postcss@8.5.3) 2155 | postcss-colormin: 7.0.2(postcss@8.5.3) 2156 | postcss-convert-values: 7.0.4(postcss@8.5.3) 2157 | postcss-discard-comments: 7.0.3(postcss@8.5.3) 2158 | postcss-discard-duplicates: 7.0.1(postcss@8.5.3) 2159 | postcss-discard-empty: 7.0.0(postcss@8.5.3) 2160 | postcss-discard-overridden: 7.0.0(postcss@8.5.3) 2161 | postcss-merge-longhand: 7.0.4(postcss@8.5.3) 2162 | postcss-merge-rules: 7.0.4(postcss@8.5.3) 2163 | postcss-minify-font-values: 7.0.0(postcss@8.5.3) 2164 | postcss-minify-gradients: 7.0.0(postcss@8.5.3) 2165 | postcss-minify-params: 7.0.2(postcss@8.5.3) 2166 | postcss-minify-selectors: 7.0.4(postcss@8.5.3) 2167 | postcss-normalize-charset: 7.0.0(postcss@8.5.3) 2168 | postcss-normalize-display-values: 7.0.0(postcss@8.5.3) 2169 | postcss-normalize-positions: 7.0.0(postcss@8.5.3) 2170 | postcss-normalize-repeat-style: 7.0.0(postcss@8.5.3) 2171 | postcss-normalize-string: 7.0.0(postcss@8.5.3) 2172 | postcss-normalize-timing-functions: 7.0.0(postcss@8.5.3) 2173 | postcss-normalize-unicode: 7.0.2(postcss@8.5.3) 2174 | postcss-normalize-url: 7.0.0(postcss@8.5.3) 2175 | postcss-normalize-whitespace: 7.0.0(postcss@8.5.3) 2176 | postcss-ordered-values: 7.0.1(postcss@8.5.3) 2177 | postcss-reduce-initial: 7.0.2(postcss@8.5.3) 2178 | postcss-reduce-transforms: 7.0.0(postcss@8.5.3) 2179 | postcss-svgo: 7.0.1(postcss@8.5.3) 2180 | postcss-unique-selectors: 7.0.3(postcss@8.5.3) 2181 | 2182 | cssnano-utils@5.0.0(postcss@8.5.3): 2183 | dependencies: 2184 | postcss: 8.5.3 2185 | 2186 | cssnano@7.0.6(postcss@8.5.3): 2187 | dependencies: 2188 | cssnano-preset-default: 7.0.6(postcss@8.5.3) 2189 | lilconfig: 3.1.3 2190 | postcss: 8.5.3 2191 | 2192 | csso@5.0.5: 2193 | dependencies: 2194 | css-tree: 2.2.1 2195 | 2196 | csstype@3.1.3: {} 2197 | 2198 | defu@6.1.4: {} 2199 | 2200 | destr@2.0.3: {} 2201 | 2202 | didyoumean@1.2.2: {} 2203 | 2204 | dlv@1.1.3: {} 2205 | 2206 | dom-serializer@2.0.0: 2207 | dependencies: 2208 | domelementtype: 2.3.0 2209 | domhandler: 5.0.3 2210 | entities: 4.5.0 2211 | 2212 | dom-to-image@2.6.0: {} 2213 | 2214 | domelementtype@2.3.0: {} 2215 | 2216 | domhandler@5.0.3: 2217 | dependencies: 2218 | domelementtype: 2.3.0 2219 | 2220 | dompurify@3.2.4: 2221 | optionalDependencies: 2222 | '@types/trusted-types': 2.0.7 2223 | optional: true 2224 | 2225 | domutils@3.2.2: 2226 | dependencies: 2227 | dom-serializer: 2.0.0 2228 | domelementtype: 2.3.0 2229 | domhandler: 5.0.3 2230 | 2231 | dotenv@16.4.7: {} 2232 | 2233 | downloadjs@1.4.7: {} 2234 | 2235 | eastasianwidth@0.2.0: {} 2236 | 2237 | electron-to-chromium@1.5.109: {} 2238 | 2239 | emoji-regex@8.0.0: {} 2240 | 2241 | emoji-regex@9.2.2: {} 2242 | 2243 | entities@4.5.0: {} 2244 | 2245 | es6-promise@4.2.8: {} 2246 | 2247 | esbuild@0.25.0: 2248 | optionalDependencies: 2249 | '@esbuild/aix-ppc64': 0.25.0 2250 | '@esbuild/android-arm': 0.25.0 2251 | '@esbuild/android-arm64': 0.25.0 2252 | '@esbuild/android-x64': 0.25.0 2253 | '@esbuild/darwin-arm64': 0.25.0 2254 | '@esbuild/darwin-x64': 0.25.0 2255 | '@esbuild/freebsd-arm64': 0.25.0 2256 | '@esbuild/freebsd-x64': 0.25.0 2257 | '@esbuild/linux-arm': 0.25.0 2258 | '@esbuild/linux-arm64': 0.25.0 2259 | '@esbuild/linux-ia32': 0.25.0 2260 | '@esbuild/linux-loong64': 0.25.0 2261 | '@esbuild/linux-mips64el': 0.25.0 2262 | '@esbuild/linux-ppc64': 0.25.0 2263 | '@esbuild/linux-riscv64': 0.25.0 2264 | '@esbuild/linux-s390x': 0.25.0 2265 | '@esbuild/linux-x64': 0.25.0 2266 | '@esbuild/netbsd-arm64': 0.25.0 2267 | '@esbuild/netbsd-x64': 0.25.0 2268 | '@esbuild/openbsd-arm64': 0.25.0 2269 | '@esbuild/openbsd-x64': 0.25.0 2270 | '@esbuild/sunos-x64': 0.25.0 2271 | '@esbuild/win32-arm64': 0.25.0 2272 | '@esbuild/win32-ia32': 0.25.0 2273 | '@esbuild/win32-x64': 0.25.0 2274 | 2275 | escalade@3.2.0: {} 2276 | 2277 | estree-walker@2.0.2: {} 2278 | 2279 | eventemitter3@5.0.1: {} 2280 | 2281 | extend@3.0.2: {} 2282 | 2283 | fast-diff@1.2.0: {} 2284 | 2285 | fast-diff@1.3.0: {} 2286 | 2287 | fast-glob@3.3.3: 2288 | dependencies: 2289 | '@nodelib/fs.stat': 2.0.5 2290 | '@nodelib/fs.walk': 1.2.8 2291 | glob-parent: 5.1.2 2292 | merge2: 1.4.1 2293 | micromatch: 4.0.8 2294 | 2295 | fastq@1.19.1: 2296 | dependencies: 2297 | reusify: 1.1.0 2298 | 2299 | fdir@6.4.3(picomatch@4.0.2): 2300 | optionalDependencies: 2301 | picomatch: 4.0.2 2302 | 2303 | fflate@0.8.2: {} 2304 | 2305 | fill-range@7.1.1: 2306 | dependencies: 2307 | to-regex-range: 5.0.1 2308 | 2309 | foreground-child@3.3.1: 2310 | dependencies: 2311 | cross-spawn: 7.0.6 2312 | signal-exit: 4.1.0 2313 | 2314 | fraction.js@4.3.7: {} 2315 | 2316 | fs-minipass@2.1.0: 2317 | dependencies: 2318 | minipass: 3.3.6 2319 | 2320 | fsevents@2.3.3: 2321 | optional: true 2322 | 2323 | function-bind@1.1.2: {} 2324 | 2325 | giget@1.2.5: 2326 | dependencies: 2327 | citty: 0.1.6 2328 | consola: 3.4.0 2329 | defu: 6.1.4 2330 | node-fetch-native: 1.6.6 2331 | nypm: 0.5.4 2332 | pathe: 2.0.3 2333 | tar: 6.2.1 2334 | 2335 | glob-parent@5.1.2: 2336 | dependencies: 2337 | is-glob: 4.0.3 2338 | 2339 | glob-parent@6.0.2: 2340 | dependencies: 2341 | is-glob: 4.0.3 2342 | 2343 | glob@10.4.5: 2344 | dependencies: 2345 | foreground-child: 3.3.1 2346 | jackspeak: 3.4.3 2347 | minimatch: 9.0.5 2348 | minipass: 7.1.2 2349 | package-json-from-dist: 1.0.1 2350 | path-scurry: 1.11.1 2351 | 2352 | hasown@2.0.2: 2353 | dependencies: 2354 | function-bind: 1.1.2 2355 | 2356 | highlight.js@11.11.1: {} 2357 | 2358 | html2canvas@1.4.1: 2359 | dependencies: 2360 | css-line-break: 2.1.0 2361 | text-segmentation: 1.0.3 2362 | 2363 | html2pdf.js@0.10.1: 2364 | dependencies: 2365 | es6-promise: 4.2.8 2366 | html2canvas: 1.4.1 2367 | jspdf: 2.5.2 2368 | 2369 | husky@9.1.7: {} 2370 | 2371 | inherits@2.0.4: {} 2372 | 2373 | is-alphabetical@1.0.4: {} 2374 | 2375 | is-alphanumerical@1.0.4: 2376 | dependencies: 2377 | is-alphabetical: 1.0.4 2378 | is-decimal: 1.0.4 2379 | 2380 | is-binary-path@2.1.0: 2381 | dependencies: 2382 | binary-extensions: 2.3.0 2383 | 2384 | is-buffer@2.0.5: {} 2385 | 2386 | is-core-module@2.16.1: 2387 | dependencies: 2388 | hasown: 2.0.2 2389 | 2390 | is-decimal@1.0.4: {} 2391 | 2392 | is-extglob@2.1.1: {} 2393 | 2394 | is-fullwidth-code-point@3.0.0: {} 2395 | 2396 | is-glob@4.0.3: 2397 | dependencies: 2398 | is-extglob: 2.1.1 2399 | 2400 | is-hexadecimal@1.0.4: {} 2401 | 2402 | is-number@7.0.0: {} 2403 | 2404 | is-plain-obj@2.1.0: {} 2405 | 2406 | is-whitespace-character@1.0.4: {} 2407 | 2408 | is-word-character@1.0.4: {} 2409 | 2410 | isexe@2.0.0: {} 2411 | 2412 | jackspeak@3.4.3: 2413 | dependencies: 2414 | '@isaacs/cliui': 8.0.2 2415 | optionalDependencies: 2416 | '@pkgjs/parseargs': 0.11.0 2417 | 2418 | jiti@1.21.7: {} 2419 | 2420 | jiti@2.4.2: {} 2421 | 2422 | js-yaml@4.1.0: 2423 | dependencies: 2424 | argparse: 2.0.1 2425 | 2426 | jsonc-parser@3.3.1: {} 2427 | 2428 | jspdf@2.5.2: 2429 | dependencies: 2430 | '@babel/runtime': 7.26.9 2431 | atob: 2.1.2 2432 | btoa: 1.2.1 2433 | fflate: 0.8.2 2434 | optionalDependencies: 2435 | canvg: 3.0.10 2436 | core-js: 3.40.0 2437 | dompurify: 3.2.4 2438 | html2canvas: 1.4.1 2439 | 2440 | kleur@3.0.3: {} 2441 | 2442 | lilconfig@3.1.3: {} 2443 | 2444 | lines-and-columns@1.2.4: {} 2445 | 2446 | lodash-es@4.17.21: {} 2447 | 2448 | lodash.clonedeep@4.5.0: {} 2449 | 2450 | lodash.isequal@4.5.0: {} 2451 | 2452 | lodash.memoize@4.1.2: {} 2453 | 2454 | lodash.uniq@4.5.0: {} 2455 | 2456 | lru-cache@10.4.3: {} 2457 | 2458 | magic-string@0.30.17: 2459 | dependencies: 2460 | '@jridgewell/sourcemap-codec': 1.5.0 2461 | 2462 | markdown-escapes@1.0.4: {} 2463 | 2464 | marked@14.1.4: {} 2465 | 2466 | md-to-quill-delta@1.1.1: 2467 | dependencies: 2468 | quill-delta: 4.2.2 2469 | remark-parse: 7.0.2 2470 | unified: 8.4.2 2471 | 2472 | mdn-data@2.0.28: {} 2473 | 2474 | mdn-data@2.0.30: {} 2475 | 2476 | merge2@1.4.1: {} 2477 | 2478 | micromatch@4.0.8: 2479 | dependencies: 2480 | braces: 3.0.3 2481 | picomatch: 2.3.1 2482 | 2483 | minimatch@9.0.5: 2484 | dependencies: 2485 | brace-expansion: 2.0.1 2486 | 2487 | minipass@3.3.6: 2488 | dependencies: 2489 | yallist: 4.0.0 2490 | 2491 | minipass@5.0.0: {} 2492 | 2493 | minipass@7.1.2: {} 2494 | 2495 | minizlib@2.1.2: 2496 | dependencies: 2497 | minipass: 3.3.6 2498 | yallist: 4.0.0 2499 | 2500 | mkdirp@1.0.4: {} 2501 | 2502 | mlly@1.7.4: 2503 | dependencies: 2504 | acorn: 8.14.0 2505 | pathe: 2.0.3 2506 | pkg-types: 1.3.1 2507 | ufo: 1.5.4 2508 | 2509 | mz@2.7.0: 2510 | dependencies: 2511 | any-promise: 1.3.0 2512 | object-assign: 4.1.1 2513 | thenify-all: 1.6.0 2514 | 2515 | nano-staged@0.8.0: 2516 | dependencies: 2517 | picocolors: 1.1.1 2518 | 2519 | nanoid@3.3.8: {} 2520 | 2521 | node-fetch-native@1.6.6: {} 2522 | 2523 | node-releases@2.0.19: {} 2524 | 2525 | normalize-path@3.0.0: {} 2526 | 2527 | normalize-range@0.1.2: {} 2528 | 2529 | nth-check@2.1.1: 2530 | dependencies: 2531 | boolbase: 1.0.0 2532 | 2533 | nypm@0.5.4: 2534 | dependencies: 2535 | citty: 0.1.6 2536 | consola: 3.4.0 2537 | pathe: 2.0.3 2538 | pkg-types: 1.3.1 2539 | tinyexec: 0.3.2 2540 | ufo: 1.5.4 2541 | 2542 | object-assign@4.1.1: {} 2543 | 2544 | object-hash@3.0.0: {} 2545 | 2546 | ohash@2.0.6: {} 2547 | 2548 | package-json-from-dist@1.0.1: {} 2549 | 2550 | package-manager-detector@0.2.10: 2551 | dependencies: 2552 | quansync: 0.2.6 2553 | 2554 | parchment@3.0.0: {} 2555 | 2556 | parse-entities@1.2.2: 2557 | dependencies: 2558 | character-entities: 1.2.4 2559 | character-entities-legacy: 1.1.4 2560 | character-reference-invalid: 1.1.4 2561 | is-alphanumerical: 1.0.4 2562 | is-decimal: 1.0.4 2563 | is-hexadecimal: 1.0.4 2564 | 2565 | path-key@3.1.1: {} 2566 | 2567 | path-parse@1.0.7: {} 2568 | 2569 | path-scurry@1.11.1: 2570 | dependencies: 2571 | lru-cache: 10.4.3 2572 | minipass: 7.1.2 2573 | 2574 | pathe@2.0.3: {} 2575 | 2576 | perfect-debounce@1.0.0: {} 2577 | 2578 | performance-now@2.1.0: 2579 | optional: true 2580 | 2581 | picocolors@1.1.1: {} 2582 | 2583 | picomatch@2.3.1: {} 2584 | 2585 | picomatch@4.0.2: {} 2586 | 2587 | pify@2.3.0: {} 2588 | 2589 | pirates@4.0.6: {} 2590 | 2591 | pkg-types@1.3.1: 2592 | dependencies: 2593 | confbox: 0.1.8 2594 | mlly: 1.7.4 2595 | pathe: 2.0.3 2596 | 2597 | postcss-calc@10.1.1(postcss@8.5.3): 2598 | dependencies: 2599 | postcss: 8.5.3 2600 | postcss-selector-parser: 7.1.0 2601 | postcss-value-parser: 4.2.0 2602 | 2603 | postcss-colormin@7.0.2(postcss@8.5.3): 2604 | dependencies: 2605 | browserslist: 4.24.4 2606 | caniuse-api: 3.0.0 2607 | colord: 2.9.3 2608 | postcss: 8.5.3 2609 | postcss-value-parser: 4.2.0 2610 | 2611 | postcss-convert-values@7.0.4(postcss@8.5.3): 2612 | dependencies: 2613 | browserslist: 4.24.4 2614 | postcss: 8.5.3 2615 | postcss-value-parser: 4.2.0 2616 | 2617 | postcss-discard-comments@7.0.3(postcss@8.5.3): 2618 | dependencies: 2619 | postcss: 8.5.3 2620 | postcss-selector-parser: 6.1.2 2621 | 2622 | postcss-discard-duplicates@7.0.1(postcss@8.5.3): 2623 | dependencies: 2624 | postcss: 8.5.3 2625 | 2626 | postcss-discard-empty@7.0.0(postcss@8.5.3): 2627 | dependencies: 2628 | postcss: 8.5.3 2629 | 2630 | postcss-discard-overridden@7.0.0(postcss@8.5.3): 2631 | dependencies: 2632 | postcss: 8.5.3 2633 | 2634 | postcss-import@15.1.0(postcss@8.5.3): 2635 | dependencies: 2636 | postcss: 8.5.3 2637 | postcss-value-parser: 4.2.0 2638 | read-cache: 1.0.0 2639 | resolve: 1.22.10 2640 | 2641 | postcss-js@4.0.1(postcss@8.5.3): 2642 | dependencies: 2643 | camelcase-css: 2.0.1 2644 | postcss: 8.5.3 2645 | 2646 | postcss-load-config@4.0.2(postcss@8.5.3): 2647 | dependencies: 2648 | lilconfig: 3.1.3 2649 | yaml: 2.7.0 2650 | optionalDependencies: 2651 | postcss: 8.5.3 2652 | 2653 | postcss-merge-longhand@7.0.4(postcss@8.5.3): 2654 | dependencies: 2655 | postcss: 8.5.3 2656 | postcss-value-parser: 4.2.0 2657 | stylehacks: 7.0.4(postcss@8.5.3) 2658 | 2659 | postcss-merge-rules@7.0.4(postcss@8.5.3): 2660 | dependencies: 2661 | browserslist: 4.24.4 2662 | caniuse-api: 3.0.0 2663 | cssnano-utils: 5.0.0(postcss@8.5.3) 2664 | postcss: 8.5.3 2665 | postcss-selector-parser: 6.1.2 2666 | 2667 | postcss-minify-font-values@7.0.0(postcss@8.5.3): 2668 | dependencies: 2669 | postcss: 8.5.3 2670 | postcss-value-parser: 4.2.0 2671 | 2672 | postcss-minify-gradients@7.0.0(postcss@8.5.3): 2673 | dependencies: 2674 | colord: 2.9.3 2675 | cssnano-utils: 5.0.0(postcss@8.5.3) 2676 | postcss: 8.5.3 2677 | postcss-value-parser: 4.2.0 2678 | 2679 | postcss-minify-params@7.0.2(postcss@8.5.3): 2680 | dependencies: 2681 | browserslist: 4.24.4 2682 | cssnano-utils: 5.0.0(postcss@8.5.3) 2683 | postcss: 8.5.3 2684 | postcss-value-parser: 4.2.0 2685 | 2686 | postcss-minify-selectors@7.0.4(postcss@8.5.3): 2687 | dependencies: 2688 | cssesc: 3.0.0 2689 | postcss: 8.5.3 2690 | postcss-selector-parser: 6.1.2 2691 | 2692 | postcss-nested@6.2.0(postcss@8.5.3): 2693 | dependencies: 2694 | postcss: 8.5.3 2695 | postcss-selector-parser: 6.1.2 2696 | 2697 | postcss-normalize-charset@7.0.0(postcss@8.5.3): 2698 | dependencies: 2699 | postcss: 8.5.3 2700 | 2701 | postcss-normalize-display-values@7.0.0(postcss@8.5.3): 2702 | dependencies: 2703 | postcss: 8.5.3 2704 | postcss-value-parser: 4.2.0 2705 | 2706 | postcss-normalize-positions@7.0.0(postcss@8.5.3): 2707 | dependencies: 2708 | postcss: 8.5.3 2709 | postcss-value-parser: 4.2.0 2710 | 2711 | postcss-normalize-repeat-style@7.0.0(postcss@8.5.3): 2712 | dependencies: 2713 | postcss: 8.5.3 2714 | postcss-value-parser: 4.2.0 2715 | 2716 | postcss-normalize-string@7.0.0(postcss@8.5.3): 2717 | dependencies: 2718 | postcss: 8.5.3 2719 | postcss-value-parser: 4.2.0 2720 | 2721 | postcss-normalize-timing-functions@7.0.0(postcss@8.5.3): 2722 | dependencies: 2723 | postcss: 8.5.3 2724 | postcss-value-parser: 4.2.0 2725 | 2726 | postcss-normalize-unicode@7.0.2(postcss@8.5.3): 2727 | dependencies: 2728 | browserslist: 4.24.4 2729 | postcss: 8.5.3 2730 | postcss-value-parser: 4.2.0 2731 | 2732 | postcss-normalize-url@7.0.0(postcss@8.5.3): 2733 | dependencies: 2734 | postcss: 8.5.3 2735 | postcss-value-parser: 4.2.0 2736 | 2737 | postcss-normalize-whitespace@7.0.0(postcss@8.5.3): 2738 | dependencies: 2739 | postcss: 8.5.3 2740 | postcss-value-parser: 4.2.0 2741 | 2742 | postcss-ordered-values@7.0.1(postcss@8.5.3): 2743 | dependencies: 2744 | cssnano-utils: 5.0.0(postcss@8.5.3) 2745 | postcss: 8.5.3 2746 | postcss-value-parser: 4.2.0 2747 | 2748 | postcss-reduce-initial@7.0.2(postcss@8.5.3): 2749 | dependencies: 2750 | browserslist: 4.24.4 2751 | caniuse-api: 3.0.0 2752 | postcss: 8.5.3 2753 | 2754 | postcss-reduce-transforms@7.0.0(postcss@8.5.3): 2755 | dependencies: 2756 | postcss: 8.5.3 2757 | postcss-value-parser: 4.2.0 2758 | 2759 | postcss-selector-parser@6.1.2: 2760 | dependencies: 2761 | cssesc: 3.0.0 2762 | util-deprecate: 1.0.2 2763 | 2764 | postcss-selector-parser@7.1.0: 2765 | dependencies: 2766 | cssesc: 3.0.0 2767 | util-deprecate: 1.0.2 2768 | 2769 | postcss-svgo@7.0.1(postcss@8.5.3): 2770 | dependencies: 2771 | postcss: 8.5.3 2772 | postcss-value-parser: 4.2.0 2773 | svgo: 3.3.2 2774 | 2775 | postcss-unique-selectors@7.0.3(postcss@8.5.3): 2776 | dependencies: 2777 | postcss: 8.5.3 2778 | postcss-selector-parser: 6.1.2 2779 | 2780 | postcss-value-parser@4.2.0: {} 2781 | 2782 | postcss@8.5.3: 2783 | dependencies: 2784 | nanoid: 3.3.8 2785 | picocolors: 1.1.1 2786 | source-map-js: 1.2.1 2787 | 2788 | prettier@3.5.2: {} 2789 | 2790 | prompts@2.4.2: 2791 | dependencies: 2792 | kleur: 3.0.3 2793 | sisteransi: 1.0.5 2794 | 2795 | quansync@0.2.6: {} 2796 | 2797 | queue-microtask@1.2.3: {} 2798 | 2799 | quill-delta-to-html@0.12.1: 2800 | dependencies: 2801 | lodash.isequal: 4.5.0 2802 | 2803 | quill-delta@4.2.2: 2804 | dependencies: 2805 | fast-diff: 1.2.0 2806 | lodash.clonedeep: 4.5.0 2807 | lodash.isequal: 4.5.0 2808 | 2809 | quill-delta@5.1.0: 2810 | dependencies: 2811 | fast-diff: 1.3.0 2812 | lodash.clonedeep: 4.5.0 2813 | lodash.isequal: 4.5.0 2814 | 2815 | quill@2.0.3: 2816 | dependencies: 2817 | eventemitter3: 5.0.1 2818 | lodash-es: 4.17.21 2819 | parchment: 3.0.0 2820 | quill-delta: 5.1.0 2821 | 2822 | quilljs-markdown@1.2.0: 2823 | dependencies: 2824 | core-js: 3.40.0 2825 | regenerator-runtime: 0.13.11 2826 | 2827 | raf@3.4.1: 2828 | dependencies: 2829 | performance-now: 2.1.0 2830 | optional: true 2831 | 2832 | rc9@2.1.2: 2833 | dependencies: 2834 | defu: 6.1.4 2835 | destr: 2.0.3 2836 | 2837 | read-cache@1.0.0: 2838 | dependencies: 2839 | pify: 2.3.0 2840 | 2841 | readdirp@3.6.0: 2842 | dependencies: 2843 | picomatch: 2.3.1 2844 | 2845 | readdirp@4.1.2: {} 2846 | 2847 | regenerator-runtime@0.13.11: {} 2848 | 2849 | regenerator-runtime@0.14.1: {} 2850 | 2851 | remark-parse@7.0.2: 2852 | dependencies: 2853 | collapse-white-space: 1.0.6 2854 | is-alphabetical: 1.0.4 2855 | is-decimal: 1.0.4 2856 | is-whitespace-character: 1.0.4 2857 | is-word-character: 1.0.4 2858 | markdown-escapes: 1.0.4 2859 | parse-entities: 1.2.2 2860 | repeat-string: 1.6.1 2861 | state-toggle: 1.0.3 2862 | trim: 1.0.1 2863 | trim-trailing-lines: 1.1.4 2864 | unherit: 1.1.3 2865 | unist-util-remove-position: 1.1.4 2866 | vfile-location: 2.0.6 2867 | xtend: 4.0.2 2868 | 2869 | repeat-string@1.6.1: {} 2870 | 2871 | resolve@1.22.10: 2872 | dependencies: 2873 | is-core-module: 2.16.1 2874 | path-parse: 1.0.7 2875 | supports-preserve-symlinks-flag: 1.0.0 2876 | 2877 | reusify@1.1.0: {} 2878 | 2879 | rgbcolor@1.0.1: 2880 | optional: true 2881 | 2882 | rollup@4.34.8: 2883 | dependencies: 2884 | '@types/estree': 1.0.6 2885 | optionalDependencies: 2886 | '@rollup/rollup-android-arm-eabi': 4.34.8 2887 | '@rollup/rollup-android-arm64': 4.34.8 2888 | '@rollup/rollup-darwin-arm64': 4.34.8 2889 | '@rollup/rollup-darwin-x64': 4.34.8 2890 | '@rollup/rollup-freebsd-arm64': 4.34.8 2891 | '@rollup/rollup-freebsd-x64': 4.34.8 2892 | '@rollup/rollup-linux-arm-gnueabihf': 4.34.8 2893 | '@rollup/rollup-linux-arm-musleabihf': 4.34.8 2894 | '@rollup/rollup-linux-arm64-gnu': 4.34.8 2895 | '@rollup/rollup-linux-arm64-musl': 4.34.8 2896 | '@rollup/rollup-linux-loongarch64-gnu': 4.34.8 2897 | '@rollup/rollup-linux-powerpc64le-gnu': 4.34.8 2898 | '@rollup/rollup-linux-riscv64-gnu': 4.34.8 2899 | '@rollup/rollup-linux-s390x-gnu': 4.34.8 2900 | '@rollup/rollup-linux-x64-gnu': 4.34.8 2901 | '@rollup/rollup-linux-x64-musl': 4.34.8 2902 | '@rollup/rollup-win32-arm64-msvc': 4.34.8 2903 | '@rollup/rollup-win32-ia32-msvc': 4.34.8 2904 | '@rollup/rollup-win32-x64-msvc': 4.34.8 2905 | fsevents: 2.3.3 2906 | 2907 | run-parallel@1.2.0: 2908 | dependencies: 2909 | queue-microtask: 1.2.3 2910 | 2911 | semver@7.7.1: {} 2912 | 2913 | shebang-command@2.0.0: 2914 | dependencies: 2915 | shebang-regex: 3.0.0 2916 | 2917 | shebang-regex@3.0.0: {} 2918 | 2919 | signal-exit@4.1.0: {} 2920 | 2921 | sisteransi@1.0.5: {} 2922 | 2923 | source-map-js@1.2.1: {} 2924 | 2925 | source-map-support@0.5.21: 2926 | dependencies: 2927 | buffer-from: 1.1.2 2928 | source-map: 0.6.1 2929 | 2930 | source-map@0.6.1: {} 2931 | 2932 | stackblur-canvas@2.7.0: 2933 | optional: true 2934 | 2935 | state-toggle@1.0.3: {} 2936 | 2937 | string-width@4.2.3: 2938 | dependencies: 2939 | emoji-regex: 8.0.0 2940 | is-fullwidth-code-point: 3.0.0 2941 | strip-ansi: 6.0.1 2942 | 2943 | string-width@5.1.2: 2944 | dependencies: 2945 | eastasianwidth: 0.2.0 2946 | emoji-regex: 9.2.2 2947 | strip-ansi: 7.1.0 2948 | 2949 | strip-ansi@6.0.1: 2950 | dependencies: 2951 | ansi-regex: 5.0.1 2952 | 2953 | strip-ansi@7.1.0: 2954 | dependencies: 2955 | ansi-regex: 6.1.0 2956 | 2957 | stylehacks@7.0.4(postcss@8.5.3): 2958 | dependencies: 2959 | browserslist: 4.24.4 2960 | postcss: 8.5.3 2961 | postcss-selector-parser: 6.1.2 2962 | 2963 | sucrase@3.35.0: 2964 | dependencies: 2965 | '@jridgewell/gen-mapping': 0.3.8 2966 | commander: 4.1.1 2967 | glob: 10.4.5 2968 | lines-and-columns: 1.2.4 2969 | mz: 2.7.0 2970 | pirates: 4.0.6 2971 | ts-interface-checker: 0.1.13 2972 | 2973 | supports-preserve-symlinks-flag@1.0.0: {} 2974 | 2975 | svg-pathdata@6.0.3: 2976 | optional: true 2977 | 2978 | svgo@3.3.2: 2979 | dependencies: 2980 | '@trysound/sax': 0.2.0 2981 | commander: 7.2.0 2982 | css-select: 5.1.0 2983 | css-tree: 2.3.1 2984 | css-what: 6.1.0 2985 | csso: 5.0.5 2986 | picocolors: 1.1.1 2987 | 2988 | tailwindcss@3.4.17: 2989 | dependencies: 2990 | '@alloc/quick-lru': 5.2.0 2991 | arg: 5.0.2 2992 | chokidar: 3.6.0 2993 | didyoumean: 1.2.2 2994 | dlv: 1.1.3 2995 | fast-glob: 3.3.3 2996 | glob-parent: 6.0.2 2997 | is-glob: 4.0.3 2998 | jiti: 1.21.7 2999 | lilconfig: 3.1.3 3000 | micromatch: 4.0.8 3001 | normalize-path: 3.0.0 3002 | object-hash: 3.0.0 3003 | picocolors: 1.1.1 3004 | postcss: 8.5.3 3005 | postcss-import: 15.1.0(postcss@8.5.3) 3006 | postcss-js: 4.0.1(postcss@8.5.3) 3007 | postcss-load-config: 4.0.2(postcss@8.5.3) 3008 | postcss-nested: 6.2.0(postcss@8.5.3) 3009 | postcss-selector-parser: 6.1.2 3010 | resolve: 1.22.10 3011 | sucrase: 3.35.0 3012 | transitivePeerDependencies: 3013 | - ts-node 3014 | 3015 | tar@6.2.1: 3016 | dependencies: 3017 | chownr: 2.0.0 3018 | fs-minipass: 2.1.0 3019 | minipass: 5.0.0 3020 | minizlib: 2.1.2 3021 | mkdirp: 1.0.4 3022 | yallist: 4.0.0 3023 | 3024 | terser@5.39.0: 3025 | dependencies: 3026 | '@jridgewell/source-map': 0.3.6 3027 | acorn: 8.14.0 3028 | commander: 2.20.3 3029 | source-map-support: 0.5.21 3030 | 3031 | text-segmentation@1.0.3: 3032 | dependencies: 3033 | utrie: 1.0.2 3034 | 3035 | thenify-all@1.6.0: 3036 | dependencies: 3037 | thenify: 3.3.1 3038 | 3039 | thenify@3.3.1: 3040 | dependencies: 3041 | any-promise: 1.3.0 3042 | 3043 | tiny-conventional-commits-parser@0.0.1: {} 3044 | 3045 | tinyexec@0.3.2: {} 3046 | 3047 | tinyglobby@0.2.12: 3048 | dependencies: 3049 | fdir: 6.4.3(picomatch@4.0.2) 3050 | picomatch: 4.0.2 3051 | 3052 | to-regex-range@5.0.1: 3053 | dependencies: 3054 | is-number: 7.0.0 3055 | 3056 | trim-trailing-lines@1.1.4: {} 3057 | 3058 | trim@1.0.1: {} 3059 | 3060 | trough@1.0.5: {} 3061 | 3062 | ts-interface-checker@0.1.13: {} 3063 | 3064 | turndown@7.2.0: 3065 | dependencies: 3066 | '@mixmark-io/domino': 2.2.0 3067 | 3068 | ufo@1.5.4: {} 3069 | 3070 | unherit@1.1.3: 3071 | dependencies: 3072 | inherits: 2.0.4 3073 | xtend: 4.0.2 3074 | 3075 | unified@8.4.2: 3076 | dependencies: 3077 | '@types/unist': 2.0.11 3078 | bail: 1.0.5 3079 | extend: 3.0.2 3080 | is-plain-obj: 2.1.0 3081 | trough: 1.0.5 3082 | vfile: 4.2.1 3083 | 3084 | unist-util-is@3.0.0: {} 3085 | 3086 | unist-util-remove-position@1.1.4: 3087 | dependencies: 3088 | unist-util-visit: 1.4.1 3089 | 3090 | unist-util-stringify-position@2.0.3: 3091 | dependencies: 3092 | '@types/unist': 2.0.11 3093 | 3094 | unist-util-visit-parents@2.1.2: 3095 | dependencies: 3096 | unist-util-is: 3.0.0 3097 | 3098 | unist-util-visit@1.4.1: 3099 | dependencies: 3100 | unist-util-visit-parents: 2.1.2 3101 | 3102 | update-browserslist-db@1.1.3(browserslist@4.24.4): 3103 | dependencies: 3104 | browserslist: 4.24.4 3105 | escalade: 3.2.0 3106 | picocolors: 1.1.1 3107 | 3108 | util-deprecate@1.0.2: {} 3109 | 3110 | utrie@1.0.2: 3111 | dependencies: 3112 | base64-arraybuffer: 1.0.2 3113 | 3114 | vfile-location@2.0.6: {} 3115 | 3116 | vfile-message@2.0.4: 3117 | dependencies: 3118 | '@types/unist': 2.0.11 3119 | unist-util-stringify-position: 2.0.3 3120 | 3121 | vfile@4.2.1: 3122 | dependencies: 3123 | '@types/unist': 2.0.11 3124 | is-buffer: 2.0.5 3125 | unist-util-stringify-position: 2.0.3 3126 | vfile-message: 2.0.4 3127 | 3128 | vite@6.2.0(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0): 3129 | dependencies: 3130 | esbuild: 0.25.0 3131 | postcss: 8.5.3 3132 | rollup: 4.34.8 3133 | optionalDependencies: 3134 | fsevents: 2.3.3 3135 | jiti: 2.4.2 3136 | terser: 5.39.0 3137 | yaml: 2.7.0 3138 | 3139 | vue@3.5.13: 3140 | dependencies: 3141 | '@vue/compiler-dom': 3.5.13 3142 | '@vue/compiler-sfc': 3.5.13 3143 | '@vue/runtime-dom': 3.5.13 3144 | '@vue/server-renderer': 3.5.13(vue@3.5.13) 3145 | '@vue/shared': 3.5.13 3146 | 3147 | which@2.0.2: 3148 | dependencies: 3149 | isexe: 2.0.0 3150 | 3151 | wrap-ansi@7.0.0: 3152 | dependencies: 3153 | ansi-styles: 4.3.0 3154 | string-width: 4.2.3 3155 | strip-ansi: 6.0.1 3156 | 3157 | wrap-ansi@8.1.0: 3158 | dependencies: 3159 | ansi-styles: 6.2.1 3160 | string-width: 5.1.2 3161 | strip-ansi: 7.1.0 3162 | 3163 | xtend@4.0.2: {} 3164 | 3165 | yallist@4.0.0: {} 3166 | 3167 | yaml@2.7.0: {} 3168 | -------------------------------------------------------------------------------- /postcss.config.cjs: -------------------------------------------------------------------------------- 1 | const cssnano = require("cssnano"); 2 | 3 | module.exports = { 4 | plugins: [ 5 | cssnano({ 6 | preset: "default", 7 | }), 8 | require("tailwindcss"), 9 | require("autoprefixer"), 10 | ], 11 | safelist: { 12 | deep: [/hljs-/], 13 | }, 14 | }; 15 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: -------------------------------------------------------------------------------- /src/components/base-layout.vue: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /src/components/button.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 12 | 13 | 39 | -------------------------------------------------------------------------------- /src/components/editor-rich.vue: -------------------------------------------------------------------------------- 1 | 10 | 93 | -------------------------------------------------------------------------------- /src/components/editor.vue: -------------------------------------------------------------------------------- 1 | 11 | 56 | -------------------------------------------------------------------------------- /src/components/menu-item.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 17 | 18 | 47 | -------------------------------------------------------------------------------- /src/components/menu.vue: -------------------------------------------------------------------------------- 1 | 22 | 23 | 52 | 53 | 84 | -------------------------------------------------------------------------------- /src/components/preview.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 10 | 11 | 63 | -------------------------------------------------------------------------------- /src/components/settings-modal.vue: -------------------------------------------------------------------------------- 1 | 43 | 44 | 50 | 51 | 172 | -------------------------------------------------------------------------------- /src/components/toast.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 51 | 52 | 81 | -------------------------------------------------------------------------------- /src/components/toolbar.vue: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /src/lib/copy.js: -------------------------------------------------------------------------------- 1 | export async function copy(text) { 2 | if (!navigator.clipboard) { 3 | return _copyDeprecated(text); 4 | } 5 | await navigator.clipboard.writeText(text); 6 | } 7 | 8 | function _copyDeprecated(text) { 9 | const copyTextarea = document.createElement("textarea"); 10 | copyTextarea.style.position = "fixed"; 11 | copyTextarea.style.opacity = "0"; 12 | copyTextarea.textContent = text; 13 | 14 | document.body.appendChild(copyTextarea); 15 | copyTextarea.select(); 16 | document.execCommand("copy"); 17 | document.body.removeChild(copyTextarea); 18 | } 19 | -------------------------------------------------------------------------------- /src/lib/get-md-styles.js: -------------------------------------------------------------------------------- 1 | export default function getMDStyles() { 2 | return ` 3 | @import url('https://fonts.googleapis.com/css2?family=Ubuntu+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap'); 4 | @import url('https://fonts.googleapis.com/css2?family=Inter&display=swap'); 5 | 6 | 7 | body { 8 | font-family: "IBM Plex Sans", sans-serif; 9 | background: white; 10 | color: black; 11 | } 12 | 13 | h1 { 14 | font-size: 24px !important; 15 | font-weight: 600; 16 | margin: 0.67em 0; 17 | } 18 | 19 | h2 { 20 | font-size: 18px; 21 | font-weight: 600; 22 | } 23 | 24 | h3 { 25 | font-size: 16px; 26 | font-weight: 600; 27 | } 28 | 29 | h4, 30 | h5, 31 | h6 { 32 | font-size: 14px; 33 | font-weight: 600; 34 | } 35 | 36 | hr { 37 | padding: 10px; 38 | border: 0; 39 | border-top: 1px solid #ced4da; 40 | } 41 | 42 | .tag::before { 43 | content: "#"; 44 | color: #dee2e6; 45 | } 46 | 47 | .tag { 48 | background-color: #868e96; 49 | color: #fbfbfb; 50 | border-radius: 50px; 51 | padding: 5px 9px; 52 | display: inline; 53 | font-size: 12px; 54 | } 55 | 56 | p { 57 | line-height: 1.8em; 58 | } 59 | 60 | code::before, 61 | code::after { 62 | content: "\`"; 63 | color: #ced4da; 64 | padding: 1px; 65 | } 66 | 67 | code { 68 | background-color: #ffffff; 69 | border: 1px solid #dee2e6; 70 | padding: 3px; 71 | font-family: "Ubuntu Mono","Consolas", monospace; 72 | } 73 | 74 | .codeblock::before, 75 | .codeblock::after { 76 | content: "\`\`\`"; 77 | display: block; 78 | color: #ced4da; 79 | padding-bottom: 5px; 80 | } 81 | 82 | .codeblock { 83 | color: #495057; 84 | background-color: #ffffff; 85 | border: 1px solid #dee2e6; 86 | padding: 5px 10px; 87 | font-family: "Consolas", monospace; 88 | line-height: 1.5em; 89 | } 90 | 91 | .blockquote { 92 | border-left: 2px solid #495057; 93 | padding-left: 10px; 94 | } 95 | 96 | u::before, 97 | u::after { 98 | content: "\u00a0\u00a0"; 99 | color: #adb5bd; 100 | } 101 | 102 | u { 103 | text-decoration-color: #adb5bd; 104 | } 105 | 106 | b::before, 107 | b::after { 108 | content: "*"; 109 | color: #ced4da; 110 | font-weight: normal; 111 | } 112 | 113 | b { 114 | font-weight: 600; 115 | } 116 | 117 | i::before, 118 | i::after { 119 | content: "/"; 120 | color: #ced4da; 121 | } 122 | 123 | a::before, 124 | a::after { 125 | content: ""; 126 | color: #adb5bd; 127 | } 128 | 129 | a { 130 | color: #495057; 131 | text-decoration: underline; 132 | transition: 0.3s; 133 | } 134 | 135 | a:hover { 136 | color: #adb5bd; 137 | transition: 0.3s; 138 | } 139 | 140 | s { 141 | color: #868e96; 142 | text-decoration-color: #868e96; 143 | }`; 144 | } 145 | -------------------------------------------------------------------------------- /src/lib/marked/helpers.js: -------------------------------------------------------------------------------- 1 | // Copied from https://github.com/markedjs/marked/blob/v3.0.2/src/helpers.js 2 | 3 | const escapeTest = /[&<>"']/; 4 | const escapeReplace = /[&<>"']/g; 5 | const escapeTestNoEncode = /[<>"']|&(?!#?\w+;)/; 6 | const escapeReplaceNoEncode = /[<>"']|&(?!#?\w+;)/g; 7 | const escapeReplacements = { 8 | "&": "&", 9 | "<": "<", 10 | ">": ">", 11 | '"': """, 12 | "'": "'", 13 | }; 14 | const getEscapeReplacement = (ch) => escapeReplacements[ch]; 15 | 16 | function escape(html, encode) { 17 | if (encode) { 18 | if (escapeTest.test(html)) { 19 | return html.replace(escapeReplace, getEscapeReplacement); 20 | } 21 | } else { 22 | if (escapeTestNoEncode.test(html)) { 23 | return html.replace(escapeReplaceNoEncode, getEscapeReplacement); 24 | } 25 | } 26 | 27 | return html; 28 | } 29 | 30 | export { escape }; 31 | -------------------------------------------------------------------------------- /src/lib/marked/index.js: -------------------------------------------------------------------------------- 1 | import { marked } from "marked"; 2 | import { escape } from "./helpers"; 3 | import hljs from "highlight.js"; 4 | 5 | marked.setOptions({ 6 | highlight: function (code, lang, callback) { 7 | const highlightedCode = hljs.highlight(code, { 8 | language: lang || "plaintext", 9 | }).value; 10 | return highlightedCode; 11 | }, 12 | }); 13 | 14 | const renderer = { 15 | code(code, infostring, escaped) { 16 | const lang = (infostring || "").match(/\S*/)[0]; 17 | if (this.options.highlight) { 18 | const out = this.options.highlight(code, lang); 19 | if (out != null && out !== code) { 20 | escaped = true; 21 | code = out; 22 | } 23 | } 24 | 25 | code = code.replace(/\n$/, "") + "\n"; 26 | 27 | if (!lang) { 28 | return ( 29 | "
\n"
32 |       );
33 |     }
34 | 
35 |     const langPrefix = this.options.langPrefix || "";
36 |     return (
37 |       '
' +
41 |       (escaped ? code : escape(code, true)) +
42 |       "
\n" 43 | ); 44 | }, 45 | }; 46 | 47 | marked.use({ renderer }); 48 | 49 | export default marked; 50 | -------------------------------------------------------------------------------- /src/lib/quill/delta-md.js: -------------------------------------------------------------------------------- 1 | import { marked } from "marked"; 2 | import { QuillDeltaToHtmlConverter } from "quill-delta-to-html"; 3 | import Quill from "quill"; 4 | import TurndownService from "turndown"; 5 | const turndownService = new TurndownService({ 6 | codeBlockStyle: "fenced", 7 | headingStyle: "atx", 8 | }); 9 | 10 | turndownService.addRule("code-fence-language", { 11 | filter: ["pre"], 12 | replacement(content, node) { 13 | const lang = node.dataset.language || ""; 14 | return "```" + lang + "\n" + content + "\n```"; 15 | }, 16 | }); 17 | 18 | export const htmlToMarkdown = (html) => turndownService.turndown(html); 19 | 20 | export const deltaToMarkdown = (delta) => { 21 | const html = new QuillDeltaToHtmlConverter(delta, {}); 22 | html.beforeRender((groupType, data) => { 23 | if (groupType !== "block") return; 24 | if (!(data.op && data.op.attributes && data.op.attributes["code-block"])) 25 | return; 26 | const codeContent = data.ops 27 | .map((d) => 28 | typeof d.insert === "string" 29 | ? d.insert 30 | : d.insert && d.insert.value 31 | ? d.insert.value 32 | : "", 33 | ) 34 | .join(""); 35 | return `
${codeContent}
`; 36 | }); 37 | return htmlToMarkdown(html.convert()); 38 | }; 39 | 40 | export const markdownToDelta = (markdown) => { 41 | const html = marked(markdown); 42 | const container = document.createElement("div"); 43 | container.innerHTML = html; 44 | const quillInstance = new Quill(container); 45 | return quillInstance.getContents().ops; 46 | }; 47 | -------------------------------------------------------------------------------- /src/lib/settings.js: -------------------------------------------------------------------------------- 1 | const KEY = "mark:settings"; 2 | 3 | const settings = {}; 4 | 5 | export const loadSettings = () => { 6 | const _settings = localStorage.getItem(KEY) || "{}"; 7 | try { 8 | Object.assign(settings, JSON.parse(_settings)); 9 | } catch (err) { 10 | Object.assign(settings, {}); 11 | } 12 | return settings; 13 | }; 14 | 15 | export const saveSettings = () => { 16 | localStorage.setItem(KEY, JSON.stringify(settings)); 17 | }; 18 | 19 | export const updateSettings = (patch) => { 20 | Object.assign(settings, patch); 21 | saveSettings(); 22 | }; 23 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import { createApp, h } from "vue"; 2 | import Home from "./pages/Home.vue"; 3 | import "./styles/index.css"; 4 | 5 | const routes = { 6 | "/": Home, 7 | // TODO: add a settings page 8 | // "/settings": Home, 9 | }; 10 | 11 | const SimpleRouter = { 12 | data: () => ({ 13 | currentRoute: window.location.pathname, 14 | }), 15 | 16 | computed: { 17 | CurrentComponent() { 18 | return routes[this.currentRoute]; 19 | }, 20 | }, 21 | 22 | render() { 23 | return h(this.CurrentComponent); 24 | }, 25 | }; 26 | 27 | createApp(SimpleRouter).mount("#app"); 28 | -------------------------------------------------------------------------------- /src/pages/Home.vue: -------------------------------------------------------------------------------- 1 | 84 | 85 | 287 | 288 | 289 | -------------------------------------------------------------------------------- /src/resources/default-md.js: -------------------------------------------------------------------------------- 1 | export const defaultMarkdownText = `# sample markdown text 2 | 3 | ## Mark Features 4 | - Minimal and Quick 5 | - Supports commonmark standards 6 | - built to be to the point and add no overhead for people who simple enjoy writing in markdown 7 | 8 | ## Motivation 9 | I write a lot, which you can read on [reaper.is](https://reaper.is) and this tool was primary 10 | built to act as a quick markdown app that I could access from anywhere. 11 | 12 | `; 13 | -------------------------------------------------------------------------------- /src/stores/settings.js: -------------------------------------------------------------------------------- 1 | import { effect, reactive } from "vue"; 2 | import { loadSettings, updateSettings } from "../lib/settings"; 3 | 4 | export const settings = reactive({ 5 | value: loadSettings(), 6 | }); 7 | 8 | effect(() => { 9 | const currentState = {}; 10 | Object.keys(settings.value).forEach((k) => { 11 | currentState[k] = settings.value[k]; 12 | }); 13 | updateSettings(currentState); 14 | }); 15 | -------------------------------------------------------------------------------- /src/styles/index.css: -------------------------------------------------------------------------------- 1 | @import url("https://fonts.googleapis.com/css?family=IBM+Plex+Mono:400"); 2 | @import url("https://fonts.googleapis.com/css?family=IBM+Plex+Sans:400"); 3 | 4 | :root { 5 | --base-spacing: 4px; 6 | --base: #fff; 7 | --overlay: #f8f9fa; 8 | --surface: #f1f3f5; 9 | --text: #030405; 10 | --subtle: #07090a; 11 | --warn: #e5c07b; 12 | --success: #98c379; 13 | --toolbar-height: 42px; 14 | } 15 | 16 | @media (prefers-color-scheme: dark) { 17 | :root { 18 | --base: #232b32; 19 | --overlay: #20272d; 20 | --surface: #1c2228; 21 | --text: white; 22 | --subtle: #e9eaeb; 23 | } 24 | } 25 | 26 | * { 27 | box-sizing: border-box; 28 | } 29 | 30 | body { 31 | font-family: "IBM Plex Sans", sans-serif; 32 | background: var(--base); 33 | color: var(--text); 34 | } 35 | 36 | a { 37 | color: #1085ff; 38 | } 39 | 40 | .code-editor { 41 | font-family: "IBM Plex Mono", monospace; 42 | line-height: 2; 43 | } 44 | 45 | .preview-dot { 46 | height: 10px; 47 | width: 10px; 48 | border-radius: 25px; 49 | background: var(--warn); 50 | } 51 | 52 | .preview-dot.on { 53 | background: var(--success); 54 | } 55 | 56 | .flex { 57 | display: flex; 58 | } 59 | 60 | .flex-col { 61 | flex-direction: column; 62 | } 63 | 64 | .flex-1 { 65 | flex: 1; 66 | } 67 | 68 | .justify-between { 69 | justify-content: space-between; 70 | } 71 | 72 | .align-center { 73 | align-items: center; 74 | } 75 | 76 | .p-5 { 77 | padding: calc(var(--base-spacing) * 5); 78 | } 79 | 80 | .mt-1 { 81 | margin-top: calc(var(--base-spacing) * 1); 82 | } 83 | 84 | .mb-2 { 85 | margin-bottom: calc(var(--base-spacing) * 2); 86 | } 87 | 88 | .mr-2 { 89 | margin-right: calc(var(--base-spacing) * 2); 90 | } 91 | 92 | .w-full { 93 | width: 100%; 94 | } 95 | 96 | .min-w-screen { 97 | min-width: 100vw; 98 | } 99 | 100 | .min-h-screen { 101 | min-height: 100vh; 102 | } 103 | 104 | .toolbar { 105 | color: var(--subtle); 106 | height: var(--toolbar-height); 107 | align-items: center; 108 | justify-content: space-between; 109 | gap: 4px; 110 | padding-right: 10px; 111 | display: inline-flex; 112 | position: fixed; 113 | bottom: 20px; 114 | left: 50%; 115 | min-width: 350px; 116 | border-radius: 50px; 117 | transform: translateX(-50%); 118 | background: var(--overlay); 119 | box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.12); 120 | } 121 | 122 | .trigger { 123 | min-width: 50px; 124 | max-width: 150px; 125 | border-radius: 0px !important; 126 | height: var(--toolbar-height); 127 | padding-left: 16px !important; 128 | padding-right: 16px !important; 129 | } 130 | 131 | .trigger.active { 132 | color: var(--success); 133 | } 134 | 135 | .relative { 136 | position: relative; 137 | } 138 | 139 | .absolute { 140 | position: absolute; 141 | } 142 | 143 | .ql-container { 144 | font-size: 14px; 145 | background-color: var(--base); 146 | color: var(--text); 147 | } 148 | 149 | .ql-toolbar { 150 | background-color: var(--surface); 151 | border-radius: 10px; 152 | box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.12); 153 | border: 1px solid var(--overlay); 154 | } 155 | 156 | .ql-bubble .ql-editor code { 157 | background: var(--surface); 158 | color: var(--text); 159 | } 160 | 161 | .ql-bubble .ql-editor .ql-code-block-container { 162 | background: var(--overlay); 163 | color: var(--text); 164 | } 165 | 166 | .ql-code-block-container .ql-ui { 167 | background: var(--surface); 168 | padding: 4px 8px; 169 | color: var(--text); 170 | border: 0px; 171 | border-radius: 4px; 172 | } 173 | -------------------------------------------------------------------------------- /tailwind.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | content: ["./src/**/*.{vue,js,html}"], 4 | theme: { 5 | extend: {}, 6 | }, 7 | plugins: [], 8 | }; 9 | -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import vue from "@vitejs/plugin-vue"; 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [vue()], 7 | build: { 8 | minify: "terser", 9 | rollupOptions: { 10 | output: { 11 | manualChunks: { 12 | highlightjs: ["highlight.js"], 13 | quill: ["quill", "quilljs-markdown", "md-to-quill-delta"], 14 | vendor: ["html2pdf.js"], 15 | }, 16 | }, 17 | }, 18 | terserOptions: { 19 | compress: { 20 | passes: 10, 21 | }, 22 | }, 23 | }, 24 | }); 25 | --------------------------------------------------------------------------------