[READ-ONLY] Mirror of https://github.com/flo-bit/jazz-group-chat. jazz-group-chat.vercel.app/
0

Configure Feed

Select the types of activity you want to include in your feed.

first commit

Florian (May 23, 2025, 7:36 PM +0200) 846ee450

+9037
+50
.github/workflows/deploy_gh_pages.yml
··· 1 + name: Deploy to GitHub Pages 2 + 3 + on: 4 + push: 5 + branches: 6 + - main 7 + 8 + jobs: 9 + build_site: 10 + runs-on: ubuntu-latest 11 + steps: 12 + - name: Checkout 13 + uses: actions/checkout@v4 14 + 15 + - name: Install Node.js 16 + uses: actions/setup-node@v4 17 + with: 18 + node-version: 18 19 + cache: npm 20 + 21 + - name: Install dependencies 22 + run: npm ci 23 + 24 + - name: build 25 + env: 26 + BASE_PATH: '/${{ github.event.repository.name }}' 27 + run: | 28 + npm run build 29 + 30 + - name: Upload Artifacts 31 + uses: actions/upload-pages-artifact@v3 32 + with: 33 + path: 'build/' 34 + 35 + deploy: 36 + needs: build_site 37 + runs-on: ubuntu-latest 38 + 39 + permissions: 40 + pages: write 41 + id-token: write 42 + 43 + environment: 44 + name: github-pages 45 + url: ${{ steps.deployment.outputs.page_url }} 46 + 47 + steps: 48 + - name: Deploy 49 + id: deployment 50 + uses: actions/deploy-pages@v4
+23
.gitignore
··· 1 + node_modules 2 + 3 + # Output 4 + .output 5 + .vercel 6 + .netlify 7 + .wrangler 8 + /.svelte-kit 9 + /build 10 + 11 + # OS 12 + .DS_Store 13 + Thumbs.db 14 + 15 + # Env 16 + .env 17 + .env.* 18 + !.env.example 19 + !.env.test 20 + 21 + # Vite 22 + vite.config.js.timestamp-* 23 + vite.config.ts.timestamp-*
+1
.npmrc
··· 1 + engine-strict=true
+6
.prettierignore
··· 1 + # Package Managers 2 + package-lock.json 3 + pnpm-lock.yaml 4 + yarn.lock 5 + bun.lock 6 + bun.lockb
+15
.prettierrc
··· 1 + { 2 + "useTabs": true, 3 + "singleQuote": true, 4 + "trailingComma": "none", 5 + "printWidth": 100, 6 + "plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"], 7 + "overrides": [ 8 + { 9 + "files": "*.svelte", 10 + "options": { 11 + "parser": "svelte" 12 + } 13 + } 14 + ] 15 + }
+21
LICENSE
··· 1 + MIT License Copyright (c) 2025 flo-bit 2 + 3 + Permission is hereby granted, free of 4 + charge, to any person obtaining a copy of this software and associated 5 + documentation files (the "Software"), to deal in the Software without 6 + restriction, including without limitation the rights to use, copy, modify, merge, 7 + publish, distribute, sublicense, and/or sell copies of the Software, and to 8 + permit persons to whom the Software is furnished to do so, subject to the 9 + following conditions: 10 + 11 + The above copyright notice and this permission notice 12 + (including the next paragraph) shall be included in all copies or substantial 13 + portions of the Software. 14 + 15 + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF 16 + ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO 18 + EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 19 + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 + THE SOFTWARE.
+3
README.md
··· 1 + # jazz roomy 2 + 3 + group chat app, exploring jazz and design patterns for group chat, WIP, testing only
+36
eslint.config.js
··· 1 + import prettier from 'eslint-config-prettier'; 2 + import js from '@eslint/js'; 3 + import { includeIgnoreFile } from '@eslint/compat'; 4 + import svelte from 'eslint-plugin-svelte'; 5 + import globals from 'globals'; 6 + import { fileURLToPath } from 'node:url'; 7 + import ts from 'typescript-eslint'; 8 + import svelteConfig from './svelte.config.js'; 9 + 10 + const gitignorePath = fileURLToPath(new URL('./.gitignore', import.meta.url)); 11 + 12 + export default ts.config( 13 + includeIgnoreFile(gitignorePath), 14 + js.configs.recommended, 15 + ...ts.configs.recommended, 16 + ...svelte.configs.recommended, 17 + prettier, 18 + ...svelte.configs.prettier, 19 + { 20 + languageOptions: { 21 + globals: { ...globals.browser, ...globals.node } 22 + }, 23 + rules: { 'no-undef': 'off' } 24 + }, 25 + { 26 + files: ['**/*.svelte', '**/*.svelte.ts', '**/*.svelte.js'], 27 + languageOptions: { 28 + parserOptions: { 29 + projectService: true, 30 + extraFileExtensions: ['.svelte'], 31 + parser: ts.parser, 32 + svelteConfig 33 + } 34 + } 35 + } 36 + );
+6765
package-lock.json
··· 1 + { 2 + "name": "jazz-roomy", 3 + "version": "0.0.1", 4 + "lockfileVersion": 3, 5 + "requires": true, 6 + "packages": { 7 + "": { 8 + "name": "jazz-roomy", 9 + "version": "0.0.1", 10 + "license": "MIT", 11 + "dependencies": { 12 + "@atproto/api": "^0.15.8", 13 + "@fuxui/base": "^0.2.1", 14 + "@fuxui/colors": "^0.2.2", 15 + "@fuxui/social": "^0.2.1", 16 + "@sveltejs/adapter-static": "^3.0.8", 17 + "@sveltejs/adapter-vercel": "^5.7.2", 18 + "@tiptap/core": "^2.12.0", 19 + "@tiptap/extension-image": "^2.12.0", 20 + "@tiptap/extension-link": "^2.12.0", 21 + "@tiptap/extension-placeholder": "^2.12.0", 22 + "@tiptap/extension-typography": "^2.12.0", 23 + "@tiptap/extension-underline": "^2.12.0", 24 + "@tiptap/starter-kit": "^2.12.0", 25 + "@use-gesture/vanilla": "^10.3.1", 26 + "jazz-browser-media-images": "^0.14.8", 27 + "jazz-inspector-element": "^0.14.0", 28 + "jazz-richtext-tiptap": "^0.1.15", 29 + "jazz-svelte": "^0.14.4", 30 + "jazz-tools": "^0.14.4", 31 + "paper": "^0.12.18", 32 + "svelte-relative-time": "^0.0.6", 33 + "svelte-tiptap": "^2.1.0" 34 + }, 35 + "devDependencies": { 36 + "@eslint/compat": "^1.2.5", 37 + "@eslint/js": "^9.18.0", 38 + "@sveltejs/adapter-auto": "^6.0.0", 39 + "@sveltejs/kit": "^2.16.0", 40 + "@sveltejs/vite-plugin-svelte": "^5.0.0", 41 + "@tailwindcss/forms": "^0.5.9", 42 + "@tailwindcss/typography": "^0.5.15", 43 + "@tailwindcss/vite": "^4.0.0", 44 + "eslint": "^9.18.0", 45 + "eslint-config-prettier": "^10.0.1", 46 + "eslint-plugin-svelte": "^3.0.0", 47 + "globals": "^16.0.0", 48 + "prettier": "^3.4.2", 49 + "prettier-plugin-svelte": "^3.3.3", 50 + "prettier-plugin-tailwindcss": "^0.6.11", 51 + "svelte": "^5.0.0", 52 + "svelte-check": "^4.0.0", 53 + "tailwindcss": "^4.0.0", 54 + "typescript": "^5.0.0", 55 + "typescript-eslint": "^8.20.0", 56 + "vite": "^6.2.6" 57 + } 58 + }, 59 + "node_modules/@ampproject/remapping": { 60 + "version": "2.3.0", 61 + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", 62 + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", 63 + "license": "Apache-2.0", 64 + "dependencies": { 65 + "@jridgewell/gen-mapping": "^0.3.5", 66 + "@jridgewell/trace-mapping": "^0.3.24" 67 + }, 68 + "engines": { 69 + "node": ">=6.0.0" 70 + } 71 + }, 72 + "node_modules/@atproto/api": { 73 + "version": "0.15.8", 74 + "resolved": "https://registry.npmjs.org/@atproto/api/-/api-0.15.8.tgz", 75 + "integrity": "sha512-PsCgmV4zPjN8VuJMruxqauhn88PuS0b8t2Xsjl4617+bCPpY513jVlxgNH/XExxO7TSVvJM7EzdLY4o3fqh/xQ==", 76 + "license": "MIT", 77 + "dependencies": { 78 + "@atproto/common-web": "^0.4.2", 79 + "@atproto/lexicon": "^0.4.11", 80 + "@atproto/syntax": "^0.4.0", 81 + "@atproto/xrpc": "^0.7.0", 82 + "await-lock": "^2.2.2", 83 + "multiformats": "^9.9.0", 84 + "tlds": "^1.234.0", 85 + "zod": "^3.23.8" 86 + } 87 + }, 88 + "node_modules/@atproto/api/node_modules/zod": { 89 + "version": "3.25.6", 90 + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.6.tgz", 91 + "integrity": "sha512-kA1wikWvfsP+z3L6mzUJJRQz1Y28BR0Bu/MTWeYbfaFJ8c+OLOt1Bb8d4V3Mk1480H+poPYG6BjS/I4kJ1U8WA==", 92 + "license": "MIT", 93 + "funding": { 94 + "url": "https://github.com/sponsors/colinhacks" 95 + } 96 + }, 97 + "node_modules/@atproto/common-web": { 98 + "version": "0.4.2", 99 + "resolved": "https://registry.npmjs.org/@atproto/common-web/-/common-web-0.4.2.tgz", 100 + "integrity": "sha512-vrXwGNoFGogodjQvJDxAeP3QbGtawgZute2ed1XdRO0wMixLk3qewtikZm06H259QDJVu6voKC5mubml+WgQUw==", 101 + "license": "MIT", 102 + "dependencies": { 103 + "graphemer": "^1.4.0", 104 + "multiformats": "^9.9.0", 105 + "uint8arrays": "3.0.0", 106 + "zod": "^3.23.8" 107 + } 108 + }, 109 + "node_modules/@atproto/common-web/node_modules/zod": { 110 + "version": "3.25.6", 111 + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.6.tgz", 112 + "integrity": "sha512-kA1wikWvfsP+z3L6mzUJJRQz1Y28BR0Bu/MTWeYbfaFJ8c+OLOt1Bb8d4V3Mk1480H+poPYG6BjS/I4kJ1U8WA==", 113 + "license": "MIT", 114 + "funding": { 115 + "url": "https://github.com/sponsors/colinhacks" 116 + } 117 + }, 118 + "node_modules/@atproto/lexicon": { 119 + "version": "0.4.11", 120 + "resolved": "https://registry.npmjs.org/@atproto/lexicon/-/lexicon-0.4.11.tgz", 121 + "integrity": "sha512-btefdnvNz2Ao2I+qbmj0F06HC8IlrM/IBz6qOBS50r0S6uDf5tOO+Mv2tSVdimFkdzyDdLtBI1sV36ONxz2cOw==", 122 + "license": "MIT", 123 + "dependencies": { 124 + "@atproto/common-web": "^0.4.2", 125 + "@atproto/syntax": "^0.4.0", 126 + "iso-datestring-validator": "^2.2.2", 127 + "multiformats": "^9.9.0", 128 + "zod": "^3.23.8" 129 + } 130 + }, 131 + "node_modules/@atproto/lexicon/node_modules/zod": { 132 + "version": "3.25.6", 133 + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.6.tgz", 134 + "integrity": "sha512-kA1wikWvfsP+z3L6mzUJJRQz1Y28BR0Bu/MTWeYbfaFJ8c+OLOt1Bb8d4V3Mk1480H+poPYG6BjS/I4kJ1U8WA==", 135 + "license": "MIT", 136 + "funding": { 137 + "url": "https://github.com/sponsors/colinhacks" 138 + } 139 + }, 140 + "node_modules/@atproto/syntax": { 141 + "version": "0.4.0", 142 + "resolved": "https://registry.npmjs.org/@atproto/syntax/-/syntax-0.4.0.tgz", 143 + "integrity": "sha512-b9y5ceHS8YKOfP3mdKmwAx5yVj9294UN7FG2XzP6V5aKUdFazEYRnR9m5n5ZQFKa3GNvz7de9guZCJ/sUTcOAA==", 144 + "license": "MIT" 145 + }, 146 + "node_modules/@atproto/xrpc": { 147 + "version": "0.7.0", 148 + "resolved": "https://registry.npmjs.org/@atproto/xrpc/-/xrpc-0.7.0.tgz", 149 + "integrity": "sha512-SfhP9dGx2qclaScFDb58Jnrmim5nk4geZXCqg6sB0I/KZhZEkr9iIx1hLCp+sxkIfEsmEJjeWO4B0rjUIJW5cw==", 150 + "license": "MIT", 151 + "dependencies": { 152 + "@atproto/lexicon": "^0.4.11", 153 + "zod": "^3.23.8" 154 + } 155 + }, 156 + "node_modules/@atproto/xrpc/node_modules/zod": { 157 + "version": "3.25.6", 158 + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.6.tgz", 159 + "integrity": "sha512-kA1wikWvfsP+z3L6mzUJJRQz1Y28BR0Bu/MTWeYbfaFJ8c+OLOt1Bb8d4V3Mk1480H+poPYG6BjS/I4kJ1U8WA==", 160 + "license": "MIT", 161 + "funding": { 162 + "url": "https://github.com/sponsors/colinhacks" 163 + } 164 + }, 165 + "node_modules/@esbuild/aix-ppc64": { 166 + "version": "0.25.4", 167 + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz", 168 + "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==", 169 + "cpu": [ 170 + "ppc64" 171 + ], 172 + "license": "MIT", 173 + "optional": true, 174 + "os": [ 175 + "aix" 176 + ], 177 + "engines": { 178 + "node": ">=18" 179 + } 180 + }, 181 + "node_modules/@esbuild/android-arm": { 182 + "version": "0.25.4", 183 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz", 184 + "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==", 185 + "cpu": [ 186 + "arm" 187 + ], 188 + "license": "MIT", 189 + "optional": true, 190 + "os": [ 191 + "android" 192 + ], 193 + "engines": { 194 + "node": ">=18" 195 + } 196 + }, 197 + "node_modules/@esbuild/android-arm64": { 198 + "version": "0.25.4", 199 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz", 200 + "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==", 201 + "cpu": [ 202 + "arm64" 203 + ], 204 + "license": "MIT", 205 + "optional": true, 206 + "os": [ 207 + "android" 208 + ], 209 + "engines": { 210 + "node": ">=18" 211 + } 212 + }, 213 + "node_modules/@esbuild/android-x64": { 214 + "version": "0.25.4", 215 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz", 216 + "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==", 217 + "cpu": [ 218 + "x64" 219 + ], 220 + "license": "MIT", 221 + "optional": true, 222 + "os": [ 223 + "android" 224 + ], 225 + "engines": { 226 + "node": ">=18" 227 + } 228 + }, 229 + "node_modules/@esbuild/darwin-arm64": { 230 + "version": "0.25.4", 231 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz", 232 + "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==", 233 + "cpu": [ 234 + "arm64" 235 + ], 236 + "license": "MIT", 237 + "optional": true, 238 + "os": [ 239 + "darwin" 240 + ], 241 + "engines": { 242 + "node": ">=18" 243 + } 244 + }, 245 + "node_modules/@esbuild/darwin-x64": { 246 + "version": "0.25.4", 247 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz", 248 + "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==", 249 + "cpu": [ 250 + "x64" 251 + ], 252 + "license": "MIT", 253 + "optional": true, 254 + "os": [ 255 + "darwin" 256 + ], 257 + "engines": { 258 + "node": ">=18" 259 + } 260 + }, 261 + "node_modules/@esbuild/freebsd-arm64": { 262 + "version": "0.25.4", 263 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz", 264 + "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==", 265 + "cpu": [ 266 + "arm64" 267 + ], 268 + "license": "MIT", 269 + "optional": true, 270 + "os": [ 271 + "freebsd" 272 + ], 273 + "engines": { 274 + "node": ">=18" 275 + } 276 + }, 277 + "node_modules/@esbuild/freebsd-x64": { 278 + "version": "0.25.4", 279 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz", 280 + "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==", 281 + "cpu": [ 282 + "x64" 283 + ], 284 + "license": "MIT", 285 + "optional": true, 286 + "os": [ 287 + "freebsd" 288 + ], 289 + "engines": { 290 + "node": ">=18" 291 + } 292 + }, 293 + "node_modules/@esbuild/linux-arm": { 294 + "version": "0.25.4", 295 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz", 296 + "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==", 297 + "cpu": [ 298 + "arm" 299 + ], 300 + "license": "MIT", 301 + "optional": true, 302 + "os": [ 303 + "linux" 304 + ], 305 + "engines": { 306 + "node": ">=18" 307 + } 308 + }, 309 + "node_modules/@esbuild/linux-arm64": { 310 + "version": "0.25.4", 311 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz", 312 + "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==", 313 + "cpu": [ 314 + "arm64" 315 + ], 316 + "license": "MIT", 317 + "optional": true, 318 + "os": [ 319 + "linux" 320 + ], 321 + "engines": { 322 + "node": ">=18" 323 + } 324 + }, 325 + "node_modules/@esbuild/linux-ia32": { 326 + "version": "0.25.4", 327 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz", 328 + "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==", 329 + "cpu": [ 330 + "ia32" 331 + ], 332 + "license": "MIT", 333 + "optional": true, 334 + "os": [ 335 + "linux" 336 + ], 337 + "engines": { 338 + "node": ">=18" 339 + } 340 + }, 341 + "node_modules/@esbuild/linux-loong64": { 342 + "version": "0.25.4", 343 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz", 344 + "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==", 345 + "cpu": [ 346 + "loong64" 347 + ], 348 + "license": "MIT", 349 + "optional": true, 350 + "os": [ 351 + "linux" 352 + ], 353 + "engines": { 354 + "node": ">=18" 355 + } 356 + }, 357 + "node_modules/@esbuild/linux-mips64el": { 358 + "version": "0.25.4", 359 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz", 360 + "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==", 361 + "cpu": [ 362 + "mips64el" 363 + ], 364 + "license": "MIT", 365 + "optional": true, 366 + "os": [ 367 + "linux" 368 + ], 369 + "engines": { 370 + "node": ">=18" 371 + } 372 + }, 373 + "node_modules/@esbuild/linux-ppc64": { 374 + "version": "0.25.4", 375 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz", 376 + "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==", 377 + "cpu": [ 378 + "ppc64" 379 + ], 380 + "license": "MIT", 381 + "optional": true, 382 + "os": [ 383 + "linux" 384 + ], 385 + "engines": { 386 + "node": ">=18" 387 + } 388 + }, 389 + "node_modules/@esbuild/linux-riscv64": { 390 + "version": "0.25.4", 391 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz", 392 + "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==", 393 + "cpu": [ 394 + "riscv64" 395 + ], 396 + "license": "MIT", 397 + "optional": true, 398 + "os": [ 399 + "linux" 400 + ], 401 + "engines": { 402 + "node": ">=18" 403 + } 404 + }, 405 + "node_modules/@esbuild/linux-s390x": { 406 + "version": "0.25.4", 407 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz", 408 + "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==", 409 + "cpu": [ 410 + "s390x" 411 + ], 412 + "license": "MIT", 413 + "optional": true, 414 + "os": [ 415 + "linux" 416 + ], 417 + "engines": { 418 + "node": ">=18" 419 + } 420 + }, 421 + "node_modules/@esbuild/linux-x64": { 422 + "version": "0.25.4", 423 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz", 424 + "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==", 425 + "cpu": [ 426 + "x64" 427 + ], 428 + "license": "MIT", 429 + "optional": true, 430 + "os": [ 431 + "linux" 432 + ], 433 + "engines": { 434 + "node": ">=18" 435 + } 436 + }, 437 + "node_modules/@esbuild/netbsd-arm64": { 438 + "version": "0.25.4", 439 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz", 440 + "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==", 441 + "cpu": [ 442 + "arm64" 443 + ], 444 + "license": "MIT", 445 + "optional": true, 446 + "os": [ 447 + "netbsd" 448 + ], 449 + "engines": { 450 + "node": ">=18" 451 + } 452 + }, 453 + "node_modules/@esbuild/netbsd-x64": { 454 + "version": "0.25.4", 455 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz", 456 + "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==", 457 + "cpu": [ 458 + "x64" 459 + ], 460 + "license": "MIT", 461 + "optional": true, 462 + "os": [ 463 + "netbsd" 464 + ], 465 + "engines": { 466 + "node": ">=18" 467 + } 468 + }, 469 + "node_modules/@esbuild/openbsd-arm64": { 470 + "version": "0.25.4", 471 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz", 472 + "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==", 473 + "cpu": [ 474 + "arm64" 475 + ], 476 + "license": "MIT", 477 + "optional": true, 478 + "os": [ 479 + "openbsd" 480 + ], 481 + "engines": { 482 + "node": ">=18" 483 + } 484 + }, 485 + "node_modules/@esbuild/openbsd-x64": { 486 + "version": "0.25.4", 487 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz", 488 + "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==", 489 + "cpu": [ 490 + "x64" 491 + ], 492 + "license": "MIT", 493 + "optional": true, 494 + "os": [ 495 + "openbsd" 496 + ], 497 + "engines": { 498 + "node": ">=18" 499 + } 500 + }, 501 + "node_modules/@esbuild/sunos-x64": { 502 + "version": "0.25.4", 503 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz", 504 + "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==", 505 + "cpu": [ 506 + "x64" 507 + ], 508 + "license": "MIT", 509 + "optional": true, 510 + "os": [ 511 + "sunos" 512 + ], 513 + "engines": { 514 + "node": ">=18" 515 + } 516 + }, 517 + "node_modules/@esbuild/win32-arm64": { 518 + "version": "0.25.4", 519 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz", 520 + "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==", 521 + "cpu": [ 522 + "arm64" 523 + ], 524 + "license": "MIT", 525 + "optional": true, 526 + "os": [ 527 + "win32" 528 + ], 529 + "engines": { 530 + "node": ">=18" 531 + } 532 + }, 533 + "node_modules/@esbuild/win32-ia32": { 534 + "version": "0.25.4", 535 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz", 536 + "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==", 537 + "cpu": [ 538 + "ia32" 539 + ], 540 + "license": "MIT", 541 + "optional": true, 542 + "os": [ 543 + "win32" 544 + ], 545 + "engines": { 546 + "node": ">=18" 547 + } 548 + }, 549 + "node_modules/@esbuild/win32-x64": { 550 + "version": "0.25.4", 551 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz", 552 + "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==", 553 + "cpu": [ 554 + "x64" 555 + ], 556 + "license": "MIT", 557 + "optional": true, 558 + "os": [ 559 + "win32" 560 + ], 561 + "engines": { 562 + "node": ">=18" 563 + } 564 + }, 565 + "node_modules/@eslint-community/eslint-utils": { 566 + "version": "4.7.0", 567 + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", 568 + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", 569 + "dev": true, 570 + "license": "MIT", 571 + "dependencies": { 572 + "eslint-visitor-keys": "^3.4.3" 573 + }, 574 + "engines": { 575 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 576 + }, 577 + "funding": { 578 + "url": "https://opencollective.com/eslint" 579 + }, 580 + "peerDependencies": { 581 + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" 582 + } 583 + }, 584 + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { 585 + "version": "3.4.3", 586 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", 587 + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", 588 + "dev": true, 589 + "license": "Apache-2.0", 590 + "engines": { 591 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 592 + }, 593 + "funding": { 594 + "url": "https://opencollective.com/eslint" 595 + } 596 + }, 597 + "node_modules/@eslint-community/regexpp": { 598 + "version": "4.12.1", 599 + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", 600 + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", 601 + "dev": true, 602 + "license": "MIT", 603 + "engines": { 604 + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" 605 + } 606 + }, 607 + "node_modules/@eslint/compat": { 608 + "version": "1.2.9", 609 + "resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.2.9.tgz", 610 + "integrity": "sha512-gCdSY54n7k+driCadyMNv8JSPzYLeDVM/ikZRtvtROBpRdFSkS8W9A82MqsaY7lZuwL0wiapgD0NT1xT0hyJsA==", 611 + "dev": true, 612 + "license": "Apache-2.0", 613 + "engines": { 614 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 615 + }, 616 + "peerDependencies": { 617 + "eslint": "^9.10.0" 618 + }, 619 + "peerDependenciesMeta": { 620 + "eslint": { 621 + "optional": true 622 + } 623 + } 624 + }, 625 + "node_modules/@eslint/config-array": { 626 + "version": "0.20.0", 627 + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz", 628 + "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==", 629 + "dev": true, 630 + "license": "Apache-2.0", 631 + "dependencies": { 632 + "@eslint/object-schema": "^2.1.6", 633 + "debug": "^4.3.1", 634 + "minimatch": "^3.1.2" 635 + }, 636 + "engines": { 637 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 638 + } 639 + }, 640 + "node_modules/@eslint/config-helpers": { 641 + "version": "0.2.2", 642 + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.2.tgz", 643 + "integrity": "sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==", 644 + "dev": true, 645 + "license": "Apache-2.0", 646 + "engines": { 647 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 648 + } 649 + }, 650 + "node_modules/@eslint/core": { 651 + "version": "0.14.0", 652 + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz", 653 + "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==", 654 + "dev": true, 655 + "license": "Apache-2.0", 656 + "dependencies": { 657 + "@types/json-schema": "^7.0.15" 658 + }, 659 + "engines": { 660 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 661 + } 662 + }, 663 + "node_modules/@eslint/eslintrc": { 664 + "version": "3.3.1", 665 + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", 666 + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", 667 + "dev": true, 668 + "license": "MIT", 669 + "dependencies": { 670 + "ajv": "^6.12.4", 671 + "debug": "^4.3.2", 672 + "espree": "^10.0.1", 673 + "globals": "^14.0.0", 674 + "ignore": "^5.2.0", 675 + "import-fresh": "^3.2.1", 676 + "js-yaml": "^4.1.0", 677 + "minimatch": "^3.1.2", 678 + "strip-json-comments": "^3.1.1" 679 + }, 680 + "engines": { 681 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 682 + }, 683 + "funding": { 684 + "url": "https://opencollective.com/eslint" 685 + } 686 + }, 687 + "node_modules/@eslint/eslintrc/node_modules/globals": { 688 + "version": "14.0.0", 689 + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", 690 + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", 691 + "dev": true, 692 + "license": "MIT", 693 + "engines": { 694 + "node": ">=18" 695 + }, 696 + "funding": { 697 + "url": "https://github.com/sponsors/sindresorhus" 698 + } 699 + }, 700 + "node_modules/@eslint/js": { 701 + "version": "9.27.0", 702 + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.27.0.tgz", 703 + "integrity": "sha512-G5JD9Tu5HJEu4z2Uo4aHY2sLV64B7CDMXxFzqzjl3NKd6RVzSXNoE80jk7Y0lJkTTkjiIhBAqmlYwjuBY3tvpA==", 704 + "dev": true, 705 + "license": "MIT", 706 + "engines": { 707 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 708 + }, 709 + "funding": { 710 + "url": "https://eslint.org/donate" 711 + } 712 + }, 713 + "node_modules/@eslint/object-schema": { 714 + "version": "2.1.6", 715 + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", 716 + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", 717 + "dev": true, 718 + "license": "Apache-2.0", 719 + "engines": { 720 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 721 + } 722 + }, 723 + "node_modules/@eslint/plugin-kit": { 724 + "version": "0.3.1", 725 + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.1.tgz", 726 + "integrity": "sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==", 727 + "dev": true, 728 + "license": "Apache-2.0", 729 + "dependencies": { 730 + "@eslint/core": "^0.14.0", 731 + "levn": "^0.4.1" 732 + }, 733 + "engines": { 734 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 735 + } 736 + }, 737 + "node_modules/@floating-ui/core": { 738 + "version": "1.7.0", 739 + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.0.tgz", 740 + "integrity": "sha512-FRdBLykrPPA6P76GGGqlex/e7fbe0F1ykgxHYNXQsH/iTEtjMj/f9bpY5oQqbjt5VgZvgz/uKXbGuROijh3VLA==", 741 + "license": "MIT", 742 + "dependencies": { 743 + "@floating-ui/utils": "^0.2.9" 744 + } 745 + }, 746 + "node_modules/@floating-ui/dom": { 747 + "version": "1.7.0", 748 + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.0.tgz", 749 + "integrity": "sha512-lGTor4VlXcesUMh1cupTUTDoCxMb0V6bm3CnxHzQcw8Eaf1jQbgQX4i02fYgT0vJ82tb5MZ4CZk1LRGkktJCzg==", 750 + "license": "MIT", 751 + "dependencies": { 752 + "@floating-ui/core": "^1.7.0", 753 + "@floating-ui/utils": "^0.2.9" 754 + } 755 + }, 756 + "node_modules/@floating-ui/utils": { 757 + "version": "0.2.9", 758 + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz", 759 + "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==", 760 + "license": "MIT" 761 + }, 762 + "node_modules/@fuxui/base": { 763 + "version": "0.2.1", 764 + "resolved": "https://registry.npmjs.org/@fuxui/base/-/base-0.2.1.tgz", 765 + "integrity": "sha512-lPHqk4yG5NG6CfZ0QvlHra5lx6CX6vVpotmEYn5bgwhbw/3lc9JAiEV1GNiL+1io521Sj5LzakV0zfvCfkpgOA==", 766 + "license": "MIT", 767 + "dependencies": { 768 + "@number-flow/svelte": "^0.3.7", 769 + "bits-ui": "^1.4.3", 770 + "clsx": "^2.1.1", 771 + "svelte-sonner": "^0.3.28", 772 + "tailwind-merge": "^3.2.0", 773 + "tailwind-variants": "^1.0.0" 774 + }, 775 + "peerDependencies": { 776 + "svelte": ">=5", 777 + "tailwindcss": ">=3" 778 + } 779 + }, 780 + "node_modules/@fuxui/colors": { 781 + "version": "0.2.2", 782 + "resolved": "https://registry.npmjs.org/@fuxui/colors/-/colors-0.2.2.tgz", 783 + "integrity": "sha512-9AybxmTo7jawWg2BQiJgF0d+KnGBQ1zvRPWRt8fPY/KL3mVCSTi0THK2lc7jl4VfEPcpkzzTqkYiSJPtcmxMWQ==", 784 + "license": "MIT", 785 + "dependencies": { 786 + "@fuxui/base": "0.2.1", 787 + "@texel/color": "^1.1.10", 788 + "@use-gesture/vanilla": "^10.3.1", 789 + "bits-ui": "^1.4.3" 790 + }, 791 + "peerDependencies": { 792 + "svelte": ">=5", 793 + "tailwindcss": ">=3" 794 + } 795 + }, 796 + "node_modules/@fuxui/social": { 797 + "version": "0.2.1", 798 + "resolved": "https://registry.npmjs.org/@fuxui/social/-/social-0.2.1.tgz", 799 + "integrity": "sha512-YAIFbMEwAbA76qdPhJqoj8a3AqPsCOjCIIFifttJ2rUpy2dOibWHYNngm+F87ma4KcfFNNhbe0RsVGoFGPdYlQ==", 800 + "license": "MIT", 801 + "dependencies": { 802 + "@atproto/api": "^0.15.5", 803 + "@fuxui/base": "0.2.1", 804 + "@use-gesture/vanilla": "^10.3.1", 805 + "bits-ui": "^1.4.3", 806 + "emoji-picker-element": "^1.26.3", 807 + "hls.js": "^1.6.2", 808 + "is-emoji-supported": "^0.0.5", 809 + "plyr": "^3.7.8" 810 + }, 811 + "peerDependencies": { 812 + "svelte": ">=5", 813 + "tailwindcss": ">=3" 814 + } 815 + }, 816 + "node_modules/@humanfs/core": { 817 + "version": "0.19.1", 818 + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", 819 + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", 820 + "dev": true, 821 + "license": "Apache-2.0", 822 + "engines": { 823 + "node": ">=18.18.0" 824 + } 825 + }, 826 + "node_modules/@humanfs/node": { 827 + "version": "0.16.6", 828 + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", 829 + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", 830 + "dev": true, 831 + "license": "Apache-2.0", 832 + "dependencies": { 833 + "@humanfs/core": "^0.19.1", 834 + "@humanwhocodes/retry": "^0.3.0" 835 + }, 836 + "engines": { 837 + "node": ">=18.18.0" 838 + } 839 + }, 840 + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { 841 + "version": "0.3.1", 842 + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", 843 + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", 844 + "dev": true, 845 + "license": "Apache-2.0", 846 + "engines": { 847 + "node": ">=18.18" 848 + }, 849 + "funding": { 850 + "type": "github", 851 + "url": "https://github.com/sponsors/nzakas" 852 + } 853 + }, 854 + "node_modules/@humanwhocodes/module-importer": { 855 + "version": "1.0.1", 856 + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", 857 + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", 858 + "dev": true, 859 + "license": "Apache-2.0", 860 + "engines": { 861 + "node": ">=12.22" 862 + }, 863 + "funding": { 864 + "type": "github", 865 + "url": "https://github.com/sponsors/nzakas" 866 + } 867 + }, 868 + "node_modules/@humanwhocodes/retry": { 869 + "version": "0.4.3", 870 + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", 871 + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", 872 + "dev": true, 873 + "license": "Apache-2.0", 874 + "engines": { 875 + "node": ">=18.18" 876 + }, 877 + "funding": { 878 + "type": "github", 879 + "url": "https://github.com/sponsors/nzakas" 880 + } 881 + }, 882 + "node_modules/@internationalized/date": { 883 + "version": "3.8.1", 884 + "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.8.1.tgz", 885 + "integrity": "sha512-PgVE6B6eIZtzf9Gu5HvJxRK3ufUFz9DhspELuhW/N0GuMGMTLvPQNRkHP2hTuP9lblOk+f+1xi96sPiPXANXAA==", 886 + "license": "Apache-2.0", 887 + "dependencies": { 888 + "@swc/helpers": "^0.5.0" 889 + } 890 + }, 891 + "node_modules/@isaacs/cliui": { 892 + "version": "8.0.2", 893 + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", 894 + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", 895 + "license": "ISC", 896 + "dependencies": { 897 + "string-width": "^5.1.2", 898 + "string-width-cjs": "npm:string-width@^4.2.0", 899 + "strip-ansi": "^7.0.1", 900 + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", 901 + "wrap-ansi": "^8.1.0", 902 + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" 903 + }, 904 + "engines": { 905 + "node": ">=12" 906 + } 907 + }, 908 + "node_modules/@isaacs/fs-minipass": { 909 + "version": "4.0.1", 910 + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", 911 + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", 912 + "license": "ISC", 913 + "dependencies": { 914 + "minipass": "^7.0.4" 915 + }, 916 + "engines": { 917 + "node": ">=18.0.0" 918 + } 919 + }, 920 + "node_modules/@jridgewell/gen-mapping": { 921 + "version": "0.3.8", 922 + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", 923 + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", 924 + "license": "MIT", 925 + "dependencies": { 926 + "@jridgewell/set-array": "^1.2.1", 927 + "@jridgewell/sourcemap-codec": "^1.4.10", 928 + "@jridgewell/trace-mapping": "^0.3.24" 929 + }, 930 + "engines": { 931 + "node": ">=6.0.0" 932 + } 933 + }, 934 + "node_modules/@jridgewell/resolve-uri": { 935 + "version": "3.1.2", 936 + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 937 + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 938 + "license": "MIT", 939 + "engines": { 940 + "node": ">=6.0.0" 941 + } 942 + }, 943 + "node_modules/@jridgewell/set-array": { 944 + "version": "1.2.1", 945 + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", 946 + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", 947 + "license": "MIT", 948 + "engines": { 949 + "node": ">=6.0.0" 950 + } 951 + }, 952 + "node_modules/@jridgewell/sourcemap-codec": { 953 + "version": "1.5.0", 954 + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", 955 + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", 956 + "license": "MIT" 957 + }, 958 + "node_modules/@jridgewell/trace-mapping": { 959 + "version": "0.3.25", 960 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", 961 + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", 962 + "license": "MIT", 963 + "dependencies": { 964 + "@jridgewell/resolve-uri": "^3.1.0", 965 + "@jridgewell/sourcemap-codec": "^1.4.14" 966 + } 967 + }, 968 + "node_modules/@manuscripts/prosemirror-recreate-steps": { 969 + "version": "0.1.4", 970 + "resolved": "https://registry.npmjs.org/@manuscripts/prosemirror-recreate-steps/-/prosemirror-recreate-steps-0.1.4.tgz", 971 + "integrity": "sha512-z3/PGcWB3SbOzhUkiZKAAMeWVz3jR1uacUXuYfJfSE+XgTUCtxB/xnbmx7SpTvtBEtw9EFXomTqjoG6DGlC2nQ==", 972 + "license": "Apache-2.0", 973 + "dependencies": { 974 + "@types/prosemirror-model": "^1.5.0", 975 + "@types/prosemirror-schema-basic": "^1.0.1", 976 + "@types/prosemirror-schema-list": "^1.0.1", 977 + "@types/prosemirror-state": "^1.2.0", 978 + "@types/prosemirror-transform": "^1.1.0", 979 + "diff": "^3.5.0", 980 + "prosemirror-changeset": "^1.0.5", 981 + "prosemirror-example-setup": "^1.0.1", 982 + "prosemirror-model": "^1.6.1", 983 + "prosemirror-schema-basic": "^1.0.0", 984 + "prosemirror-schema-list": "^1.0.1", 985 + "prosemirror-state": "^1.2.2", 986 + "prosemirror-transform": "^1.1.3", 987 + "prosemirror-view": "^1.5.3", 988 + "rfc6902": "^3.0.1" 989 + } 990 + }, 991 + "node_modules/@manuscripts/prosemirror-recreate-steps/node_modules/prosemirror-changeset": { 992 + "version": "1.2.1", 993 + "resolved": "https://registry.npmjs.org/prosemirror-changeset/-/prosemirror-changeset-1.2.1.tgz", 994 + "integrity": "sha512-qqwG1z8z+KkM3PZWmANYhqvoZdstFmzfkr7FPJ6suBwKs/UvZbvnRvDBvJC5eDbXbE7MhIGO+LY1Dq29zBAbIw==", 995 + "license": "MIT", 996 + "dependencies": { 997 + "prosemirror-transform": "^1.0.0" 998 + } 999 + }, 1000 + "node_modules/@mapbox/node-pre-gyp": { 1001 + "version": "2.0.0", 1002 + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-2.0.0.tgz", 1003 + "integrity": "sha512-llMXd39jtP0HpQLVI37Bf1m2ADlEb35GYSh1SDSLsBhR+5iCxiNGlT31yqbNtVHygHAtMy6dWFERpU2JgufhPg==", 1004 + "license": "BSD-3-Clause", 1005 + "dependencies": { 1006 + "consola": "^3.2.3", 1007 + "detect-libc": "^2.0.0", 1008 + "https-proxy-agent": "^7.0.5", 1009 + "node-fetch": "^2.6.7", 1010 + "nopt": "^8.0.0", 1011 + "semver": "^7.5.3", 1012 + "tar": "^7.4.0" 1013 + }, 1014 + "bin": { 1015 + "node-pre-gyp": "bin/node-pre-gyp" 1016 + }, 1017 + "engines": { 1018 + "node": ">=18" 1019 + } 1020 + }, 1021 + "node_modules/@noble/ciphers": { 1022 + "version": "1.3.0", 1023 + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.3.0.tgz", 1024 + "integrity": "sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==", 1025 + "license": "MIT", 1026 + "engines": { 1027 + "node": "^14.21.3 || >=16" 1028 + }, 1029 + "funding": { 1030 + "url": "https://paulmillr.com/funding/" 1031 + } 1032 + }, 1033 + "node_modules/@noble/curves": { 1034 + "version": "1.9.1", 1035 + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.1.tgz", 1036 + "integrity": "sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==", 1037 + "license": "MIT", 1038 + "dependencies": { 1039 + "@noble/hashes": "1.8.0" 1040 + }, 1041 + "engines": { 1042 + "node": "^14.21.3 || >=16" 1043 + }, 1044 + "funding": { 1045 + "url": "https://paulmillr.com/funding/" 1046 + } 1047 + }, 1048 + "node_modules/@noble/hashes": { 1049 + "version": "1.8.0", 1050 + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", 1051 + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", 1052 + "license": "MIT", 1053 + "engines": { 1054 + "node": "^14.21.3 || >=16" 1055 + }, 1056 + "funding": { 1057 + "url": "https://paulmillr.com/funding/" 1058 + } 1059 + }, 1060 + "node_modules/@nodelib/fs.scandir": { 1061 + "version": "2.1.5", 1062 + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 1063 + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 1064 + "dev": true, 1065 + "license": "MIT", 1066 + "dependencies": { 1067 + "@nodelib/fs.stat": "2.0.5", 1068 + "run-parallel": "^1.1.9" 1069 + }, 1070 + "engines": { 1071 + "node": ">= 8" 1072 + } 1073 + }, 1074 + "node_modules/@nodelib/fs.stat": { 1075 + "version": "2.0.5", 1076 + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 1077 + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 1078 + "dev": true, 1079 + "license": "MIT", 1080 + "engines": { 1081 + "node": ">= 8" 1082 + } 1083 + }, 1084 + "node_modules/@nodelib/fs.walk": { 1085 + "version": "1.2.8", 1086 + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 1087 + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 1088 + "dev": true, 1089 + "license": "MIT", 1090 + "dependencies": { 1091 + "@nodelib/fs.scandir": "2.1.5", 1092 + "fastq": "^1.6.0" 1093 + }, 1094 + "engines": { 1095 + "node": ">= 8" 1096 + } 1097 + }, 1098 + "node_modules/@number-flow/svelte": { 1099 + "version": "0.3.7", 1100 + "resolved": "https://registry.npmjs.org/@number-flow/svelte/-/svelte-0.3.7.tgz", 1101 + "integrity": "sha512-FusxKvImj13+15N+pQrrGsu8cNTQ0BCUWxshNUpPU4opFufVpHO+RMxsYrtZ7xloVL/TjDLpO+SWjrxxx7iPJg==", 1102 + "license": "MIT", 1103 + "dependencies": { 1104 + "esm-env": "^1.1.4", 1105 + "number-flow": "0.5.7" 1106 + }, 1107 + "peerDependencies": { 1108 + "svelte": "^4 || ^5" 1109 + } 1110 + }, 1111 + "node_modules/@opentelemetry/api": { 1112 + "version": "1.9.0", 1113 + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", 1114 + "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==", 1115 + "license": "Apache-2.0", 1116 + "engines": { 1117 + "node": ">=8.0.0" 1118 + } 1119 + }, 1120 + "node_modules/@pkgjs/parseargs": { 1121 + "version": "0.11.0", 1122 + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", 1123 + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", 1124 + "license": "MIT", 1125 + "optional": true, 1126 + "engines": { 1127 + "node": ">=14" 1128 + } 1129 + }, 1130 + "node_modules/@polka/url": { 1131 + "version": "1.0.0-next.29", 1132 + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", 1133 + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", 1134 + "license": "MIT" 1135 + }, 1136 + "node_modules/@popperjs/core": { 1137 + "version": "2.11.8", 1138 + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", 1139 + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", 1140 + "license": "MIT", 1141 + "peer": true, 1142 + "funding": { 1143 + "type": "opencollective", 1144 + "url": "https://opencollective.com/popperjs" 1145 + } 1146 + }, 1147 + "node_modules/@remirror/core-constants": { 1148 + "version": "3.0.0", 1149 + "resolved": "https://registry.npmjs.org/@remirror/core-constants/-/core-constants-3.0.0.tgz", 1150 + "integrity": "sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==", 1151 + "license": "MIT" 1152 + }, 1153 + "node_modules/@rollup/pluginutils": { 1154 + "version": "5.1.4", 1155 + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", 1156 + "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==", 1157 + "license": "MIT", 1158 + "dependencies": { 1159 + "@types/estree": "^1.0.0", 1160 + "estree-walker": "^2.0.2", 1161 + "picomatch": "^4.0.2" 1162 + }, 1163 + "engines": { 1164 + "node": ">=14.0.0" 1165 + }, 1166 + "peerDependencies": { 1167 + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" 1168 + }, 1169 + "peerDependenciesMeta": { 1170 + "rollup": { 1171 + "optional": true 1172 + } 1173 + } 1174 + }, 1175 + "node_modules/@rollup/rollup-android-arm-eabi": { 1176 + "version": "4.41.0", 1177 + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.0.tgz", 1178 + "integrity": "sha512-KxN+zCjOYHGwCl4UCtSfZ6jrq/qi88JDUtiEFk8LELEHq2Egfc/FgW+jItZiOLRuQfb/3xJSgFuNPC9jzggX+A==", 1179 + "cpu": [ 1180 + "arm" 1181 + ], 1182 + "license": "MIT", 1183 + "optional": true, 1184 + "os": [ 1185 + "android" 1186 + ] 1187 + }, 1188 + "node_modules/@rollup/rollup-android-arm64": { 1189 + "version": "4.41.0", 1190 + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.41.0.tgz", 1191 + "integrity": "sha512-yDvqx3lWlcugozax3DItKJI5j05B0d4Kvnjx+5mwiUpWramVvmAByYigMplaoAQ3pvdprGCTCE03eduqE/8mPQ==", 1192 + "cpu": [ 1193 + "arm64" 1194 + ], 1195 + "license": "MIT", 1196 + "optional": true, 1197 + "os": [ 1198 + "android" 1199 + ] 1200 + }, 1201 + "node_modules/@rollup/rollup-darwin-arm64": { 1202 + "version": "4.41.0", 1203 + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.41.0.tgz", 1204 + "integrity": "sha512-2KOU574vD3gzcPSjxO0eyR5iWlnxxtmW1F5CkNOHmMlueKNCQkxR6+ekgWyVnz6zaZihpUNkGxjsYrkTJKhkaw==", 1205 + "cpu": [ 1206 + "arm64" 1207 + ], 1208 + "license": "MIT", 1209 + "optional": true, 1210 + "os": [ 1211 + "darwin" 1212 + ] 1213 + }, 1214 + "node_modules/@rollup/rollup-darwin-x64": { 1215 + "version": "4.41.0", 1216 + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.41.0.tgz", 1217 + "integrity": "sha512-gE5ACNSxHcEZyP2BA9TuTakfZvULEW4YAOtxl/A/YDbIir/wPKukde0BNPlnBiP88ecaN4BJI2TtAd+HKuZPQQ==", 1218 + "cpu": [ 1219 + "x64" 1220 + ], 1221 + "license": "MIT", 1222 + "optional": true, 1223 + "os": [ 1224 + "darwin" 1225 + ] 1226 + }, 1227 + "node_modules/@rollup/rollup-freebsd-arm64": { 1228 + "version": "4.41.0", 1229 + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.41.0.tgz", 1230 + "integrity": "sha512-GSxU6r5HnWij7FoSo7cZg3l5GPg4HFLkzsFFh0N/b16q5buW1NAWuCJ+HMtIdUEi6XF0qH+hN0TEd78laRp7Dg==", 1231 + "cpu": [ 1232 + "arm64" 1233 + ], 1234 + "license": "MIT", 1235 + "optional": true, 1236 + "os": [ 1237 + "freebsd" 1238 + ] 1239 + }, 1240 + "node_modules/@rollup/rollup-freebsd-x64": { 1241 + "version": "4.41.0", 1242 + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.41.0.tgz", 1243 + "integrity": "sha512-KGiGKGDg8qLRyOWmk6IeiHJzsN/OYxO6nSbT0Vj4MwjS2XQy/5emsmtoqLAabqrohbgLWJ5GV3s/ljdrIr8Qjg==", 1244 + "cpu": [ 1245 + "x64" 1246 + ], 1247 + "license": "MIT", 1248 + "optional": true, 1249 + "os": [ 1250 + "freebsd" 1251 + ] 1252 + }, 1253 + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { 1254 + "version": "4.41.0", 1255 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.41.0.tgz", 1256 + "integrity": "sha512-46OzWeqEVQyX3N2/QdiU/CMXYDH/lSHpgfBkuhl3igpZiaB3ZIfSjKuOnybFVBQzjsLwkus2mjaESy8H41SzvA==", 1257 + "cpu": [ 1258 + "arm" 1259 + ], 1260 + "license": "MIT", 1261 + "optional": true, 1262 + "os": [ 1263 + "linux" 1264 + ] 1265 + }, 1266 + "node_modules/@rollup/rollup-linux-arm-musleabihf": { 1267 + "version": "4.41.0", 1268 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.41.0.tgz", 1269 + "integrity": "sha512-lfgW3KtQP4YauqdPpcUZHPcqQXmTmH4nYU0cplNeW583CMkAGjtImw4PKli09NFi2iQgChk4e9erkwlfYem6Lg==", 1270 + "cpu": [ 1271 + "arm" 1272 + ], 1273 + "license": "MIT", 1274 + "optional": true, 1275 + "os": [ 1276 + "linux" 1277 + ] 1278 + }, 1279 + "node_modules/@rollup/rollup-linux-arm64-gnu": { 1280 + "version": "4.41.0", 1281 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.41.0.tgz", 1282 + "integrity": "sha512-nn8mEyzMbdEJzT7cwxgObuwviMx6kPRxzYiOl6o/o+ChQq23gfdlZcUNnt89lPhhz3BYsZ72rp0rxNqBSfqlqw==", 1283 + "cpu": [ 1284 + "arm64" 1285 + ], 1286 + "license": "MIT", 1287 + "optional": true, 1288 + "os": [ 1289 + "linux" 1290 + ] 1291 + }, 1292 + "node_modules/@rollup/rollup-linux-arm64-musl": { 1293 + "version": "4.41.0", 1294 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.0.tgz", 1295 + "integrity": "sha512-l+QK99je2zUKGd31Gh+45c4pGDAqZSuWQiuRFCdHYC2CSiO47qUWsCcenrI6p22hvHZrDje9QjwSMAFL3iwXwQ==", 1296 + "cpu": [ 1297 + "arm64" 1298 + ], 1299 + "license": "MIT", 1300 + "optional": true, 1301 + "os": [ 1302 + "linux" 1303 + ] 1304 + }, 1305 + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { 1306 + "version": "4.41.0", 1307 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.0.tgz", 1308 + "integrity": "sha512-WbnJaxPv1gPIm6S8O/Wg+wfE/OzGSXlBMbOe4ie+zMyykMOeqmgD1BhPxZQuDqwUN+0T/xOFtL2RUWBspnZj3w==", 1309 + "cpu": [ 1310 + "loong64" 1311 + ], 1312 + "license": "MIT", 1313 + "optional": true, 1314 + "os": [ 1315 + "linux" 1316 + ] 1317 + }, 1318 + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { 1319 + "version": "4.41.0", 1320 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.0.tgz", 1321 + "integrity": "sha512-eRDWR5t67/b2g8Q/S8XPi0YdbKcCs4WQ8vklNnUYLaSWF+Cbv2axZsp4jni6/j7eKvMLYCYdcsv8dcU+a6QNFg==", 1322 + "cpu": [ 1323 + "ppc64" 1324 + ], 1325 + "license": "MIT", 1326 + "optional": true, 1327 + "os": [ 1328 + "linux" 1329 + ] 1330 + }, 1331 + "node_modules/@rollup/rollup-linux-riscv64-gnu": { 1332 + "version": "4.41.0", 1333 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.0.tgz", 1334 + "integrity": "sha512-TWrZb6GF5jsEKG7T1IHwlLMDRy2f3DPqYldmIhnA2DVqvvhY2Ai184vZGgahRrg8k9UBWoSlHv+suRfTN7Ua4A==", 1335 + "cpu": [ 1336 + "riscv64" 1337 + ], 1338 + "license": "MIT", 1339 + "optional": true, 1340 + "os": [ 1341 + "linux" 1342 + ] 1343 + }, 1344 + "node_modules/@rollup/rollup-linux-riscv64-musl": { 1345 + "version": "4.41.0", 1346 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.0.tgz", 1347 + "integrity": "sha512-ieQljaZKuJpmWvd8gW87ZmSFwid6AxMDk5bhONJ57U8zT77zpZ/TPKkU9HpnnFrM4zsgr4kiGuzbIbZTGi7u9A==", 1348 + "cpu": [ 1349 + "riscv64" 1350 + ], 1351 + "license": "MIT", 1352 + "optional": true, 1353 + "os": [ 1354 + "linux" 1355 + ] 1356 + }, 1357 + "node_modules/@rollup/rollup-linux-s390x-gnu": { 1358 + "version": "4.41.0", 1359 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.0.tgz", 1360 + "integrity": "sha512-/L3pW48SxrWAlVsKCN0dGLB2bi8Nv8pr5S5ocSM+S0XCn5RCVCXqi8GVtHFsOBBCSeR+u9brV2zno5+mg3S4Aw==", 1361 + "cpu": [ 1362 + "s390x" 1363 + ], 1364 + "license": "MIT", 1365 + "optional": true, 1366 + "os": [ 1367 + "linux" 1368 + ] 1369 + }, 1370 + "node_modules/@rollup/rollup-linux-x64-gnu": { 1371 + "version": "4.41.0", 1372 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.0.tgz", 1373 + "integrity": "sha512-XMLeKjyH8NsEDCRptf6LO8lJk23o9wvB+dJwcXMaH6ZQbbkHu2dbGIUindbMtRN6ux1xKi16iXWu6q9mu7gDhQ==", 1374 + "cpu": [ 1375 + "x64" 1376 + ], 1377 + "license": "MIT", 1378 + "optional": true, 1379 + "os": [ 1380 + "linux" 1381 + ] 1382 + }, 1383 + "node_modules/@rollup/rollup-linux-x64-musl": { 1384 + "version": "4.41.0", 1385 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.0.tgz", 1386 + "integrity": "sha512-m/P7LycHZTvSQeXhFmgmdqEiTqSV80zn6xHaQ1JSqwCtD1YGtwEK515Qmy9DcB2HK4dOUVypQxvhVSy06cJPEg==", 1387 + "cpu": [ 1388 + "x64" 1389 + ], 1390 + "license": "MIT", 1391 + "optional": true, 1392 + "os": [ 1393 + "linux" 1394 + ] 1395 + }, 1396 + "node_modules/@rollup/rollup-win32-arm64-msvc": { 1397 + "version": "4.41.0", 1398 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.0.tgz", 1399 + "integrity": "sha512-4yodtcOrFHpbomJGVEqZ8fzD4kfBeCbpsUy5Pqk4RluXOdsWdjLnjhiKy2w3qzcASWd04fp52Xz7JKarVJ5BTg==", 1400 + "cpu": [ 1401 + "arm64" 1402 + ], 1403 + "license": "MIT", 1404 + "optional": true, 1405 + "os": [ 1406 + "win32" 1407 + ] 1408 + }, 1409 + "node_modules/@rollup/rollup-win32-ia32-msvc": { 1410 + "version": "4.41.0", 1411 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.0.tgz", 1412 + "integrity": "sha512-tmazCrAsKzdkXssEc65zIE1oC6xPHwfy9d5Ta25SRCDOZS+I6RypVVShWALNuU9bxIfGA0aqrmzlzoM5wO5SPQ==", 1413 + "cpu": [ 1414 + "ia32" 1415 + ], 1416 + "license": "MIT", 1417 + "optional": true, 1418 + "os": [ 1419 + "win32" 1420 + ] 1421 + }, 1422 + "node_modules/@rollup/rollup-win32-x64-msvc": { 1423 + "version": "4.41.0", 1424 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.0.tgz", 1425 + "integrity": "sha512-h1J+Yzjo/X+0EAvR2kIXJDuTuyT7drc+t2ALY0nIcGPbTatNOf0VWdhEA2Z4AAjv6X1NJV7SYo5oCTYRJhSlVA==", 1426 + "cpu": [ 1427 + "x64" 1428 + ], 1429 + "license": "MIT", 1430 + "optional": true, 1431 + "os": [ 1432 + "win32" 1433 + ] 1434 + }, 1435 + "node_modules/@scure/base": { 1436 + "version": "1.2.1", 1437 + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.1.tgz", 1438 + "integrity": "sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==", 1439 + "license": "MIT", 1440 + "funding": { 1441 + "url": "https://paulmillr.com/funding/" 1442 + } 1443 + }, 1444 + "node_modules/@scure/bip39": { 1445 + "version": "1.6.0", 1446 + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.6.0.tgz", 1447 + "integrity": "sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==", 1448 + "license": "MIT", 1449 + "dependencies": { 1450 + "@noble/hashes": "~1.8.0", 1451 + "@scure/base": "~1.2.5" 1452 + }, 1453 + "funding": { 1454 + "url": "https://paulmillr.com/funding/" 1455 + } 1456 + }, 1457 + "node_modules/@scure/bip39/node_modules/@scure/base": { 1458 + "version": "1.2.5", 1459 + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.5.tgz", 1460 + "integrity": "sha512-9rE6EOVeIQzt5TSu4v+K523F8u6DhBsoZWPGKlnCshhlDhy0kJzUX4V+tr2dWmzF1GdekvThABoEQBGBQI7xZw==", 1461 + "license": "MIT", 1462 + "funding": { 1463 + "url": "https://paulmillr.com/funding/" 1464 + } 1465 + }, 1466 + "node_modules/@sveltejs/acorn-typescript": { 1467 + "version": "1.0.5", 1468 + "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.5.tgz", 1469 + "integrity": "sha512-IwQk4yfwLdibDlrXVE04jTZYlLnwsTT2PIOQQGNLWfjavGifnk1JD1LcZjZaBTRcxZu2FfPfNLOE04DSu9lqtQ==", 1470 + "license": "MIT", 1471 + "peerDependencies": { 1472 + "acorn": "^8.9.0" 1473 + } 1474 + }, 1475 + "node_modules/@sveltejs/adapter-auto": { 1476 + "version": "6.0.1", 1477 + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-6.0.1.tgz", 1478 + "integrity": "sha512-mcWud3pYGPWM2Pphdj8G9Qiq24nZ8L4LB7coCUckUEy5Y7wOWGJ/enaZ4AtJTcSm5dNK1rIkBRoqt+ae4zlxcQ==", 1479 + "dev": true, 1480 + "license": "MIT", 1481 + "peerDependencies": { 1482 + "@sveltejs/kit": "^2.0.0" 1483 + } 1484 + }, 1485 + "node_modules/@sveltejs/adapter-static": { 1486 + "version": "3.0.8", 1487 + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-3.0.8.tgz", 1488 + "integrity": "sha512-YaDrquRpZwfcXbnlDsSrBQNCChVOT9MGuSg+dMAyfsAa1SmiAhrA5jUYUiIMC59G92kIbY/AaQOWcBdq+lh+zg==", 1489 + "license": "MIT", 1490 + "peerDependencies": { 1491 + "@sveltejs/kit": "^2.0.0" 1492 + } 1493 + }, 1494 + "node_modules/@sveltejs/adapter-vercel": { 1495 + "version": "5.7.2", 1496 + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-vercel/-/adapter-vercel-5.7.2.tgz", 1497 + "integrity": "sha512-YuFi8qgetcmvlXLqMPDKrloH/bLq31DYHSQHS2oLujES+PomJIeE7/JxYhxFStauL9QDqQ8PwOFwcZrdU/vVtg==", 1498 + "license": "MIT", 1499 + "dependencies": { 1500 + "@vercel/nft": "^0.29.2", 1501 + "esbuild": "^0.25.4" 1502 + }, 1503 + "peerDependencies": { 1504 + "@sveltejs/kit": "^2.4.0" 1505 + } 1506 + }, 1507 + "node_modules/@sveltejs/kit": { 1508 + "version": "2.21.1", 1509 + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.21.1.tgz", 1510 + "integrity": "sha512-vLbtVwtDcK8LhJKnFkFYwM0uCdFmzioQnif0bjEYH1I24Arz22JPr/hLUiXGVYAwhu8INKx5qrdvr4tHgPwX6w==", 1511 + "license": "MIT", 1512 + "dependencies": { 1513 + "@sveltejs/acorn-typescript": "^1.0.5", 1514 + "@types/cookie": "^0.6.0", 1515 + "acorn": "^8.14.1", 1516 + "cookie": "^0.6.0", 1517 + "devalue": "^5.1.0", 1518 + "esm-env": "^1.2.2", 1519 + "kleur": "^4.1.5", 1520 + "magic-string": "^0.30.5", 1521 + "mrmime": "^2.0.0", 1522 + "sade": "^1.8.1", 1523 + "set-cookie-parser": "^2.6.0", 1524 + "sirv": "^3.0.0" 1525 + }, 1526 + "bin": { 1527 + "svelte-kit": "svelte-kit.js" 1528 + }, 1529 + "engines": { 1530 + "node": ">=18.13" 1531 + }, 1532 + "peerDependencies": { 1533 + "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0", 1534 + "svelte": "^4.0.0 || ^5.0.0-next.0", 1535 + "vite": "^5.0.3 || ^6.0.0" 1536 + } 1537 + }, 1538 + "node_modules/@sveltejs/vite-plugin-svelte": { 1539 + "version": "5.0.3", 1540 + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-5.0.3.tgz", 1541 + "integrity": "sha512-MCFS6CrQDu1yGwspm4qtli0e63vaPCehf6V7pIMP15AsWgMKrqDGCPFF/0kn4SP0ii4aySu4Pa62+fIRGFMjgw==", 1542 + "license": "MIT", 1543 + "dependencies": { 1544 + "@sveltejs/vite-plugin-svelte-inspector": "^4.0.1", 1545 + "debug": "^4.4.0", 1546 + "deepmerge": "^4.3.1", 1547 + "kleur": "^4.1.5", 1548 + "magic-string": "^0.30.15", 1549 + "vitefu": "^1.0.4" 1550 + }, 1551 + "engines": { 1552 + "node": "^18.0.0 || ^20.0.0 || >=22" 1553 + }, 1554 + "peerDependencies": { 1555 + "svelte": "^5.0.0", 1556 + "vite": "^6.0.0" 1557 + } 1558 + }, 1559 + "node_modules/@sveltejs/vite-plugin-svelte-inspector": { 1560 + "version": "4.0.1", 1561 + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-4.0.1.tgz", 1562 + "integrity": "sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==", 1563 + "license": "MIT", 1564 + "dependencies": { 1565 + "debug": "^4.3.7" 1566 + }, 1567 + "engines": { 1568 + "node": "^18.0.0 || ^20.0.0 || >=22" 1569 + }, 1570 + "peerDependencies": { 1571 + "@sveltejs/vite-plugin-svelte": "^5.0.0", 1572 + "svelte": "^5.0.0", 1573 + "vite": "^6.0.0" 1574 + } 1575 + }, 1576 + "node_modules/@swc/helpers": { 1577 + "version": "0.5.17", 1578 + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz", 1579 + "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", 1580 + "license": "Apache-2.0", 1581 + "dependencies": { 1582 + "tslib": "^2.8.0" 1583 + } 1584 + }, 1585 + "node_modules/@tailwindcss/forms": { 1586 + "version": "0.5.10", 1587 + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.10.tgz", 1588 + "integrity": "sha512-utI1ONF6uf/pPNO68kmN1b8rEwNXv3czukalo8VtJH8ksIkZXr3Q3VYudZLkCsDd4Wku120uF02hYK25XGPorw==", 1589 + "dev": true, 1590 + "license": "MIT", 1591 + "dependencies": { 1592 + "mini-svg-data-uri": "^1.2.3" 1593 + }, 1594 + "peerDependencies": { 1595 + "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1" 1596 + } 1597 + }, 1598 + "node_modules/@tailwindcss/node": { 1599 + "version": "4.1.7", 1600 + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.7.tgz", 1601 + "integrity": "sha512-9rsOpdY9idRI2NH6CL4wORFY0+Q6fnx9XP9Ju+iq/0wJwGD5IByIgFmwVbyy4ymuyprj8Qh4ErxMKTUL4uNh3g==", 1602 + "dev": true, 1603 + "license": "MIT", 1604 + "dependencies": { 1605 + "@ampproject/remapping": "^2.3.0", 1606 + "enhanced-resolve": "^5.18.1", 1607 + "jiti": "^2.4.2", 1608 + "lightningcss": "1.30.1", 1609 + "magic-string": "^0.30.17", 1610 + "source-map-js": "^1.2.1", 1611 + "tailwindcss": "4.1.7" 1612 + } 1613 + }, 1614 + "node_modules/@tailwindcss/oxide": { 1615 + "version": "4.1.7", 1616 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.7.tgz", 1617 + "integrity": "sha512-5SF95Ctm9DFiUyjUPnDGkoKItPX/k+xifcQhcqX5RA85m50jw1pT/KzjdvlqxRja45Y52nR4MR9fD1JYd7f8NQ==", 1618 + "dev": true, 1619 + "hasInstallScript": true, 1620 + "license": "MIT", 1621 + "dependencies": { 1622 + "detect-libc": "^2.0.4", 1623 + "tar": "^7.4.3" 1624 + }, 1625 + "engines": { 1626 + "node": ">= 10" 1627 + }, 1628 + "optionalDependencies": { 1629 + "@tailwindcss/oxide-android-arm64": "4.1.7", 1630 + "@tailwindcss/oxide-darwin-arm64": "4.1.7", 1631 + "@tailwindcss/oxide-darwin-x64": "4.1.7", 1632 + "@tailwindcss/oxide-freebsd-x64": "4.1.7", 1633 + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.7", 1634 + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.7", 1635 + "@tailwindcss/oxide-linux-arm64-musl": "4.1.7", 1636 + "@tailwindcss/oxide-linux-x64-gnu": "4.1.7", 1637 + "@tailwindcss/oxide-linux-x64-musl": "4.1.7", 1638 + "@tailwindcss/oxide-wasm32-wasi": "4.1.7", 1639 + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.7", 1640 + "@tailwindcss/oxide-win32-x64-msvc": "4.1.7" 1641 + } 1642 + }, 1643 + "node_modules/@tailwindcss/oxide-android-arm64": { 1644 + "version": "4.1.7", 1645 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.7.tgz", 1646 + "integrity": "sha512-IWA410JZ8fF7kACus6BrUwY2Z1t1hm0+ZWNEzykKmMNM09wQooOcN/VXr0p/WJdtHZ90PvJf2AIBS/Ceqx1emg==", 1647 + "cpu": [ 1648 + "arm64" 1649 + ], 1650 + "dev": true, 1651 + "license": "MIT", 1652 + "optional": true, 1653 + "os": [ 1654 + "android" 1655 + ], 1656 + "engines": { 1657 + "node": ">= 10" 1658 + } 1659 + }, 1660 + "node_modules/@tailwindcss/oxide-darwin-arm64": { 1661 + "version": "4.1.7", 1662 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.7.tgz", 1663 + "integrity": "sha512-81jUw9To7fimGGkuJ2W5h3/oGonTOZKZ8C2ghm/TTxbwvfSiFSDPd6/A/KE2N7Jp4mv3Ps9OFqg2fEKgZFfsvg==", 1664 + "cpu": [ 1665 + "arm64" 1666 + ], 1667 + "dev": true, 1668 + "license": "MIT", 1669 + "optional": true, 1670 + "os": [ 1671 + "darwin" 1672 + ], 1673 + "engines": { 1674 + "node": ">= 10" 1675 + } 1676 + }, 1677 + "node_modules/@tailwindcss/oxide-darwin-x64": { 1678 + "version": "4.1.7", 1679 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.7.tgz", 1680 + "integrity": "sha512-q77rWjEyGHV4PdDBtrzO0tgBBPlQWKY7wZK0cUok/HaGgbNKecegNxCGikuPJn5wFAlIywC3v+WMBt0PEBtwGw==", 1681 + "cpu": [ 1682 + "x64" 1683 + ], 1684 + "dev": true, 1685 + "license": "MIT", 1686 + "optional": true, 1687 + "os": [ 1688 + "darwin" 1689 + ], 1690 + "engines": { 1691 + "node": ">= 10" 1692 + } 1693 + }, 1694 + "node_modules/@tailwindcss/oxide-freebsd-x64": { 1695 + "version": "4.1.7", 1696 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.7.tgz", 1697 + "integrity": "sha512-RfmdbbK6G6ptgF4qqbzoxmH+PKfP4KSVs7SRlTwcbRgBwezJkAO3Qta/7gDy10Q2DcUVkKxFLXUQO6J3CRvBGw==", 1698 + "cpu": [ 1699 + "x64" 1700 + ], 1701 + "dev": true, 1702 + "license": "MIT", 1703 + "optional": true, 1704 + "os": [ 1705 + "freebsd" 1706 + ], 1707 + "engines": { 1708 + "node": ">= 10" 1709 + } 1710 + }, 1711 + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { 1712 + "version": "4.1.7", 1713 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.7.tgz", 1714 + "integrity": "sha512-OZqsGvpwOa13lVd1z6JVwQXadEobmesxQ4AxhrwRiPuE04quvZHWn/LnihMg7/XkN+dTioXp/VMu/p6A5eZP3g==", 1715 + "cpu": [ 1716 + "arm" 1717 + ], 1718 + "dev": true, 1719 + "license": "MIT", 1720 + "optional": true, 1721 + "os": [ 1722 + "linux" 1723 + ], 1724 + "engines": { 1725 + "node": ">= 10" 1726 + } 1727 + }, 1728 + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { 1729 + "version": "4.1.7", 1730 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.7.tgz", 1731 + "integrity": "sha512-voMvBTnJSfKecJxGkoeAyW/2XRToLZ227LxswLAwKY7YslG/Xkw9/tJNH+3IVh5bdYzYE7DfiaPbRkSHFxY1xA==", 1732 + "cpu": [ 1733 + "arm64" 1734 + ], 1735 + "dev": true, 1736 + "license": "MIT", 1737 + "optional": true, 1738 + "os": [ 1739 + "linux" 1740 + ], 1741 + "engines": { 1742 + "node": ">= 10" 1743 + } 1744 + }, 1745 + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { 1746 + "version": "4.1.7", 1747 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.7.tgz", 1748 + "integrity": "sha512-PjGuNNmJeKHnP58M7XyjJyla8LPo+RmwHQpBI+W/OxqrwojyuCQ+GUtygu7jUqTEexejZHr/z3nBc/gTiXBj4A==", 1749 + "cpu": [ 1750 + "arm64" 1751 + ], 1752 + "dev": true, 1753 + "license": "MIT", 1754 + "optional": true, 1755 + "os": [ 1756 + "linux" 1757 + ], 1758 + "engines": { 1759 + "node": ">= 10" 1760 + } 1761 + }, 1762 + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { 1763 + "version": "4.1.7", 1764 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.7.tgz", 1765 + "integrity": "sha512-HMs+Va+ZR3gC3mLZE00gXxtBo3JoSQxtu9lobbZd+DmfkIxR54NO7Z+UQNPsa0P/ITn1TevtFxXTpsRU7qEvWg==", 1766 + "cpu": [ 1767 + "x64" 1768 + ], 1769 + "dev": true, 1770 + "license": "MIT", 1771 + "optional": true, 1772 + "os": [ 1773 + "linux" 1774 + ], 1775 + "engines": { 1776 + "node": ">= 10" 1777 + } 1778 + }, 1779 + "node_modules/@tailwindcss/oxide-linux-x64-musl": { 1780 + "version": "4.1.7", 1781 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.7.tgz", 1782 + "integrity": "sha512-MHZ6jyNlutdHH8rd+YTdr3QbXrHXqwIhHw9e7yXEBcQdluGwhpQY2Eku8UZK6ReLaWtQ4gijIv5QoM5eE+qlsA==", 1783 + "cpu": [ 1784 + "x64" 1785 + ], 1786 + "dev": true, 1787 + "license": "MIT", 1788 + "optional": true, 1789 + "os": [ 1790 + "linux" 1791 + ], 1792 + "engines": { 1793 + "node": ">= 10" 1794 + } 1795 + }, 1796 + "node_modules/@tailwindcss/oxide-wasm32-wasi": { 1797 + "version": "4.1.7", 1798 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.7.tgz", 1799 + "integrity": "sha512-ANaSKt74ZRzE2TvJmUcbFQ8zS201cIPxUDm5qez5rLEwWkie2SkGtA4P+GPTj+u8N6JbPrC8MtY8RmJA35Oo+A==", 1800 + "bundleDependencies": [ 1801 + "@napi-rs/wasm-runtime", 1802 + "@emnapi/core", 1803 + "@emnapi/runtime", 1804 + "@tybys/wasm-util", 1805 + "@emnapi/wasi-threads", 1806 + "tslib" 1807 + ], 1808 + "cpu": [ 1809 + "wasm32" 1810 + ], 1811 + "dev": true, 1812 + "license": "MIT", 1813 + "optional": true, 1814 + "dependencies": { 1815 + "@emnapi/core": "^1.4.3", 1816 + "@emnapi/runtime": "^1.4.3", 1817 + "@emnapi/wasi-threads": "^1.0.2", 1818 + "@napi-rs/wasm-runtime": "^0.2.9", 1819 + "@tybys/wasm-util": "^0.9.0", 1820 + "tslib": "^2.8.0" 1821 + }, 1822 + "engines": { 1823 + "node": ">=14.0.0" 1824 + } 1825 + }, 1826 + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { 1827 + "version": "4.1.7", 1828 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.7.tgz", 1829 + "integrity": "sha512-HUiSiXQ9gLJBAPCMVRk2RT1ZrBjto7WvqsPBwUrNK2BcdSxMnk19h4pjZjI7zgPhDxlAbJSumTC4ljeA9y0tEw==", 1830 + "cpu": [ 1831 + "arm64" 1832 + ], 1833 + "dev": true, 1834 + "license": "MIT", 1835 + "optional": true, 1836 + "os": [ 1837 + "win32" 1838 + ], 1839 + "engines": { 1840 + "node": ">= 10" 1841 + } 1842 + }, 1843 + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { 1844 + "version": "4.1.7", 1845 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.7.tgz", 1846 + "integrity": "sha512-rYHGmvoHiLJ8hWucSfSOEmdCBIGZIq7SpkPRSqLsH2Ab2YUNgKeAPT1Fi2cx3+hnYOrAb0jp9cRyode3bBW4mQ==", 1847 + "cpu": [ 1848 + "x64" 1849 + ], 1850 + "dev": true, 1851 + "license": "MIT", 1852 + "optional": true, 1853 + "os": [ 1854 + "win32" 1855 + ], 1856 + "engines": { 1857 + "node": ">= 10" 1858 + } 1859 + }, 1860 + "node_modules/@tailwindcss/typography": { 1861 + "version": "0.5.16", 1862 + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.16.tgz", 1863 + "integrity": "sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA==", 1864 + "dev": true, 1865 + "license": "MIT", 1866 + "dependencies": { 1867 + "lodash.castarray": "^4.4.0", 1868 + "lodash.isplainobject": "^4.0.6", 1869 + "lodash.merge": "^4.6.2", 1870 + "postcss-selector-parser": "6.0.10" 1871 + }, 1872 + "peerDependencies": { 1873 + "tailwindcss": ">=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1" 1874 + } 1875 + }, 1876 + "node_modules/@tailwindcss/vite": { 1877 + "version": "4.1.7", 1878 + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.7.tgz", 1879 + "integrity": "sha512-tYa2fO3zDe41I7WqijyVbRd8oWT0aEID1Eokz5hMT6wShLIHj3yvwj9XbfuloHP9glZ6H+aG2AN/+ZrxJ1Y5RQ==", 1880 + "dev": true, 1881 + "license": "MIT", 1882 + "dependencies": { 1883 + "@tailwindcss/node": "4.1.7", 1884 + "@tailwindcss/oxide": "4.1.7", 1885 + "tailwindcss": "4.1.7" 1886 + }, 1887 + "peerDependencies": { 1888 + "vite": "^5.2.0 || ^6" 1889 + } 1890 + }, 1891 + "node_modules/@texel/color": { 1892 + "version": "1.1.10", 1893 + "resolved": "https://registry.npmjs.org/@texel/color/-/color-1.1.10.tgz", 1894 + "integrity": "sha512-0du+jhP68nvdXGoS/dxAyqkmWWzsogtU3chygmNf/u4QtDIbG1e5OfcVIWfx29B5ANCLEDOPEQIvOhrvwhlORg==", 1895 + "license": "MIT" 1896 + }, 1897 + "node_modules/@tiptap/core": { 1898 + "version": "2.12.0", 1899 + "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.12.0.tgz", 1900 + "integrity": "sha512-3qX8oGVKFFZzQ0vit+ZolR6AJIATBzmEmjAA0llFhWk4vf3v64p1YcXcJsOBsr5scizJu5L6RYWEFatFwqckRg==", 1901 + "license": "MIT", 1902 + "funding": { 1903 + "type": "github", 1904 + "url": "https://github.com/sponsors/ueberdosis" 1905 + }, 1906 + "peerDependencies": { 1907 + "@tiptap/pm": "^2.7.0" 1908 + } 1909 + }, 1910 + "node_modules/@tiptap/extension-blockquote": { 1911 + "version": "2.12.0", 1912 + "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.12.0.tgz", 1913 + "integrity": "sha512-XUC2A77YAPMJS2SqZ2S62IGcUH8gZ7cdhoWlYQb1pR4ZzXFByeKDJPxfYeAePSiuI01YGrlzgY2c6Ncx/DtO0A==", 1914 + "license": "MIT", 1915 + "funding": { 1916 + "type": "github", 1917 + "url": "https://github.com/sponsors/ueberdosis" 1918 + }, 1919 + "peerDependencies": { 1920 + "@tiptap/core": "^2.7.0" 1921 + } 1922 + }, 1923 + "node_modules/@tiptap/extension-bold": { 1924 + "version": "2.12.0", 1925 + "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.12.0.tgz", 1926 + "integrity": "sha512-lAUtoLDLRc5ofD2I9MFY6MQ7d1qBLLqS1rvpwaPjOaoQb/GPVnaHj9qXYG0SY9K3erMtto48bMFpAcscjZHzZQ==", 1927 + "license": "MIT", 1928 + "funding": { 1929 + "type": "github", 1930 + "url": "https://github.com/sponsors/ueberdosis" 1931 + }, 1932 + "peerDependencies": { 1933 + "@tiptap/core": "^2.7.0" 1934 + } 1935 + }, 1936 + "node_modules/@tiptap/extension-bubble-menu": { 1937 + "version": "2.12.0", 1938 + "resolved": "https://registry.npmjs.org/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.12.0.tgz", 1939 + "integrity": "sha512-DYijoE0igV0Oi+ZppFsp2UrQsM/4HZtmmpD78BJM9zfCbd1YvAUIxmzmXr8uqU18OHd1uQy+/zvuNoUNYyw67g==", 1940 + "license": "MIT", 1941 + "peer": true, 1942 + "dependencies": { 1943 + "tippy.js": "^6.3.7" 1944 + }, 1945 + "funding": { 1946 + "type": "github", 1947 + "url": "https://github.com/sponsors/ueberdosis" 1948 + }, 1949 + "peerDependencies": { 1950 + "@tiptap/core": "^2.7.0", 1951 + "@tiptap/pm": "^2.7.0" 1952 + } 1953 + }, 1954 + "node_modules/@tiptap/extension-bullet-list": { 1955 + "version": "2.12.0", 1956 + "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.12.0.tgz", 1957 + "integrity": "sha512-YTCjztB8MaIpwyxFYr81H4+LdKCq1VlaSXQyrPdB44mVdhhRqc46BYQb8/B//XE3UIu3X2QWFjwrqRlUq6vUiw==", 1958 + "license": "MIT", 1959 + "funding": { 1960 + "type": "github", 1961 + "url": "https://github.com/sponsors/ueberdosis" 1962 + }, 1963 + "peerDependencies": { 1964 + "@tiptap/core": "^2.7.0" 1965 + } 1966 + }, 1967 + "node_modules/@tiptap/extension-code": { 1968 + "version": "2.12.0", 1969 + "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-2.12.0.tgz", 1970 + "integrity": "sha512-R7RaS+hJeHFim7alImQ9L9CSWSMjWXvz0Ote568x9ea5gdBGUYW8PcH+5a91lh8e1XGYWBM12a8oJZRyxg/tQA==", 1971 + "license": "MIT", 1972 + "funding": { 1973 + "type": "github", 1974 + "url": "https://github.com/sponsors/ueberdosis" 1975 + }, 1976 + "peerDependencies": { 1977 + "@tiptap/core": "^2.7.0" 1978 + } 1979 + }, 1980 + "node_modules/@tiptap/extension-code-block": { 1981 + "version": "2.12.0", 1982 + "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-2.12.0.tgz", 1983 + "integrity": "sha512-1D7cYAjgxEFHdfC/35Ooi4GqWKB5sszbW8iI7N16XILNln26xb0d5KflXqYrwr9CN/ZnZoCl2o6YsP7xEObcZA==", 1984 + "license": "MIT", 1985 + "funding": { 1986 + "type": "github", 1987 + "url": "https://github.com/sponsors/ueberdosis" 1988 + }, 1989 + "peerDependencies": { 1990 + "@tiptap/core": "^2.7.0", 1991 + "@tiptap/pm": "^2.7.0" 1992 + } 1993 + }, 1994 + "node_modules/@tiptap/extension-document": { 1995 + "version": "2.12.0", 1996 + "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.12.0.tgz", 1997 + "integrity": "sha512-sA1Q+mxDIv0Y3qQTBkYGwknNbDcGFiJ/fyAFholXpqbrcRx3GavwR/o0chBdsJZlFht0x7AWGwUYWvIo7wYilA==", 1998 + "license": "MIT", 1999 + "funding": { 2000 + "type": "github", 2001 + "url": "https://github.com/sponsors/ueberdosis" 2002 + }, 2003 + "peerDependencies": { 2004 + "@tiptap/core": "^2.7.0" 2005 + } 2006 + }, 2007 + "node_modules/@tiptap/extension-dropcursor": { 2008 + "version": "2.12.0", 2009 + "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.12.0.tgz", 2010 + "integrity": "sha512-zcZSOXFj+7LVnmdPWTfKr5AoxYIzFPFlLJe35AdTQC5IhkljLn1Exct8I30ZREojX/00hKYsO7JJmePS6TEVlQ==", 2011 + "license": "MIT", 2012 + "funding": { 2013 + "type": "github", 2014 + "url": "https://github.com/sponsors/ueberdosis" 2015 + }, 2016 + "peerDependencies": { 2017 + "@tiptap/core": "^2.7.0", 2018 + "@tiptap/pm": "^2.7.0" 2019 + } 2020 + }, 2021 + "node_modules/@tiptap/extension-floating-menu": { 2022 + "version": "2.12.0", 2023 + "resolved": "https://registry.npmjs.org/@tiptap/extension-floating-menu/-/extension-floating-menu-2.12.0.tgz", 2024 + "integrity": "sha512-BYpyZx/56KCDksWuJJbhki/uNgt9sACuSSZFH5AN1yS1ISD+EzIxqf6Pzzv8QCoNJ+KcRNVaZsOlOFaJGoyzag==", 2025 + "license": "MIT", 2026 + "peer": true, 2027 + "dependencies": { 2028 + "tippy.js": "^6.3.7" 2029 + }, 2030 + "funding": { 2031 + "type": "github", 2032 + "url": "https://github.com/sponsors/ueberdosis" 2033 + }, 2034 + "peerDependencies": { 2035 + "@tiptap/core": "^2.7.0", 2036 + "@tiptap/pm": "^2.7.0" 2037 + } 2038 + }, 2039 + "node_modules/@tiptap/extension-gapcursor": { 2040 + "version": "2.12.0", 2041 + "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.12.0.tgz", 2042 + "integrity": "sha512-k8ji5v9YKn7bNjo8UtI9hEfXfl4tKUp1hpJOEmUxGJQa3LIwrwSbReupUTnHszGQelzxikS/l1xO9P0TIGwRoA==", 2043 + "license": "MIT", 2044 + "funding": { 2045 + "type": "github", 2046 + "url": "https://github.com/sponsors/ueberdosis" 2047 + }, 2048 + "peerDependencies": { 2049 + "@tiptap/core": "^2.7.0", 2050 + "@tiptap/pm": "^2.7.0" 2051 + } 2052 + }, 2053 + "node_modules/@tiptap/extension-hard-break": { 2054 + "version": "2.12.0", 2055 + "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.12.0.tgz", 2056 + "integrity": "sha512-08MNS2PK5DzdnAfqXn4krmJ/xebKmWpRpYqqN5EM8AvetYKlAJyTVSpo0ZUeGbZ3EZiPm9djgSnrLqpFUDjRCg==", 2057 + "license": "MIT", 2058 + "funding": { 2059 + "type": "github", 2060 + "url": "https://github.com/sponsors/ueberdosis" 2061 + }, 2062 + "peerDependencies": { 2063 + "@tiptap/core": "^2.7.0" 2064 + } 2065 + }, 2066 + "node_modules/@tiptap/extension-heading": { 2067 + "version": "2.12.0", 2068 + "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.12.0.tgz", 2069 + "integrity": "sha512-9DfES4Wd5TX1foI70N9sAL+35NN1UHrtzDYN2+dTHupnmKir9RaMXyZcbkUb4aDVzYrGxIqxJzHBVkquKIlTrw==", 2070 + "license": "MIT", 2071 + "funding": { 2072 + "type": "github", 2073 + "url": "https://github.com/sponsors/ueberdosis" 2074 + }, 2075 + "peerDependencies": { 2076 + "@tiptap/core": "^2.7.0" 2077 + } 2078 + }, 2079 + "node_modules/@tiptap/extension-history": { 2080 + "version": "2.12.0", 2081 + "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.12.0.tgz", 2082 + "integrity": "sha512-+B9CAf2BFURC6mQiM1OQtahVTzdEOEgT/UUNlRZkeeBc0K5of3dr6UdBqaoaMAefja3jx5PqiQ7mhUBAjSt6AA==", 2083 + "license": "MIT", 2084 + "funding": { 2085 + "type": "github", 2086 + "url": "https://github.com/sponsors/ueberdosis" 2087 + }, 2088 + "peerDependencies": { 2089 + "@tiptap/core": "^2.7.0", 2090 + "@tiptap/pm": "^2.7.0" 2091 + } 2092 + }, 2093 + "node_modules/@tiptap/extension-horizontal-rule": { 2094 + "version": "2.12.0", 2095 + "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.12.0.tgz", 2096 + "integrity": "sha512-Vi2+6RIehDSpoJn/7PDuOieUj7W7WrEb4wBxK9TG8PDscihR0mehhhzm/K2xhH4TN48iPJGRsjDFrFjTbXmcnw==", 2097 + "license": "MIT", 2098 + "funding": { 2099 + "type": "github", 2100 + "url": "https://github.com/sponsors/ueberdosis" 2101 + }, 2102 + "peerDependencies": { 2103 + "@tiptap/core": "^2.7.0", 2104 + "@tiptap/pm": "^2.7.0" 2105 + } 2106 + }, 2107 + "node_modules/@tiptap/extension-image": { 2108 + "version": "2.12.0", 2109 + "resolved": "https://registry.npmjs.org/@tiptap/extension-image/-/extension-image-2.12.0.tgz", 2110 + "integrity": "sha512-wO+yrfMlnW3SYCb1Q1qAb+nt5WH6jnlQPTV6qdoIabRtW0puwMWULZDUgclPN5hxn8EXb9vBEu44egvH6hgkfQ==", 2111 + "license": "MIT", 2112 + "funding": { 2113 + "type": "github", 2114 + "url": "https://github.com/sponsors/ueberdosis" 2115 + }, 2116 + "peerDependencies": { 2117 + "@tiptap/core": "^2.7.0" 2118 + } 2119 + }, 2120 + "node_modules/@tiptap/extension-italic": { 2121 + "version": "2.12.0", 2122 + "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.12.0.tgz", 2123 + "integrity": "sha512-JKcXK3LmEsmxNzEq5e06rPUGMRLUxmJ2mYtBY4NlJ6yLM9XMDljtgeTnWT0ySLYmfINSFTkX4S7WIRbpl9l4pw==", 2124 + "license": "MIT", 2125 + "funding": { 2126 + "type": "github", 2127 + "url": "https://github.com/sponsors/ueberdosis" 2128 + }, 2129 + "peerDependencies": { 2130 + "@tiptap/core": "^2.7.0" 2131 + } 2132 + }, 2133 + "node_modules/@tiptap/extension-link": { 2134 + "version": "2.12.0", 2135 + "resolved": "https://registry.npmjs.org/@tiptap/extension-link/-/extension-link-2.12.0.tgz", 2136 + "integrity": "sha512-N6f78F2onvcL8FAwFOJexOF02UwGETLjQ7cCguhBe/w7vtx7aX8/f+IlaSGY/pIcWyEQpoC28ciM0+QsrJRr1A==", 2137 + "license": "MIT", 2138 + "dependencies": { 2139 + "linkifyjs": "^4.2.0" 2140 + }, 2141 + "funding": { 2142 + "type": "github", 2143 + "url": "https://github.com/sponsors/ueberdosis" 2144 + }, 2145 + "peerDependencies": { 2146 + "@tiptap/core": "^2.7.0", 2147 + "@tiptap/pm": "^2.7.0" 2148 + } 2149 + }, 2150 + "node_modules/@tiptap/extension-list-item": { 2151 + "version": "2.12.0", 2152 + "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.12.0.tgz", 2153 + "integrity": "sha512-4YwZooC8HP+gPxs6YrkB1ayggyYbgVvJx/rWBT6lKSW2MVVg8QXi1zAcSI3MhIhHmqDysXXFPL8JURlbeGjaFA==", 2154 + "license": "MIT", 2155 + "funding": { 2156 + "type": "github", 2157 + "url": "https://github.com/sponsors/ueberdosis" 2158 + }, 2159 + "peerDependencies": { 2160 + "@tiptap/core": "^2.7.0" 2161 + } 2162 + }, 2163 + "node_modules/@tiptap/extension-ordered-list": { 2164 + "version": "2.12.0", 2165 + "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.12.0.tgz", 2166 + "integrity": "sha512-1ys0e/oqk09oXxrB1WzAx5EntK/QreObG/V1yhgihGm429fxHMsxzIYN6dKAYxx0YOPQG7qEZRrrPuWU70Ms7g==", 2167 + "license": "MIT", 2168 + "funding": { 2169 + "type": "github", 2170 + "url": "https://github.com/sponsors/ueberdosis" 2171 + }, 2172 + "peerDependencies": { 2173 + "@tiptap/core": "^2.7.0" 2174 + } 2175 + }, 2176 + "node_modules/@tiptap/extension-paragraph": { 2177 + "version": "2.12.0", 2178 + "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.12.0.tgz", 2179 + "integrity": "sha512-QNK5cgewCunWFxpLlbvvoO1rrLgEtNKxiY79fctP9toV+e59R+1i1Q9lXC1O5mOfDgVxCb6uFDMsqmKhFjpPog==", 2180 + "license": "MIT", 2181 + "funding": { 2182 + "type": "github", 2183 + "url": "https://github.com/sponsors/ueberdosis" 2184 + }, 2185 + "peerDependencies": { 2186 + "@tiptap/core": "^2.7.0" 2187 + } 2188 + }, 2189 + "node_modules/@tiptap/extension-placeholder": { 2190 + "version": "2.12.0", 2191 + "resolved": "https://registry.npmjs.org/@tiptap/extension-placeholder/-/extension-placeholder-2.12.0.tgz", 2192 + "integrity": "sha512-K7irDox4P+NLAMjVrJeG72f0sulsCRYpx1Cy4gxKCdi1LTivj5VkXa6MXmi42KTCwBu3pWajBctYIOAES1FTAA==", 2193 + "license": "MIT", 2194 + "funding": { 2195 + "type": "github", 2196 + "url": "https://github.com/sponsors/ueberdosis" 2197 + }, 2198 + "peerDependencies": { 2199 + "@tiptap/core": "^2.7.0", 2200 + "@tiptap/pm": "^2.7.0" 2201 + } 2202 + }, 2203 + "node_modules/@tiptap/extension-strike": { 2204 + "version": "2.12.0", 2205 + "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.12.0.tgz", 2206 + "integrity": "sha512-nBaa5YtBsLJPZFfSs36sBz4Zgi/c8b3MsmS/Az8uXaHb0R9yPewOVUMDIQbxMct8SXUlIo9VtKlOL+mVJ3Nkpw==", 2207 + "license": "MIT", 2208 + "funding": { 2209 + "type": "github", 2210 + "url": "https://github.com/sponsors/ueberdosis" 2211 + }, 2212 + "peerDependencies": { 2213 + "@tiptap/core": "^2.7.0" 2214 + } 2215 + }, 2216 + "node_modules/@tiptap/extension-text": { 2217 + "version": "2.12.0", 2218 + "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.12.0.tgz", 2219 + "integrity": "sha512-0ytN9V1tZYTXdiYDQg4FB2SQ56JAJC9r/65snefb9ztl+gZzDrIvih7CflHs1ic9PgyjexfMLeH+VzuMccNyZw==", 2220 + "license": "MIT", 2221 + "funding": { 2222 + "type": "github", 2223 + "url": "https://github.com/sponsors/ueberdosis" 2224 + }, 2225 + "peerDependencies": { 2226 + "@tiptap/core": "^2.7.0" 2227 + } 2228 + }, 2229 + "node_modules/@tiptap/extension-text-style": { 2230 + "version": "2.12.0", 2231 + "resolved": "https://registry.npmjs.org/@tiptap/extension-text-style/-/extension-text-style-2.12.0.tgz", 2232 + "integrity": "sha512-Pxwt23ZlvbQUahV0PvHy8Ej6IAuKR1FvHobUvwP3T8AiY7hob66fWRe7tQbESzSAzm5Vv2xkvyHeU8vekMTezA==", 2233 + "license": "MIT", 2234 + "funding": { 2235 + "type": "github", 2236 + "url": "https://github.com/sponsors/ueberdosis" 2237 + }, 2238 + "peerDependencies": { 2239 + "@tiptap/core": "^2.7.0" 2240 + } 2241 + }, 2242 + "node_modules/@tiptap/extension-typography": { 2243 + "version": "2.12.0", 2244 + "resolved": "https://registry.npmjs.org/@tiptap/extension-typography/-/extension-typography-2.12.0.tgz", 2245 + "integrity": "sha512-Sh95D8ON3KcGR/6wQ1B2PwVQNQXSHItQFodDAEgT9c6CCPzrz0omLWJvG7lx7NzMoZ7cvPE/BBoEujsDIT1XRA==", 2246 + "license": "MIT", 2247 + "funding": { 2248 + "type": "github", 2249 + "url": "https://github.com/sponsors/ueberdosis" 2250 + }, 2251 + "peerDependencies": { 2252 + "@tiptap/core": "^2.7.0" 2253 + } 2254 + }, 2255 + "node_modules/@tiptap/extension-underline": { 2256 + "version": "2.12.0", 2257 + "resolved": "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-2.12.0.tgz", 2258 + "integrity": "sha512-u95lrUCesw1SN3BXY4xrgfSuxtoCYmJ9uaU7IVVOu0zVsDFtLlOa82kd63KVF+URL0kMdO+FBmvdS6d8Era70Q==", 2259 + "license": "MIT", 2260 + "funding": { 2261 + "type": "github", 2262 + "url": "https://github.com/sponsors/ueberdosis" 2263 + }, 2264 + "peerDependencies": { 2265 + "@tiptap/core": "^2.7.0" 2266 + } 2267 + }, 2268 + "node_modules/@tiptap/pm": { 2269 + "version": "2.12.0", 2270 + "resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-2.12.0.tgz", 2271 + "integrity": "sha512-TNzVwpeNzFfHAcYTOKqX9iU4fRxliyoZrCnERR+RRzeg7gWrXrCLubQt1WEx0sojMAfznshSL3M5HGsYjEbYwA==", 2272 + "license": "MIT", 2273 + "dependencies": { 2274 + "prosemirror-changeset": "^2.3.0", 2275 + "prosemirror-collab": "^1.3.1", 2276 + "prosemirror-commands": "^1.6.2", 2277 + "prosemirror-dropcursor": "^1.8.1", 2278 + "prosemirror-gapcursor": "^1.3.2", 2279 + "prosemirror-history": "^1.4.1", 2280 + "prosemirror-inputrules": "^1.4.0", 2281 + "prosemirror-keymap": "^1.2.2", 2282 + "prosemirror-markdown": "^1.13.1", 2283 + "prosemirror-menu": "^1.2.4", 2284 + "prosemirror-model": "^1.23.0", 2285 + "prosemirror-schema-basic": "^1.2.3", 2286 + "prosemirror-schema-list": "^1.4.1", 2287 + "prosemirror-state": "^1.4.3", 2288 + "prosemirror-tables": "^1.6.4", 2289 + "prosemirror-trailing-node": "^3.0.0", 2290 + "prosemirror-transform": "^1.10.2", 2291 + "prosemirror-view": "^1.37.0" 2292 + }, 2293 + "funding": { 2294 + "type": "github", 2295 + "url": "https://github.com/sponsors/ueberdosis" 2296 + } 2297 + }, 2298 + "node_modules/@tiptap/starter-kit": { 2299 + "version": "2.12.0", 2300 + "resolved": "https://registry.npmjs.org/@tiptap/starter-kit/-/starter-kit-2.12.0.tgz", 2301 + "integrity": "sha512-wlcEEtexd6u0gbR311/OFZnbtRWU97DUsY6/GsSQzN4rqZ7Ra6YbfHEN5Lutu+I/anomK8vKy8k9NyvfY5Hllg==", 2302 + "license": "MIT", 2303 + "dependencies": { 2304 + "@tiptap/core": "^2.12.0", 2305 + "@tiptap/extension-blockquote": "^2.12.0", 2306 + "@tiptap/extension-bold": "^2.12.0", 2307 + "@tiptap/extension-bullet-list": "^2.12.0", 2308 + "@tiptap/extension-code": "^2.12.0", 2309 + "@tiptap/extension-code-block": "^2.12.0", 2310 + "@tiptap/extension-document": "^2.12.0", 2311 + "@tiptap/extension-dropcursor": "^2.12.0", 2312 + "@tiptap/extension-gapcursor": "^2.12.0", 2313 + "@tiptap/extension-hard-break": "^2.12.0", 2314 + "@tiptap/extension-heading": "^2.12.0", 2315 + "@tiptap/extension-history": "^2.12.0", 2316 + "@tiptap/extension-horizontal-rule": "^2.12.0", 2317 + "@tiptap/extension-italic": "^2.12.0", 2318 + "@tiptap/extension-list-item": "^2.12.0", 2319 + "@tiptap/extension-ordered-list": "^2.12.0", 2320 + "@tiptap/extension-paragraph": "^2.12.0", 2321 + "@tiptap/extension-strike": "^2.12.0", 2322 + "@tiptap/extension-text": "^2.12.0", 2323 + "@tiptap/extension-text-style": "^2.12.0", 2324 + "@tiptap/pm": "^2.12.0" 2325 + }, 2326 + "funding": { 2327 + "type": "github", 2328 + "url": "https://github.com/sponsors/ueberdosis" 2329 + } 2330 + }, 2331 + "node_modules/@types/cookie": { 2332 + "version": "0.6.0", 2333 + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", 2334 + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", 2335 + "license": "MIT" 2336 + }, 2337 + "node_modules/@types/estree": { 2338 + "version": "1.0.7", 2339 + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", 2340 + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", 2341 + "license": "MIT" 2342 + }, 2343 + "node_modules/@types/image-blob-reduce": { 2344 + "version": "4.1.4", 2345 + "resolved": "https://registry.npmjs.org/@types/image-blob-reduce/-/image-blob-reduce-4.1.4.tgz", 2346 + "integrity": "sha512-IMG+KVL7iy/g05zaJQFqc+Y0l+SlBVVW3GVKLM+ZkBtENoJSZ5nqIgtSZcs04QJvF+ticYJn9n3ZG427wg7Yhg==", 2347 + "license": "MIT", 2348 + "dependencies": { 2349 + "@types/pica": "*" 2350 + } 2351 + }, 2352 + "node_modules/@types/json-schema": { 2353 + "version": "7.0.15", 2354 + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", 2355 + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", 2356 + "dev": true, 2357 + "license": "MIT" 2358 + }, 2359 + "node_modules/@types/linkify-it": { 2360 + "version": "5.0.0", 2361 + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", 2362 + "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", 2363 + "license": "MIT" 2364 + }, 2365 + "node_modules/@types/markdown-it": { 2366 + "version": "14.1.2", 2367 + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz", 2368 + "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==", 2369 + "license": "MIT", 2370 + "dependencies": { 2371 + "@types/linkify-it": "^5", 2372 + "@types/mdurl": "^2" 2373 + } 2374 + }, 2375 + "node_modules/@types/mdurl": { 2376 + "version": "2.0.0", 2377 + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", 2378 + "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", 2379 + "license": "MIT" 2380 + }, 2381 + "node_modules/@types/orderedmap": { 2382 + "version": "1.0.0", 2383 + "resolved": "https://registry.npmjs.org/@types/orderedmap/-/orderedmap-1.0.0.tgz", 2384 + "integrity": "sha512-dxKo80TqYx3YtBipHwA/SdFmMMyLCnP+5mkEqN0eMjcTBzHkiiX0ES118DsjDBjvD+zeSsSU9jULTZ+frog+Gw==", 2385 + "license": "MIT" 2386 + }, 2387 + "node_modules/@types/pica": { 2388 + "version": "9.0.5", 2389 + "resolved": "https://registry.npmjs.org/@types/pica/-/pica-9.0.5.tgz", 2390 + "integrity": "sha512-OSd4905yxFNtRanHuyyQAfC9AkxiYcbhlzP606Gl6rFcYRgq4vdLCZuYKokLQBihgrkNzyPkoeykvJDWcPjaCw==", 2391 + "license": "MIT" 2392 + }, 2393 + "node_modules/@types/prosemirror-model": { 2394 + "version": "1.16.2", 2395 + "resolved": "https://registry.npmjs.org/@types/prosemirror-model/-/prosemirror-model-1.16.2.tgz", 2396 + "integrity": "sha512-1XPJopkKP3oHSBP61uuSuW13DIDZPWvAzP6Pv2/6mixk8EBPUeRGIW548DjJTicMo23gEg1zvCZy9asblQdWag==", 2397 + "license": "MIT", 2398 + "dependencies": { 2399 + "@types/orderedmap": "*" 2400 + } 2401 + }, 2402 + "node_modules/@types/prosemirror-schema-basic": { 2403 + "version": "1.0.2", 2404 + "resolved": "https://registry.npmjs.org/@types/prosemirror-schema-basic/-/prosemirror-schema-basic-1.0.2.tgz", 2405 + "integrity": "sha512-dzT/6t+dq8/On1be0yarcOIu8wROjhK8QB5wslpLbtTIr5wb0iQv/esJm/KAHcD/PBXR9nSV4TL5AtQmBrcRnw==", 2406 + "license": "MIT", 2407 + "dependencies": { 2408 + "@types/prosemirror-model": "*" 2409 + } 2410 + }, 2411 + "node_modules/@types/prosemirror-schema-list": { 2412 + "version": "1.0.3", 2413 + "resolved": "https://registry.npmjs.org/@types/prosemirror-schema-list/-/prosemirror-schema-list-1.0.3.tgz", 2414 + "integrity": "sha512-uWybOf+M2Ea7rlbs0yLsS4YJYNGXYtn4N+w8HCw3Vvfl6wBAROzlMt0gV/D/VW/7J/LlAjwMezuGe8xi24HzXA==", 2415 + "license": "MIT", 2416 + "dependencies": { 2417 + "@types/orderedmap": "*", 2418 + "@types/prosemirror-model": "*", 2419 + "@types/prosemirror-state": "*" 2420 + } 2421 + }, 2422 + "node_modules/@types/prosemirror-state": { 2423 + "version": "1.3.0", 2424 + "resolved": "https://registry.npmjs.org/@types/prosemirror-state/-/prosemirror-state-1.3.0.tgz", 2425 + "integrity": "sha512-nMdUF6w8B++NH4V54X+4GvDty7M02UfuHQW0s1AS25Z4ZrOW4RSY2+s57doXBbeMSjzYV/QoMxCY2sT3KQ2VdQ==", 2426 + "license": "MIT", 2427 + "dependencies": { 2428 + "@types/prosemirror-model": "*", 2429 + "@types/prosemirror-transform": "*", 2430 + "@types/prosemirror-view": "*" 2431 + } 2432 + }, 2433 + "node_modules/@types/prosemirror-transform": { 2434 + "version": "1.4.2", 2435 + "resolved": "https://registry.npmjs.org/@types/prosemirror-transform/-/prosemirror-transform-1.4.2.tgz", 2436 + "integrity": "sha512-FZNzjYm6YUkb1XXOrw2193TiFzwM92ui1nycNaRSd5JDbugf9yBLkXm4Rq3HGJJxBBkRcUE8niqUW5aWlXQQiQ==", 2437 + "license": "MIT", 2438 + "dependencies": { 2439 + "@types/prosemirror-model": "*" 2440 + } 2441 + }, 2442 + "node_modules/@types/prosemirror-view": { 2443 + "version": "1.23.3", 2444 + "resolved": "https://registry.npmjs.org/@types/prosemirror-view/-/prosemirror-view-1.23.3.tgz", 2445 + "integrity": "sha512-T5dPDmZiXAazJVSvnx55D6h4mcpiH2q2wTyO9zIeOdox5zx964+zcDl9dFNaXG3qCGlERwMPckhBZL1HCxyygw==", 2446 + "license": "MIT", 2447 + "dependencies": { 2448 + "@types/prosemirror-model": "*", 2449 + "@types/prosemirror-state": "*", 2450 + "@types/prosemirror-transform": "*" 2451 + } 2452 + }, 2453 + "node_modules/@typescript-eslint/eslint-plugin": { 2454 + "version": "8.32.1", 2455 + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.32.1.tgz", 2456 + "integrity": "sha512-6u6Plg9nP/J1GRpe/vcjjabo6Uc5YQPAMxsgQyGC/I0RuukiG1wIe3+Vtg3IrSCVJDmqK3j8adrtzXSENRtFgg==", 2457 + "dev": true, 2458 + "license": "MIT", 2459 + "dependencies": { 2460 + "@eslint-community/regexpp": "^4.10.0", 2461 + "@typescript-eslint/scope-manager": "8.32.1", 2462 + "@typescript-eslint/type-utils": "8.32.1", 2463 + "@typescript-eslint/utils": "8.32.1", 2464 + "@typescript-eslint/visitor-keys": "8.32.1", 2465 + "graphemer": "^1.4.0", 2466 + "ignore": "^7.0.0", 2467 + "natural-compare": "^1.4.0", 2468 + "ts-api-utils": "^2.1.0" 2469 + }, 2470 + "engines": { 2471 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2472 + }, 2473 + "funding": { 2474 + "type": "opencollective", 2475 + "url": "https://opencollective.com/typescript-eslint" 2476 + }, 2477 + "peerDependencies": { 2478 + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", 2479 + "eslint": "^8.57.0 || ^9.0.0", 2480 + "typescript": ">=4.8.4 <5.9.0" 2481 + } 2482 + }, 2483 + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { 2484 + "version": "7.0.4", 2485 + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.4.tgz", 2486 + "integrity": "sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==", 2487 + "dev": true, 2488 + "license": "MIT", 2489 + "engines": { 2490 + "node": ">= 4" 2491 + } 2492 + }, 2493 + "node_modules/@typescript-eslint/parser": { 2494 + "version": "8.32.1", 2495 + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.32.1.tgz", 2496 + "integrity": "sha512-LKMrmwCPoLhM45Z00O1ulb6jwyVr2kr3XJp+G+tSEZcbauNnScewcQwtJqXDhXeYPDEjZ8C1SjXm015CirEmGg==", 2497 + "dev": true, 2498 + "license": "MIT", 2499 + "dependencies": { 2500 + "@typescript-eslint/scope-manager": "8.32.1", 2501 + "@typescript-eslint/types": "8.32.1", 2502 + "@typescript-eslint/typescript-estree": "8.32.1", 2503 + "@typescript-eslint/visitor-keys": "8.32.1", 2504 + "debug": "^4.3.4" 2505 + }, 2506 + "engines": { 2507 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2508 + }, 2509 + "funding": { 2510 + "type": "opencollective", 2511 + "url": "https://opencollective.com/typescript-eslint" 2512 + }, 2513 + "peerDependencies": { 2514 + "eslint": "^8.57.0 || ^9.0.0", 2515 + "typescript": ">=4.8.4 <5.9.0" 2516 + } 2517 + }, 2518 + "node_modules/@typescript-eslint/scope-manager": { 2519 + "version": "8.32.1", 2520 + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.32.1.tgz", 2521 + "integrity": "sha512-7IsIaIDeZn7kffk7qXC3o6Z4UblZJKV3UBpkvRNpr5NSyLji7tvTcvmnMNYuYLyh26mN8W723xpo3i4MlD33vA==", 2522 + "dev": true, 2523 + "license": "MIT", 2524 + "dependencies": { 2525 + "@typescript-eslint/types": "8.32.1", 2526 + "@typescript-eslint/visitor-keys": "8.32.1" 2527 + }, 2528 + "engines": { 2529 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2530 + }, 2531 + "funding": { 2532 + "type": "opencollective", 2533 + "url": "https://opencollective.com/typescript-eslint" 2534 + } 2535 + }, 2536 + "node_modules/@typescript-eslint/type-utils": { 2537 + "version": "8.32.1", 2538 + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.32.1.tgz", 2539 + "integrity": "sha512-mv9YpQGA8iIsl5KyUPi+FGLm7+bA4fgXaeRcFKRDRwDMu4iwrSHeDPipwueNXhdIIZltwCJv+NkxftECbIZWfA==", 2540 + "dev": true, 2541 + "license": "MIT", 2542 + "dependencies": { 2543 + "@typescript-eslint/typescript-estree": "8.32.1", 2544 + "@typescript-eslint/utils": "8.32.1", 2545 + "debug": "^4.3.4", 2546 + "ts-api-utils": "^2.1.0" 2547 + }, 2548 + "engines": { 2549 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2550 + }, 2551 + "funding": { 2552 + "type": "opencollective", 2553 + "url": "https://opencollective.com/typescript-eslint" 2554 + }, 2555 + "peerDependencies": { 2556 + "eslint": "^8.57.0 || ^9.0.0", 2557 + "typescript": ">=4.8.4 <5.9.0" 2558 + } 2559 + }, 2560 + "node_modules/@typescript-eslint/types": { 2561 + "version": "8.32.1", 2562 + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.32.1.tgz", 2563 + "integrity": "sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg==", 2564 + "dev": true, 2565 + "license": "MIT", 2566 + "engines": { 2567 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2568 + }, 2569 + "funding": { 2570 + "type": "opencollective", 2571 + "url": "https://opencollective.com/typescript-eslint" 2572 + } 2573 + }, 2574 + "node_modules/@typescript-eslint/typescript-estree": { 2575 + "version": "8.32.1", 2576 + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.32.1.tgz", 2577 + "integrity": "sha512-Y3AP9EIfYwBb4kWGb+simvPaqQoT5oJuzzj9m0i6FCY6SPvlomY2Ei4UEMm7+FXtlNJbor80ximyslzaQF6xhg==", 2578 + "dev": true, 2579 + "license": "MIT", 2580 + "dependencies": { 2581 + "@typescript-eslint/types": "8.32.1", 2582 + "@typescript-eslint/visitor-keys": "8.32.1", 2583 + "debug": "^4.3.4", 2584 + "fast-glob": "^3.3.2", 2585 + "is-glob": "^4.0.3", 2586 + "minimatch": "^9.0.4", 2587 + "semver": "^7.6.0", 2588 + "ts-api-utils": "^2.1.0" 2589 + }, 2590 + "engines": { 2591 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2592 + }, 2593 + "funding": { 2594 + "type": "opencollective", 2595 + "url": "https://opencollective.com/typescript-eslint" 2596 + }, 2597 + "peerDependencies": { 2598 + "typescript": ">=4.8.4 <5.9.0" 2599 + } 2600 + }, 2601 + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { 2602 + "version": "2.0.1", 2603 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 2604 + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 2605 + "dev": true, 2606 + "license": "MIT", 2607 + "dependencies": { 2608 + "balanced-match": "^1.0.0" 2609 + } 2610 + }, 2611 + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { 2612 + "version": "9.0.5", 2613 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 2614 + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 2615 + "dev": true, 2616 + "license": "ISC", 2617 + "dependencies": { 2618 + "brace-expansion": "^2.0.1" 2619 + }, 2620 + "engines": { 2621 + "node": ">=16 || 14 >=14.17" 2622 + }, 2623 + "funding": { 2624 + "url": "https://github.com/sponsors/isaacs" 2625 + } 2626 + }, 2627 + "node_modules/@typescript-eslint/utils": { 2628 + "version": "8.32.1", 2629 + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.32.1.tgz", 2630 + "integrity": "sha512-DsSFNIgLSrc89gpq1LJB7Hm1YpuhK086DRDJSNrewcGvYloWW1vZLHBTIvarKZDcAORIy/uWNx8Gad+4oMpkSA==", 2631 + "dev": true, 2632 + "license": "MIT", 2633 + "dependencies": { 2634 + "@eslint-community/eslint-utils": "^4.7.0", 2635 + "@typescript-eslint/scope-manager": "8.32.1", 2636 + "@typescript-eslint/types": "8.32.1", 2637 + "@typescript-eslint/typescript-estree": "8.32.1" 2638 + }, 2639 + "engines": { 2640 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2641 + }, 2642 + "funding": { 2643 + "type": "opencollective", 2644 + "url": "https://opencollective.com/typescript-eslint" 2645 + }, 2646 + "peerDependencies": { 2647 + "eslint": "^8.57.0 || ^9.0.0", 2648 + "typescript": ">=4.8.4 <5.9.0" 2649 + } 2650 + }, 2651 + "node_modules/@typescript-eslint/visitor-keys": { 2652 + "version": "8.32.1", 2653 + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.32.1.tgz", 2654 + "integrity": "sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w==", 2655 + "dev": true, 2656 + "license": "MIT", 2657 + "dependencies": { 2658 + "@typescript-eslint/types": "8.32.1", 2659 + "eslint-visitor-keys": "^4.2.0" 2660 + }, 2661 + "engines": { 2662 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2663 + }, 2664 + "funding": { 2665 + "type": "opencollective", 2666 + "url": "https://opencollective.com/typescript-eslint" 2667 + } 2668 + }, 2669 + "node_modules/@use-gesture/core": { 2670 + "version": "10.3.1", 2671 + "resolved": "https://registry.npmjs.org/@use-gesture/core/-/core-10.3.1.tgz", 2672 + "integrity": "sha512-WcINiDt8WjqBdUXye25anHiNxPc0VOrlT8F6LLkU6cycrOGUDyY/yyFmsg3k8i5OLvv25llc0QC45GhR/C8llw==", 2673 + "license": "MIT" 2674 + }, 2675 + "node_modules/@use-gesture/vanilla": { 2676 + "version": "10.3.1", 2677 + "resolved": "https://registry.npmjs.org/@use-gesture/vanilla/-/vanilla-10.3.1.tgz", 2678 + "integrity": "sha512-lT4scGLu59ovA3zmtUonukAGcA0AdOOh+iwNDS05Bsu7Lq9aZToDHhI6D8Q2qvsVraovtsLLYwPrWdG/noMAKw==", 2679 + "license": "MIT", 2680 + "dependencies": { 2681 + "@use-gesture/core": "10.3.1" 2682 + } 2683 + }, 2684 + "node_modules/@vercel/nft": { 2685 + "version": "0.29.3", 2686 + "resolved": "https://registry.npmjs.org/@vercel/nft/-/nft-0.29.3.tgz", 2687 + "integrity": "sha512-aVV0E6vJpuvImiMwU1/5QKkw2N96BRFE7mBYGS7FhXUoS6V7SarQ+8tuj33o7ofECz8JtHpmQ9JW+oVzOoB7MA==", 2688 + "license": "MIT", 2689 + "dependencies": { 2690 + "@mapbox/node-pre-gyp": "^2.0.0", 2691 + "@rollup/pluginutils": "^5.1.3", 2692 + "acorn": "^8.6.0", 2693 + "acorn-import-attributes": "^1.9.5", 2694 + "async-sema": "^3.1.1", 2695 + "bindings": "^1.4.0", 2696 + "estree-walker": "2.0.2", 2697 + "glob": "^10.4.5", 2698 + "graceful-fs": "^4.2.9", 2699 + "node-gyp-build": "^4.2.2", 2700 + "picomatch": "^4.0.2", 2701 + "resolve-from": "^5.0.0" 2702 + }, 2703 + "bin": { 2704 + "nft": "out/cli.js" 2705 + }, 2706 + "engines": { 2707 + "node": ">=18" 2708 + } 2709 + }, 2710 + "node_modules/@vercel/nft/node_modules/resolve-from": { 2711 + "version": "5.0.0", 2712 + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", 2713 + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", 2714 + "license": "MIT", 2715 + "engines": { 2716 + "node": ">=8" 2717 + } 2718 + }, 2719 + "node_modules/abbrev": { 2720 + "version": "3.0.1", 2721 + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz", 2722 + "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==", 2723 + "license": "ISC", 2724 + "engines": { 2725 + "node": "^18.17.0 || >=20.5.0" 2726 + } 2727 + }, 2728 + "node_modules/acorn": { 2729 + "version": "8.14.1", 2730 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", 2731 + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", 2732 + "license": "MIT", 2733 + "bin": { 2734 + "acorn": "bin/acorn" 2735 + }, 2736 + "engines": { 2737 + "node": ">=0.4.0" 2738 + } 2739 + }, 2740 + "node_modules/acorn-import-attributes": { 2741 + "version": "1.9.5", 2742 + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", 2743 + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", 2744 + "license": "MIT", 2745 + "peerDependencies": { 2746 + "acorn": "^8" 2747 + } 2748 + }, 2749 + "node_modules/acorn-jsx": { 2750 + "version": "5.3.2", 2751 + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 2752 + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 2753 + "dev": true, 2754 + "license": "MIT", 2755 + "peerDependencies": { 2756 + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" 2757 + } 2758 + }, 2759 + "node_modules/agent-base": { 2760 + "version": "7.1.3", 2761 + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", 2762 + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", 2763 + "license": "MIT", 2764 + "engines": { 2765 + "node": ">= 14" 2766 + } 2767 + }, 2768 + "node_modules/ajv": { 2769 + "version": "6.12.6", 2770 + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 2771 + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 2772 + "dev": true, 2773 + "license": "MIT", 2774 + "dependencies": { 2775 + "fast-deep-equal": "^3.1.1", 2776 + "fast-json-stable-stringify": "^2.0.0", 2777 + "json-schema-traverse": "^0.4.1", 2778 + "uri-js": "^4.2.2" 2779 + }, 2780 + "funding": { 2781 + "type": "github", 2782 + "url": "https://github.com/sponsors/epoberezkin" 2783 + } 2784 + }, 2785 + "node_modules/ansi-regex": { 2786 + "version": "6.1.0", 2787 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", 2788 + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", 2789 + "license": "MIT", 2790 + "engines": { 2791 + "node": ">=12" 2792 + }, 2793 + "funding": { 2794 + "url": "https://github.com/chalk/ansi-regex?sponsor=1" 2795 + } 2796 + }, 2797 + "node_modules/ansi-styles": { 2798 + "version": "4.3.0", 2799 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 2800 + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 2801 + "license": "MIT", 2802 + "dependencies": { 2803 + "color-convert": "^2.0.1" 2804 + }, 2805 + "engines": { 2806 + "node": ">=8" 2807 + }, 2808 + "funding": { 2809 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 2810 + } 2811 + }, 2812 + "node_modules/argparse": { 2813 + "version": "2.0.1", 2814 + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 2815 + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 2816 + "license": "Python-2.0" 2817 + }, 2818 + "node_modules/aria-query": { 2819 + "version": "5.3.2", 2820 + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", 2821 + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", 2822 + "license": "Apache-2.0", 2823 + "engines": { 2824 + "node": ">= 0.4" 2825 + } 2826 + }, 2827 + "node_modules/async-sema": { 2828 + "version": "3.1.1", 2829 + "resolved": "https://registry.npmjs.org/async-sema/-/async-sema-3.1.1.tgz", 2830 + "integrity": "sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==", 2831 + "license": "MIT" 2832 + }, 2833 + "node_modules/await-lock": { 2834 + "version": "2.2.2", 2835 + "resolved": "https://registry.npmjs.org/await-lock/-/await-lock-2.2.2.tgz", 2836 + "integrity": "sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==", 2837 + "license": "MIT" 2838 + }, 2839 + "node_modules/axobject-query": { 2840 + "version": "4.1.0", 2841 + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", 2842 + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", 2843 + "license": "Apache-2.0", 2844 + "engines": { 2845 + "node": ">= 0.4" 2846 + } 2847 + }, 2848 + "node_modules/balanced-match": { 2849 + "version": "1.0.2", 2850 + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 2851 + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 2852 + "license": "MIT" 2853 + }, 2854 + "node_modules/bindings": { 2855 + "version": "1.5.0", 2856 + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", 2857 + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", 2858 + "license": "MIT", 2859 + "dependencies": { 2860 + "file-uri-to-path": "1.0.0" 2861 + } 2862 + }, 2863 + "node_modules/bits-ui": { 2864 + "version": "1.5.2", 2865 + "resolved": "https://registry.npmjs.org/bits-ui/-/bits-ui-1.5.2.tgz", 2866 + "integrity": "sha512-6Dbx9BENvvEz7RDRsQn5C6pAO/75g40F4SMv6sNQXPhi0OyAe0ZMxRDGv+uqqr8ylJVkjkciSCrx062UniqyRg==", 2867 + "license": "MIT", 2868 + "dependencies": { 2869 + "@floating-ui/core": "^1.6.4", 2870 + "@floating-ui/dom": "^1.6.7", 2871 + "@internationalized/date": "^3.5.6", 2872 + "esm-env": "^1.1.2", 2873 + "runed": "^0.23.2", 2874 + "svelte-toolbelt": "^0.7.1", 2875 + "tabbable": "^6.2.0" 2876 + }, 2877 + "engines": { 2878 + "node": ">=18", 2879 + "pnpm": ">=8.7.0" 2880 + }, 2881 + "funding": { 2882 + "url": "https://github.com/sponsors/huntabyte" 2883 + }, 2884 + "peerDependencies": { 2885 + "svelte": "^5.11.0" 2886 + } 2887 + }, 2888 + "node_modules/brace-expansion": { 2889 + "version": "1.1.11", 2890 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 2891 + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 2892 + "dev": true, 2893 + "license": "MIT", 2894 + "dependencies": { 2895 + "balanced-match": "^1.0.0", 2896 + "concat-map": "0.0.1" 2897 + } 2898 + }, 2899 + "node_modules/braces": { 2900 + "version": "3.0.3", 2901 + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 2902 + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 2903 + "dev": true, 2904 + "license": "MIT", 2905 + "dependencies": { 2906 + "fill-range": "^7.1.1" 2907 + }, 2908 + "engines": { 2909 + "node": ">=8" 2910 + } 2911 + }, 2912 + "node_modules/callsites": { 2913 + "version": "3.1.0", 2914 + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 2915 + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 2916 + "dev": true, 2917 + "license": "MIT", 2918 + "engines": { 2919 + "node": ">=6" 2920 + } 2921 + }, 2922 + "node_modules/chalk": { 2923 + "version": "4.1.2", 2924 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 2925 + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 2926 + "dev": true, 2927 + "license": "MIT", 2928 + "dependencies": { 2929 + "ansi-styles": "^4.1.0", 2930 + "supports-color": "^7.1.0" 2931 + }, 2932 + "engines": { 2933 + "node": ">=10" 2934 + }, 2935 + "funding": { 2936 + "url": "https://github.com/chalk/chalk?sponsor=1" 2937 + } 2938 + }, 2939 + "node_modules/chokidar": { 2940 + "version": "4.0.3", 2941 + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", 2942 + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", 2943 + "dev": true, 2944 + "license": "MIT", 2945 + "dependencies": { 2946 + "readdirp": "^4.0.1" 2947 + }, 2948 + "engines": { 2949 + "node": ">= 14.16.0" 2950 + }, 2951 + "funding": { 2952 + "url": "https://paulmillr.com/funding/" 2953 + } 2954 + }, 2955 + "node_modules/chownr": { 2956 + "version": "3.0.0", 2957 + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", 2958 + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", 2959 + "license": "BlueOak-1.0.0", 2960 + "engines": { 2961 + "node": ">=18" 2962 + } 2963 + }, 2964 + "node_modules/clsx": { 2965 + "version": "2.1.1", 2966 + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", 2967 + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", 2968 + "license": "MIT", 2969 + "engines": { 2970 + "node": ">=6" 2971 + } 2972 + }, 2973 + "node_modules/cojson": { 2974 + "version": "0.14.0", 2975 + "resolved": "https://registry.npmjs.org/cojson/-/cojson-0.14.0.tgz", 2976 + "integrity": "sha512-1IXOwcU2aXixVgKiVKiCJcEbY+3tE8svKvG1HxwhlmS3+GNoIQXgkcOsdokRteCdTgNv+RBgd9Ug/5LcFVyHzw==", 2977 + "license": "MIT", 2978 + "dependencies": { 2979 + "@noble/ciphers": "^1.3.0", 2980 + "@noble/curves": "^1.9.1", 2981 + "@noble/hashes": "^1.8.0", 2982 + "@opentelemetry/api": "^1.9.0", 2983 + "@scure/base": "1.2.1", 2984 + "jazz-crypto-rs": "0.0.7", 2985 + "neverthrow": "^7.0.1", 2986 + "queueueue": "^4.1.2", 2987 + "unicode-segmenter": "^0.12.0" 2988 + } 2989 + }, 2990 + "node_modules/cojson-storage": { 2991 + "version": "0.14.1", 2992 + "resolved": "https://registry.npmjs.org/cojson-storage/-/cojson-storage-0.14.1.tgz", 2993 + "integrity": "sha512-65VQpJpON5wl6XivkJLtMxW5MRv2+NFCbqxuJDNkP98F4UTTvQoVWzDkgMqOkDwizPS9UNbSnZ/N7i42Cw+cmA==", 2994 + "license": "MIT", 2995 + "dependencies": { 2996 + "cojson": "0.14.1" 2997 + } 2998 + }, 2999 + "node_modules/cojson-storage-indexeddb": { 3000 + "version": "0.14.1", 3001 + "resolved": "https://registry.npmjs.org/cojson-storage-indexeddb/-/cojson-storage-indexeddb-0.14.1.tgz", 3002 + "integrity": "sha512-yCX72QWaAII0Hb4BBq+mF2pUUfUCjy/C8c6e8Zk2Vz3G1O4dC1hV2o+WZokVpBXhddClPvEHzUaSpeIQMTNB0w==", 3003 + "license": "MIT", 3004 + "dependencies": { 3005 + "cojson": "0.14.1", 3006 + "cojson-storage": "0.14.1" 3007 + } 3008 + }, 3009 + "node_modules/cojson-storage-indexeddb/node_modules/cojson": { 3010 + "version": "0.14.1", 3011 + "resolved": "https://registry.npmjs.org/cojson/-/cojson-0.14.1.tgz", 3012 + "integrity": "sha512-U3VhymNJqx56mt61UZT6ey6dDp53Qjq2390//ARBg5FW9qpebg03AqvWQjAZoadmO4QVgfLXAzkZzc5NoEFUMg==", 3013 + "license": "MIT", 3014 + "dependencies": { 3015 + "@noble/ciphers": "^1.3.0", 3016 + "@noble/curves": "^1.9.1", 3017 + "@noble/hashes": "^1.8.0", 3018 + "@opentelemetry/api": "^1.9.0", 3019 + "@scure/base": "1.2.1", 3020 + "jazz-crypto-rs": "0.0.7", 3021 + "neverthrow": "^7.0.1", 3022 + "queueueue": "^4.1.2", 3023 + "unicode-segmenter": "^0.12.0" 3024 + } 3025 + }, 3026 + "node_modules/cojson-storage/node_modules/cojson": { 3027 + "version": "0.14.1", 3028 + "resolved": "https://registry.npmjs.org/cojson/-/cojson-0.14.1.tgz", 3029 + "integrity": "sha512-U3VhymNJqx56mt61UZT6ey6dDp53Qjq2390//ARBg5FW9qpebg03AqvWQjAZoadmO4QVgfLXAzkZzc5NoEFUMg==", 3030 + "license": "MIT", 3031 + "dependencies": { 3032 + "@noble/ciphers": "^1.3.0", 3033 + "@noble/curves": "^1.9.1", 3034 + "@noble/hashes": "^1.8.0", 3035 + "@opentelemetry/api": "^1.9.0", 3036 + "@scure/base": "1.2.1", 3037 + "jazz-crypto-rs": "0.0.7", 3038 + "neverthrow": "^7.0.1", 3039 + "queueueue": "^4.1.2", 3040 + "unicode-segmenter": "^0.12.0" 3041 + } 3042 + }, 3043 + "node_modules/cojson-transport-ws": { 3044 + "version": "0.14.1", 3045 + "resolved": "https://registry.npmjs.org/cojson-transport-ws/-/cojson-transport-ws-0.14.1.tgz", 3046 + "integrity": "sha512-GpCBm5oqn0AHbIW/OX/bqVzlcJcAPOunk2mt1JK/u2BcSzebeu0luU1AG54k/0GUxX/ZbrgmdqeOxPi6QWXZbw==", 3047 + "license": "MIT", 3048 + "dependencies": { 3049 + "cojson": "0.14.1" 3050 + } 3051 + }, 3052 + "node_modules/cojson-transport-ws/node_modules/cojson": { 3053 + "version": "0.14.1", 3054 + "resolved": "https://registry.npmjs.org/cojson/-/cojson-0.14.1.tgz", 3055 + "integrity": "sha512-U3VhymNJqx56mt61UZT6ey6dDp53Qjq2390//ARBg5FW9qpebg03AqvWQjAZoadmO4QVgfLXAzkZzc5NoEFUMg==", 3056 + "license": "MIT", 3057 + "dependencies": { 3058 + "@noble/ciphers": "^1.3.0", 3059 + "@noble/curves": "^1.9.1", 3060 + "@noble/hashes": "^1.8.0", 3061 + "@opentelemetry/api": "^1.9.0", 3062 + "@scure/base": "1.2.1", 3063 + "jazz-crypto-rs": "0.0.7", 3064 + "neverthrow": "^7.0.1", 3065 + "queueueue": "^4.1.2", 3066 + "unicode-segmenter": "^0.12.0" 3067 + } 3068 + }, 3069 + "node_modules/color-convert": { 3070 + "version": "2.0.1", 3071 + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 3072 + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 3073 + "license": "MIT", 3074 + "dependencies": { 3075 + "color-name": "~1.1.4" 3076 + }, 3077 + "engines": { 3078 + "node": ">=7.0.0" 3079 + } 3080 + }, 3081 + "node_modules/color-name": { 3082 + "version": "1.1.4", 3083 + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 3084 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 3085 + "license": "MIT" 3086 + }, 3087 + "node_modules/concat-map": { 3088 + "version": "0.0.1", 3089 + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 3090 + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 3091 + "dev": true, 3092 + "license": "MIT" 3093 + }, 3094 + "node_modules/consola": { 3095 + "version": "3.4.2", 3096 + "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz", 3097 + "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", 3098 + "license": "MIT", 3099 + "engines": { 3100 + "node": "^14.18.0 || >=16.10.0" 3101 + } 3102 + }, 3103 + "node_modules/cookie": { 3104 + "version": "0.6.0", 3105 + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", 3106 + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", 3107 + "license": "MIT", 3108 + "engines": { 3109 + "node": ">= 0.6" 3110 + } 3111 + }, 3112 + "node_modules/core-js": { 3113 + "version": "3.42.0", 3114 + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.42.0.tgz", 3115 + "integrity": "sha512-Sz4PP4ZA+Rq4II21qkNqOEDTDrCvcANId3xpIgB34NDkWc3UduWj2dqEtN9yZIq8Dk3HyPI33x9sqqU5C8sr0g==", 3116 + "hasInstallScript": true, 3117 + "license": "MIT", 3118 + "funding": { 3119 + "type": "opencollective", 3120 + "url": "https://opencollective.com/core-js" 3121 + } 3122 + }, 3123 + "node_modules/crelt": { 3124 + "version": "1.0.6", 3125 + "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz", 3126 + "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==", 3127 + "license": "MIT" 3128 + }, 3129 + "node_modules/cross-spawn": { 3130 + "version": "7.0.6", 3131 + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", 3132 + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", 3133 + "license": "MIT", 3134 + "dependencies": { 3135 + "path-key": "^3.1.0", 3136 + "shebang-command": "^2.0.0", 3137 + "which": "^2.0.1" 3138 + }, 3139 + "engines": { 3140 + "node": ">= 8" 3141 + } 3142 + }, 3143 + "node_modules/cssesc": { 3144 + "version": "3.0.0", 3145 + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 3146 + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 3147 + "dev": true, 3148 + "license": "MIT", 3149 + "bin": { 3150 + "cssesc": "bin/cssesc" 3151 + }, 3152 + "engines": { 3153 + "node": ">=4" 3154 + } 3155 + }, 3156 + "node_modules/csstype": { 3157 + "version": "3.1.3", 3158 + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", 3159 + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", 3160 + "license": "MIT", 3161 + "peer": true 3162 + }, 3163 + "node_modules/custom-event-polyfill": { 3164 + "version": "1.0.7", 3165 + "resolved": "https://registry.npmjs.org/custom-event-polyfill/-/custom-event-polyfill-1.0.7.tgz", 3166 + "integrity": "sha512-TDDkd5DkaZxZFM8p+1I3yAlvM3rSr1wbrOliG4yJiwinMZN8z/iGL7BTlDkrJcYTmgUSb4ywVCc3ZaUtOtC76w==", 3167 + "license": "MIT" 3168 + }, 3169 + "node_modules/debug": { 3170 + "version": "4.4.1", 3171 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", 3172 + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", 3173 + "license": "MIT", 3174 + "dependencies": { 3175 + "ms": "^2.1.3" 3176 + }, 3177 + "engines": { 3178 + "node": ">=6.0" 3179 + }, 3180 + "peerDependenciesMeta": { 3181 + "supports-color": { 3182 + "optional": true 3183 + } 3184 + } 3185 + }, 3186 + "node_modules/deep-is": { 3187 + "version": "0.1.4", 3188 + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 3189 + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 3190 + "dev": true, 3191 + "license": "MIT" 3192 + }, 3193 + "node_modules/deepmerge": { 3194 + "version": "4.3.1", 3195 + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", 3196 + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", 3197 + "license": "MIT", 3198 + "engines": { 3199 + "node": ">=0.10.0" 3200 + } 3201 + }, 3202 + "node_modules/detect-libc": { 3203 + "version": "2.0.4", 3204 + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", 3205 + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", 3206 + "license": "Apache-2.0", 3207 + "engines": { 3208 + "node": ">=8" 3209 + } 3210 + }, 3211 + "node_modules/devalue": { 3212 + "version": "5.1.1", 3213 + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.1.1.tgz", 3214 + "integrity": "sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==", 3215 + "license": "MIT" 3216 + }, 3217 + "node_modules/diff": { 3218 + "version": "3.5.0", 3219 + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", 3220 + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", 3221 + "license": "BSD-3-Clause", 3222 + "engines": { 3223 + "node": ">=0.3.1" 3224 + } 3225 + }, 3226 + "node_modules/eastasianwidth": { 3227 + "version": "0.2.0", 3228 + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", 3229 + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", 3230 + "license": "MIT" 3231 + }, 3232 + "node_modules/emoji-picker-element": { 3233 + "version": "1.26.3", 3234 + "resolved": "https://registry.npmjs.org/emoji-picker-element/-/emoji-picker-element-1.26.3.tgz", 3235 + "integrity": "sha512-fOMG44d/3OqTe1pPqlu5H4ZtWg7gK4Le6Bt24JTKtDyce5+EO3Mo8WA95cKHbPSsSsg7ehM12M1x3Y6U6fgvTQ==", 3236 + "license": "Apache-2.0" 3237 + }, 3238 + "node_modules/emoji-regex": { 3239 + "version": "9.2.2", 3240 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 3241 + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", 3242 + "license": "MIT" 3243 + }, 3244 + "node_modules/enhanced-resolve": { 3245 + "version": "5.18.1", 3246 + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", 3247 + "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", 3248 + "dev": true, 3249 + "license": "MIT", 3250 + "dependencies": { 3251 + "graceful-fs": "^4.2.4", 3252 + "tapable": "^2.2.0" 3253 + }, 3254 + "engines": { 3255 + "node": ">=10.13.0" 3256 + } 3257 + }, 3258 + "node_modules/entities": { 3259 + "version": "4.5.0", 3260 + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", 3261 + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", 3262 + "license": "BSD-2-Clause", 3263 + "engines": { 3264 + "node": ">=0.12" 3265 + }, 3266 + "funding": { 3267 + "url": "https://github.com/fb55/entities?sponsor=1" 3268 + } 3269 + }, 3270 + "node_modules/esbuild": { 3271 + "version": "0.25.4", 3272 + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", 3273 + "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==", 3274 + "hasInstallScript": true, 3275 + "license": "MIT", 3276 + "bin": { 3277 + "esbuild": "bin/esbuild" 3278 + }, 3279 + "engines": { 3280 + "node": ">=18" 3281 + }, 3282 + "optionalDependencies": { 3283 + "@esbuild/aix-ppc64": "0.25.4", 3284 + "@esbuild/android-arm": "0.25.4", 3285 + "@esbuild/android-arm64": "0.25.4", 3286 + "@esbuild/android-x64": "0.25.4", 3287 + "@esbuild/darwin-arm64": "0.25.4", 3288 + "@esbuild/darwin-x64": "0.25.4", 3289 + "@esbuild/freebsd-arm64": "0.25.4", 3290 + "@esbuild/freebsd-x64": "0.25.4", 3291 + "@esbuild/linux-arm": "0.25.4", 3292 + "@esbuild/linux-arm64": "0.25.4", 3293 + "@esbuild/linux-ia32": "0.25.4", 3294 + "@esbuild/linux-loong64": "0.25.4", 3295 + "@esbuild/linux-mips64el": "0.25.4", 3296 + "@esbuild/linux-ppc64": "0.25.4", 3297 + "@esbuild/linux-riscv64": "0.25.4", 3298 + "@esbuild/linux-s390x": "0.25.4", 3299 + "@esbuild/linux-x64": "0.25.4", 3300 + "@esbuild/netbsd-arm64": "0.25.4", 3301 + "@esbuild/netbsd-x64": "0.25.4", 3302 + "@esbuild/openbsd-arm64": "0.25.4", 3303 + "@esbuild/openbsd-x64": "0.25.4", 3304 + "@esbuild/sunos-x64": "0.25.4", 3305 + "@esbuild/win32-arm64": "0.25.4", 3306 + "@esbuild/win32-ia32": "0.25.4", 3307 + "@esbuild/win32-x64": "0.25.4" 3308 + } 3309 + }, 3310 + "node_modules/escape-string-regexp": { 3311 + "version": "4.0.0", 3312 + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 3313 + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 3314 + "license": "MIT", 3315 + "engines": { 3316 + "node": ">=10" 3317 + }, 3318 + "funding": { 3319 + "url": "https://github.com/sponsors/sindresorhus" 3320 + } 3321 + }, 3322 + "node_modules/eslint": { 3323 + "version": "9.27.0", 3324 + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.27.0.tgz", 3325 + "integrity": "sha512-ixRawFQuMB9DZ7fjU3iGGganFDp3+45bPOdaRurcFHSXO1e/sYwUX/FtQZpLZJR6SjMoJH8hR2pPEAfDyCoU2Q==", 3326 + "dev": true, 3327 + "license": "MIT", 3328 + "dependencies": { 3329 + "@eslint-community/eslint-utils": "^4.2.0", 3330 + "@eslint-community/regexpp": "^4.12.1", 3331 + "@eslint/config-array": "^0.20.0", 3332 + "@eslint/config-helpers": "^0.2.1", 3333 + "@eslint/core": "^0.14.0", 3334 + "@eslint/eslintrc": "^3.3.1", 3335 + "@eslint/js": "9.27.0", 3336 + "@eslint/plugin-kit": "^0.3.1", 3337 + "@humanfs/node": "^0.16.6", 3338 + "@humanwhocodes/module-importer": "^1.0.1", 3339 + "@humanwhocodes/retry": "^0.4.2", 3340 + "@types/estree": "^1.0.6", 3341 + "@types/json-schema": "^7.0.15", 3342 + "ajv": "^6.12.4", 3343 + "chalk": "^4.0.0", 3344 + "cross-spawn": "^7.0.6", 3345 + "debug": "^4.3.2", 3346 + "escape-string-regexp": "^4.0.0", 3347 + "eslint-scope": "^8.3.0", 3348 + "eslint-visitor-keys": "^4.2.0", 3349 + "espree": "^10.3.0", 3350 + "esquery": "^1.5.0", 3351 + "esutils": "^2.0.2", 3352 + "fast-deep-equal": "^3.1.3", 3353 + "file-entry-cache": "^8.0.0", 3354 + "find-up": "^5.0.0", 3355 + "glob-parent": "^6.0.2", 3356 + "ignore": "^5.2.0", 3357 + "imurmurhash": "^0.1.4", 3358 + "is-glob": "^4.0.0", 3359 + "json-stable-stringify-without-jsonify": "^1.0.1", 3360 + "lodash.merge": "^4.6.2", 3361 + "minimatch": "^3.1.2", 3362 + "natural-compare": "^1.4.0", 3363 + "optionator": "^0.9.3" 3364 + }, 3365 + "bin": { 3366 + "eslint": "bin/eslint.js" 3367 + }, 3368 + "engines": { 3369 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 3370 + }, 3371 + "funding": { 3372 + "url": "https://eslint.org/donate" 3373 + }, 3374 + "peerDependencies": { 3375 + "jiti": "*" 3376 + }, 3377 + "peerDependenciesMeta": { 3378 + "jiti": { 3379 + "optional": true 3380 + } 3381 + } 3382 + }, 3383 + "node_modules/eslint-config-prettier": { 3384 + "version": "10.1.5", 3385 + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.5.tgz", 3386 + "integrity": "sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==", 3387 + "dev": true, 3388 + "license": "MIT", 3389 + "bin": { 3390 + "eslint-config-prettier": "bin/cli.js" 3391 + }, 3392 + "funding": { 3393 + "url": "https://opencollective.com/eslint-config-prettier" 3394 + }, 3395 + "peerDependencies": { 3396 + "eslint": ">=7.0.0" 3397 + } 3398 + }, 3399 + "node_modules/eslint-plugin-svelte": { 3400 + "version": "3.8.1", 3401 + "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.8.1.tgz", 3402 + "integrity": "sha512-w6NQifz1xBIFcs4XMLYT36xukgN1xgzoPGk1nJLC1UeZ8O4CUCCSZx1tgwq3yRNkMSXMUqbMJjslFweWsDlAoA==", 3403 + "dev": true, 3404 + "license": "MIT", 3405 + "dependencies": { 3406 + "@eslint-community/eslint-utils": "^4.6.1", 3407 + "@jridgewell/sourcemap-codec": "^1.5.0", 3408 + "esutils": "^2.0.3", 3409 + "globals": "^16.0.0", 3410 + "known-css-properties": "^0.36.0", 3411 + "postcss": "^8.4.49", 3412 + "postcss-load-config": "^3.1.4", 3413 + "postcss-safe-parser": "^7.0.0", 3414 + "semver": "^7.6.3", 3415 + "svelte-eslint-parser": "^1.2.0" 3416 + }, 3417 + "engines": { 3418 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 3419 + }, 3420 + "funding": { 3421 + "url": "https://github.com/sponsors/ota-meshi" 3422 + }, 3423 + "peerDependencies": { 3424 + "eslint": "^8.57.1 || ^9.0.0", 3425 + "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0" 3426 + }, 3427 + "peerDependenciesMeta": { 3428 + "svelte": { 3429 + "optional": true 3430 + } 3431 + } 3432 + }, 3433 + "node_modules/eslint-scope": { 3434 + "version": "8.3.0", 3435 + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", 3436 + "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", 3437 + "dev": true, 3438 + "license": "BSD-2-Clause", 3439 + "dependencies": { 3440 + "esrecurse": "^4.3.0", 3441 + "estraverse": "^5.2.0" 3442 + }, 3443 + "engines": { 3444 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 3445 + }, 3446 + "funding": { 3447 + "url": "https://opencollective.com/eslint" 3448 + } 3449 + }, 3450 + "node_modules/eslint-visitor-keys": { 3451 + "version": "4.2.0", 3452 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", 3453 + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", 3454 + "dev": true, 3455 + "license": "Apache-2.0", 3456 + "engines": { 3457 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 3458 + }, 3459 + "funding": { 3460 + "url": "https://opencollective.com/eslint" 3461 + } 3462 + }, 3463 + "node_modules/esm-env": { 3464 + "version": "1.2.2", 3465 + "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz", 3466 + "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==", 3467 + "license": "MIT" 3468 + }, 3469 + "node_modules/espree": { 3470 + "version": "10.3.0", 3471 + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", 3472 + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", 3473 + "dev": true, 3474 + "license": "BSD-2-Clause", 3475 + "dependencies": { 3476 + "acorn": "^8.14.0", 3477 + "acorn-jsx": "^5.3.2", 3478 + "eslint-visitor-keys": "^4.2.0" 3479 + }, 3480 + "engines": { 3481 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 3482 + }, 3483 + "funding": { 3484 + "url": "https://opencollective.com/eslint" 3485 + } 3486 + }, 3487 + "node_modules/esquery": { 3488 + "version": "1.6.0", 3489 + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", 3490 + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", 3491 + "dev": true, 3492 + "license": "BSD-3-Clause", 3493 + "dependencies": { 3494 + "estraverse": "^5.1.0" 3495 + }, 3496 + "engines": { 3497 + "node": ">=0.10" 3498 + } 3499 + }, 3500 + "node_modules/esrap": { 3501 + "version": "1.4.6", 3502 + "resolved": "https://registry.npmjs.org/esrap/-/esrap-1.4.6.tgz", 3503 + "integrity": "sha512-F/D2mADJ9SHY3IwksD4DAXjTt7qt7GWUf3/8RhCNWmC/67tyb55dpimHmy7EplakFaflV0R/PC+fdSPqrRHAQw==", 3504 + "license": "MIT", 3505 + "dependencies": { 3506 + "@jridgewell/sourcemap-codec": "^1.4.15" 3507 + } 3508 + }, 3509 + "node_modules/esrecurse": { 3510 + "version": "4.3.0", 3511 + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 3512 + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 3513 + "dev": true, 3514 + "license": "BSD-2-Clause", 3515 + "dependencies": { 3516 + "estraverse": "^5.2.0" 3517 + }, 3518 + "engines": { 3519 + "node": ">=4.0" 3520 + } 3521 + }, 3522 + "node_modules/estraverse": { 3523 + "version": "5.3.0", 3524 + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 3525 + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 3526 + "dev": true, 3527 + "license": "BSD-2-Clause", 3528 + "engines": { 3529 + "node": ">=4.0" 3530 + } 3531 + }, 3532 + "node_modules/estree-walker": { 3533 + "version": "2.0.2", 3534 + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 3535 + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", 3536 + "license": "MIT" 3537 + }, 3538 + "node_modules/esutils": { 3539 + "version": "2.0.3", 3540 + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 3541 + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 3542 + "dev": true, 3543 + "license": "BSD-2-Clause", 3544 + "engines": { 3545 + "node": ">=0.10.0" 3546 + } 3547 + }, 3548 + "node_modules/fast-deep-equal": { 3549 + "version": "3.1.3", 3550 + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 3551 + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 3552 + "dev": true, 3553 + "license": "MIT" 3554 + }, 3555 + "node_modules/fast-glob": { 3556 + "version": "3.3.3", 3557 + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", 3558 + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", 3559 + "dev": true, 3560 + "license": "MIT", 3561 + "dependencies": { 3562 + "@nodelib/fs.stat": "^2.0.2", 3563 + "@nodelib/fs.walk": "^1.2.3", 3564 + "glob-parent": "^5.1.2", 3565 + "merge2": "^1.3.0", 3566 + "micromatch": "^4.0.8" 3567 + }, 3568 + "engines": { 3569 + "node": ">=8.6.0" 3570 + } 3571 + }, 3572 + "node_modules/fast-glob/node_modules/glob-parent": { 3573 + "version": "5.1.2", 3574 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 3575 + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 3576 + "dev": true, 3577 + "license": "ISC", 3578 + "dependencies": { 3579 + "is-glob": "^4.0.1" 3580 + }, 3581 + "engines": { 3582 + "node": ">= 6" 3583 + } 3584 + }, 3585 + "node_modules/fast-json-stable-stringify": { 3586 + "version": "2.1.0", 3587 + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 3588 + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 3589 + "dev": true, 3590 + "license": "MIT" 3591 + }, 3592 + "node_modules/fast-levenshtein": { 3593 + "version": "2.0.6", 3594 + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 3595 + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 3596 + "dev": true, 3597 + "license": "MIT" 3598 + }, 3599 + "node_modules/fast-list": { 3600 + "version": "1.0.3", 3601 + "resolved": "https://registry.npmjs.org/fast-list/-/fast-list-1.0.3.tgz", 3602 + "integrity": "sha512-Lm56Ci3EqefHNdIneRFuzhpPcpVVBz9fgqVmG3UQIxAefJv1mEYsZ1WQLTWqmdqeGEwbI2t6fbZgp9TqTYARuA==", 3603 + "license": "ISC" 3604 + }, 3605 + "node_modules/fast-myers-diff": { 3606 + "version": "3.2.0", 3607 + "resolved": "https://registry.npmjs.org/fast-myers-diff/-/fast-myers-diff-3.2.0.tgz", 3608 + "integrity": "sha512-DxNm4a3gnV35AluvqjeAV3Zx3CAySs0tsaDjnex5JhnJAa2rxEUVCwmaL2gpz42ea1B+IJorlo7XLThXUaTQog==", 3609 + "license": "MIT" 3610 + }, 3611 + "node_modules/fastq": { 3612 + "version": "1.19.1", 3613 + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", 3614 + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", 3615 + "dev": true, 3616 + "license": "ISC", 3617 + "dependencies": { 3618 + "reusify": "^1.0.4" 3619 + } 3620 + }, 3621 + "node_modules/fdir": { 3622 + "version": "6.4.4", 3623 + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", 3624 + "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", 3625 + "license": "MIT", 3626 + "peerDependencies": { 3627 + "picomatch": "^3 || ^4" 3628 + }, 3629 + "peerDependenciesMeta": { 3630 + "picomatch": { 3631 + "optional": true 3632 + } 3633 + } 3634 + }, 3635 + "node_modules/file-entry-cache": { 3636 + "version": "8.0.0", 3637 + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", 3638 + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", 3639 + "dev": true, 3640 + "license": "MIT", 3641 + "dependencies": { 3642 + "flat-cache": "^4.0.0" 3643 + }, 3644 + "engines": { 3645 + "node": ">=16.0.0" 3646 + } 3647 + }, 3648 + "node_modules/file-uri-to-path": { 3649 + "version": "1.0.0", 3650 + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", 3651 + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", 3652 + "license": "MIT" 3653 + }, 3654 + "node_modules/fill-range": { 3655 + "version": "7.1.1", 3656 + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 3657 + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 3658 + "dev": true, 3659 + "license": "MIT", 3660 + "dependencies": { 3661 + "to-regex-range": "^5.0.1" 3662 + }, 3663 + "engines": { 3664 + "node": ">=8" 3665 + } 3666 + }, 3667 + "node_modules/find-up": { 3668 + "version": "5.0.0", 3669 + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", 3670 + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", 3671 + "dev": true, 3672 + "license": "MIT", 3673 + "dependencies": { 3674 + "locate-path": "^6.0.0", 3675 + "path-exists": "^4.0.0" 3676 + }, 3677 + "engines": { 3678 + "node": ">=10" 3679 + }, 3680 + "funding": { 3681 + "url": "https://github.com/sponsors/sindresorhus" 3682 + } 3683 + }, 3684 + "node_modules/flat-cache": { 3685 + "version": "4.0.1", 3686 + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", 3687 + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", 3688 + "dev": true, 3689 + "license": "MIT", 3690 + "dependencies": { 3691 + "flatted": "^3.2.9", 3692 + "keyv": "^4.5.4" 3693 + }, 3694 + "engines": { 3695 + "node": ">=16" 3696 + } 3697 + }, 3698 + "node_modules/flatted": { 3699 + "version": "3.3.3", 3700 + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", 3701 + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", 3702 + "dev": true, 3703 + "license": "ISC" 3704 + }, 3705 + "node_modules/foreground-child": { 3706 + "version": "3.3.1", 3707 + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", 3708 + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", 3709 + "license": "ISC", 3710 + "dependencies": { 3711 + "cross-spawn": "^7.0.6", 3712 + "signal-exit": "^4.0.1" 3713 + }, 3714 + "engines": { 3715 + "node": ">=14" 3716 + }, 3717 + "funding": { 3718 + "url": "https://github.com/sponsors/isaacs" 3719 + } 3720 + }, 3721 + "node_modules/fsevents": { 3722 + "version": "2.3.3", 3723 + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 3724 + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 3725 + "hasInstallScript": true, 3726 + "license": "MIT", 3727 + "optional": true, 3728 + "os": [ 3729 + "darwin" 3730 + ], 3731 + "engines": { 3732 + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 3733 + } 3734 + }, 3735 + "node_modules/glob": { 3736 + "version": "10.4.5", 3737 + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", 3738 + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", 3739 + "license": "ISC", 3740 + "dependencies": { 3741 + "foreground-child": "^3.1.0", 3742 + "jackspeak": "^3.1.2", 3743 + "minimatch": "^9.0.4", 3744 + "minipass": "^7.1.2", 3745 + "package-json-from-dist": "^1.0.0", 3746 + "path-scurry": "^1.11.1" 3747 + }, 3748 + "bin": { 3749 + "glob": "dist/esm/bin.mjs" 3750 + }, 3751 + "funding": { 3752 + "url": "https://github.com/sponsors/isaacs" 3753 + } 3754 + }, 3755 + "node_modules/glob-parent": { 3756 + "version": "6.0.2", 3757 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 3758 + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 3759 + "dev": true, 3760 + "license": "ISC", 3761 + "dependencies": { 3762 + "is-glob": "^4.0.3" 3763 + }, 3764 + "engines": { 3765 + "node": ">=10.13.0" 3766 + } 3767 + }, 3768 + "node_modules/glob/node_modules/brace-expansion": { 3769 + "version": "2.0.1", 3770 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 3771 + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 3772 + "license": "MIT", 3773 + "dependencies": { 3774 + "balanced-match": "^1.0.0" 3775 + } 3776 + }, 3777 + "node_modules/glob/node_modules/minimatch": { 3778 + "version": "9.0.5", 3779 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 3780 + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 3781 + "license": "ISC", 3782 + "dependencies": { 3783 + "brace-expansion": "^2.0.1" 3784 + }, 3785 + "engines": { 3786 + "node": ">=16 || 14 >=14.17" 3787 + }, 3788 + "funding": { 3789 + "url": "https://github.com/sponsors/isaacs" 3790 + } 3791 + }, 3792 + "node_modules/globals": { 3793 + "version": "16.1.0", 3794 + "resolved": "https://registry.npmjs.org/globals/-/globals-16.1.0.tgz", 3795 + "integrity": "sha512-aibexHNbb/jiUSObBgpHLj+sIuUmJnYcgXBlrfsiDZ9rt4aF2TFRbyLgZ2iFQuVZ1K5Mx3FVkbKRSgKrbK3K2g==", 3796 + "dev": true, 3797 + "license": "MIT", 3798 + "engines": { 3799 + "node": ">=18" 3800 + }, 3801 + "funding": { 3802 + "url": "https://github.com/sponsors/sindresorhus" 3803 + } 3804 + }, 3805 + "node_modules/glur": { 3806 + "version": "1.1.2", 3807 + "resolved": "https://registry.npmjs.org/glur/-/glur-1.1.2.tgz", 3808 + "integrity": "sha512-l+8esYHTKOx2G/Aao4lEQ0bnHWg4fWtJbVoZZT9Knxi01pB8C80BR85nONLFwkkQoFRCmXY+BUcGZN3yZ2QsRA==", 3809 + "license": "MIT" 3810 + }, 3811 + "node_modules/goober": { 3812 + "version": "2.1.16", 3813 + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.16.tgz", 3814 + "integrity": "sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==", 3815 + "license": "MIT", 3816 + "peerDependencies": { 3817 + "csstype": "^3.0.10" 3818 + } 3819 + }, 3820 + "node_modules/graceful-fs": { 3821 + "version": "4.2.11", 3822 + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 3823 + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", 3824 + "license": "ISC" 3825 + }, 3826 + "node_modules/graphemer": { 3827 + "version": "1.4.0", 3828 + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", 3829 + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", 3830 + "license": "MIT" 3831 + }, 3832 + "node_modules/has-flag": { 3833 + "version": "4.0.0", 3834 + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 3835 + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 3836 + "dev": true, 3837 + "license": "MIT", 3838 + "engines": { 3839 + "node": ">=8" 3840 + } 3841 + }, 3842 + "node_modules/hls.js": { 3843 + "version": "1.6.2", 3844 + "resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.6.2.tgz", 3845 + "integrity": "sha512-rx+pETSCJEDThm/JCm8CuadcAC410cVjb1XVXFNDKFuylaayHk1+tFxhkjvnMDAfqsJHxZXDAJ3Uc2d5xQyWlQ==", 3846 + "license": "Apache-2.0" 3847 + }, 3848 + "node_modules/https-proxy-agent": { 3849 + "version": "7.0.6", 3850 + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", 3851 + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", 3852 + "license": "MIT", 3853 + "dependencies": { 3854 + "agent-base": "^7.1.2", 3855 + "debug": "4" 3856 + }, 3857 + "engines": { 3858 + "node": ">= 14" 3859 + } 3860 + }, 3861 + "node_modules/ignore": { 3862 + "version": "5.3.2", 3863 + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", 3864 + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", 3865 + "dev": true, 3866 + "license": "MIT", 3867 + "engines": { 3868 + "node": ">= 4" 3869 + } 3870 + }, 3871 + "node_modules/image-blob-reduce": { 3872 + "version": "4.1.0", 3873 + "resolved": "https://registry.npmjs.org/image-blob-reduce/-/image-blob-reduce-4.1.0.tgz", 3874 + "integrity": "sha512-iljleP8Fr7tS1ezrAazWi30abNPYXtBGXb9R9oTZDWObqiKq18AQJGTUb0wkBOtdCZ36/IirkuuAIIHTjBJIjA==", 3875 + "license": "MIT", 3876 + "dependencies": { 3877 + "pica": "^9.0.0" 3878 + } 3879 + }, 3880 + "node_modules/import-fresh": { 3881 + "version": "3.3.1", 3882 + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", 3883 + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", 3884 + "dev": true, 3885 + "license": "MIT", 3886 + "dependencies": { 3887 + "parent-module": "^1.0.0", 3888 + "resolve-from": "^4.0.0" 3889 + }, 3890 + "engines": { 3891 + "node": ">=6" 3892 + }, 3893 + "funding": { 3894 + "url": "https://github.com/sponsors/sindresorhus" 3895 + } 3896 + }, 3897 + "node_modules/imurmurhash": { 3898 + "version": "0.1.4", 3899 + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 3900 + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 3901 + "dev": true, 3902 + "license": "MIT", 3903 + "engines": { 3904 + "node": ">=0.8.19" 3905 + } 3906 + }, 3907 + "node_modules/inline-style-parser": { 3908 + "version": "0.2.4", 3909 + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz", 3910 + "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==", 3911 + "license": "MIT" 3912 + }, 3913 + "node_modules/is-emoji-supported": { 3914 + "version": "0.0.5", 3915 + "resolved": "https://registry.npmjs.org/is-emoji-supported/-/is-emoji-supported-0.0.5.tgz", 3916 + "integrity": "sha512-WOlXUhDDHxYqcSmFZis+xWhhqXiK2SU0iYiqmth5Ip0FHLZQAt9rKL5ahnilE8/86WH8tZ3bmNNNC+bTzamqlw==", 3917 + "license": "MIT" 3918 + }, 3919 + "node_modules/is-extglob": { 3920 + "version": "2.1.1", 3921 + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 3922 + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 3923 + "dev": true, 3924 + "license": "MIT", 3925 + "engines": { 3926 + "node": ">=0.10.0" 3927 + } 3928 + }, 3929 + "node_modules/is-fullwidth-code-point": { 3930 + "version": "3.0.0", 3931 + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 3932 + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 3933 + "license": "MIT", 3934 + "engines": { 3935 + "node": ">=8" 3936 + } 3937 + }, 3938 + "node_modules/is-glob": { 3939 + "version": "4.0.3", 3940 + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 3941 + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 3942 + "dev": true, 3943 + "license": "MIT", 3944 + "dependencies": { 3945 + "is-extglob": "^2.1.1" 3946 + }, 3947 + "engines": { 3948 + "node": ">=0.10.0" 3949 + } 3950 + }, 3951 + "node_modules/is-number": { 3952 + "version": "7.0.0", 3953 + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 3954 + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 3955 + "dev": true, 3956 + "license": "MIT", 3957 + "engines": { 3958 + "node": ">=0.12.0" 3959 + } 3960 + }, 3961 + "node_modules/is-reference": { 3962 + "version": "3.0.3", 3963 + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz", 3964 + "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==", 3965 + "license": "MIT", 3966 + "dependencies": { 3967 + "@types/estree": "^1.0.6" 3968 + } 3969 + }, 3970 + "node_modules/isexe": { 3971 + "version": "2.0.0", 3972 + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 3973 + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 3974 + "license": "ISC" 3975 + }, 3976 + "node_modules/iso-datestring-validator": { 3977 + "version": "2.2.2", 3978 + "resolved": "https://registry.npmjs.org/iso-datestring-validator/-/iso-datestring-validator-2.2.2.tgz", 3979 + "integrity": "sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA==", 3980 + "license": "MIT" 3981 + }, 3982 + "node_modules/jackspeak": { 3983 + "version": "3.4.3", 3984 + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", 3985 + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", 3986 + "license": "BlueOak-1.0.0", 3987 + "dependencies": { 3988 + "@isaacs/cliui": "^8.0.2" 3989 + }, 3990 + "funding": { 3991 + "url": "https://github.com/sponsors/isaacs" 3992 + }, 3993 + "optionalDependencies": { 3994 + "@pkgjs/parseargs": "^0.11.0" 3995 + } 3996 + }, 3997 + "node_modules/jazz-browser": { 3998 + "version": "0.14.4", 3999 + "resolved": "https://registry.npmjs.org/jazz-browser/-/jazz-browser-0.14.4.tgz", 4000 + "integrity": "sha512-jQFltPwjPYg1S2/aH1ORCdajn7v9NlTPc8eGOonYIGciR25Jra6W1R770DQJDpTZeKtxjyBEH9utydvk7c+iEg==", 4001 + "license": "MIT", 4002 + "dependencies": { 4003 + "cojson": "0.14.1", 4004 + "cojson-storage-indexeddb": "0.14.1", 4005 + "cojson-transport-ws": "0.14.1", 4006 + "jazz-tools": "0.14.4" 4007 + } 4008 + }, 4009 + "node_modules/jazz-browser-media-images": { 4010 + "version": "0.14.8", 4011 + "resolved": "https://registry.npmjs.org/jazz-browser-media-images/-/jazz-browser-media-images-0.14.8.tgz", 4012 + "integrity": "sha512-UdEGqM/tYW89pFVKWWmH3cjX1pcUZZ+ZJUkstFBrBIaPNDiIAZUC/663Qb6OCMGR1MAQSJs848Az/zDEpJY7eg==", 4013 + "license": "MIT", 4014 + "dependencies": { 4015 + "@types/image-blob-reduce": "^4.1.1", 4016 + "image-blob-reduce": "^4.1.0", 4017 + "jazz-browser": "0.14.8", 4018 + "jazz-tools": "0.14.8", 4019 + "pica": "^9.0.1" 4020 + } 4021 + }, 4022 + "node_modules/jazz-browser-media-images/node_modules/cojson": { 4023 + "version": "0.14.1", 4024 + "resolved": "https://registry.npmjs.org/cojson/-/cojson-0.14.1.tgz", 4025 + "integrity": "sha512-U3VhymNJqx56mt61UZT6ey6dDp53Qjq2390//ARBg5FW9qpebg03AqvWQjAZoadmO4QVgfLXAzkZzc5NoEFUMg==", 4026 + "license": "MIT", 4027 + "dependencies": { 4028 + "@noble/ciphers": "^1.3.0", 4029 + "@noble/curves": "^1.9.1", 4030 + "@noble/hashes": "^1.8.0", 4031 + "@opentelemetry/api": "^1.9.0", 4032 + "@scure/base": "1.2.1", 4033 + "jazz-crypto-rs": "0.0.7", 4034 + "neverthrow": "^7.0.1", 4035 + "queueueue": "^4.1.2", 4036 + "unicode-segmenter": "^0.12.0" 4037 + } 4038 + }, 4039 + "node_modules/jazz-browser-media-images/node_modules/jazz-browser": { 4040 + "version": "0.14.8", 4041 + "resolved": "https://registry.npmjs.org/jazz-browser/-/jazz-browser-0.14.8.tgz", 4042 + "integrity": "sha512-8KVbyWxB96B/tYseEY0GELG2XgGFiE+fTVrIWAzpAivHTyRgq385xcFZ9cNWrBOzfPqtKi9ff5d36ihIcJTuDw==", 4043 + "license": "MIT", 4044 + "dependencies": { 4045 + "cojson": "0.14.1", 4046 + "cojson-storage-indexeddb": "0.14.1", 4047 + "cojson-transport-ws": "0.14.1", 4048 + "jazz-tools": "0.14.8" 4049 + } 4050 + }, 4051 + "node_modules/jazz-browser-media-images/node_modules/jazz-tools": { 4052 + "version": "0.14.8", 4053 + "resolved": "https://registry.npmjs.org/jazz-tools/-/jazz-tools-0.14.8.tgz", 4054 + "integrity": "sha512-cI6I7OBp/xA10oBYXwDhCP5KkIPHyGEXA0MEruW3VQC6dpemQAq3yi3Q/NxLbnSJoaz93OVccxfq0HZprFboJA==", 4055 + "license": "MIT", 4056 + "dependencies": { 4057 + "@scure/bip39": "^1.3.0", 4058 + "cojson": "0.14.1", 4059 + "fast-myers-diff": "^3.2.0", 4060 + "jazz-tools-zod-v4-rn-patch": "3.25.22" 4061 + } 4062 + }, 4063 + "node_modules/jazz-browser/node_modules/cojson": { 4064 + "version": "0.14.1", 4065 + "resolved": "https://registry.npmjs.org/cojson/-/cojson-0.14.1.tgz", 4066 + "integrity": "sha512-U3VhymNJqx56mt61UZT6ey6dDp53Qjq2390//ARBg5FW9qpebg03AqvWQjAZoadmO4QVgfLXAzkZzc5NoEFUMg==", 4067 + "license": "MIT", 4068 + "dependencies": { 4069 + "@noble/ciphers": "^1.3.0", 4070 + "@noble/curves": "^1.9.1", 4071 + "@noble/hashes": "^1.8.0", 4072 + "@opentelemetry/api": "^1.9.0", 4073 + "@scure/base": "1.2.1", 4074 + "jazz-crypto-rs": "0.0.7", 4075 + "neverthrow": "^7.0.1", 4076 + "queueueue": "^4.1.2", 4077 + "unicode-segmenter": "^0.12.0" 4078 + } 4079 + }, 4080 + "node_modules/jazz-crypto-rs": { 4081 + "version": "0.0.7", 4082 + "resolved": "https://registry.npmjs.org/jazz-crypto-rs/-/jazz-crypto-rs-0.0.7.tgz", 4083 + "integrity": "sha512-Pzs8Zu1zgKVURkBVvqqF1B2r78FaSZdwPbmeCWx0Nb3nibzPuB/kSKEO7LJsKnb3P5HO0v+lTIJ53mGC5H1urQ==" 4084 + }, 4085 + "node_modules/jazz-inspector": { 4086 + "version": "0.14.0", 4087 + "resolved": "https://registry.npmjs.org/jazz-inspector/-/jazz-inspector-0.14.0.tgz", 4088 + "integrity": "sha512-sJ8LzEkxM5dQii0gJTuWLTf1fp+k8uv2wADhnXf6lOQ/jmcpW+ZYHjTXymDy87iN2vb4RFHpV1LW/V/wZCbJ7Q==", 4089 + "dependencies": { 4090 + "clsx": "^2.0.0", 4091 + "cojson": "0.14.0", 4092 + "goober": "^2.1.16", 4093 + "jazz-react-core": "0.14.0", 4094 + "jazz-tools": "0.14.0" 4095 + }, 4096 + "peerDependencies": { 4097 + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" 4098 + } 4099 + }, 4100 + "node_modules/jazz-inspector-element": { 4101 + "version": "0.14.0", 4102 + "resolved": "https://registry.npmjs.org/jazz-inspector-element/-/jazz-inspector-element-0.14.0.tgz", 4103 + "integrity": "sha512-Kl6jN5al1otgaxO1XH+pJg/4/+DLhxBwpQjsm6rflZvb8vxnUbaMahHmG3byMp4cJXVUCUz6aAlMS92NtGwrzw==", 4104 + "dependencies": { 4105 + "jazz-inspector": "0.14.0", 4106 + "jazz-tools": "0.14.0", 4107 + "react": "^18.3.1", 4108 + "react-dom": "^18.3.1" 4109 + } 4110 + }, 4111 + "node_modules/jazz-inspector-element/node_modules/jazz-tools": { 4112 + "version": "0.14.0", 4113 + "resolved": "https://registry.npmjs.org/jazz-tools/-/jazz-tools-0.14.0.tgz", 4114 + "integrity": "sha512-ioshDuFQtZTz0ovSG0B0osVXPxW/s0XFIiFPheRd2bKWkJAChyRFsIegG6XI9FWnsmiTX8/PhtJ74yXik04gXQ==", 4115 + "license": "MIT", 4116 + "dependencies": { 4117 + "@scure/bip39": "^1.3.0", 4118 + "cojson": "0.14.0", 4119 + "fast-myers-diff": "^3.2.0", 4120 + "zod": "3.25.0-beta.20250518T002810" 4121 + } 4122 + }, 4123 + "node_modules/jazz-inspector/node_modules/jazz-tools": { 4124 + "version": "0.14.0", 4125 + "resolved": "https://registry.npmjs.org/jazz-tools/-/jazz-tools-0.14.0.tgz", 4126 + "integrity": "sha512-ioshDuFQtZTz0ovSG0B0osVXPxW/s0XFIiFPheRd2bKWkJAChyRFsIegG6XI9FWnsmiTX8/PhtJ74yXik04gXQ==", 4127 + "license": "MIT", 4128 + "dependencies": { 4129 + "@scure/bip39": "^1.3.0", 4130 + "cojson": "0.14.0", 4131 + "fast-myers-diff": "^3.2.0", 4132 + "zod": "3.25.0-beta.20250518T002810" 4133 + } 4134 + }, 4135 + "node_modules/jazz-react-core": { 4136 + "version": "0.14.0", 4137 + "resolved": "https://registry.npmjs.org/jazz-react-core/-/jazz-react-core-0.14.0.tgz", 4138 + "integrity": "sha512-kwkqit/AoQKfibNkDtyQYTh/7H77m7SkjarMxqxmjkrwhMR1/zphaWyuXGXxYFfUlPqkT7DoqUwEzBeAR57WPw==", 4139 + "license": "MIT", 4140 + "dependencies": { 4141 + "cojson": "0.14.0", 4142 + "jazz-tools": "0.14.0" 4143 + }, 4144 + "peerDependencies": { 4145 + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", 4146 + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" 4147 + } 4148 + }, 4149 + "node_modules/jazz-react-core/node_modules/jazz-tools": { 4150 + "version": "0.14.0", 4151 + "resolved": "https://registry.npmjs.org/jazz-tools/-/jazz-tools-0.14.0.tgz", 4152 + "integrity": "sha512-ioshDuFQtZTz0ovSG0B0osVXPxW/s0XFIiFPheRd2bKWkJAChyRFsIegG6XI9FWnsmiTX8/PhtJ74yXik04gXQ==", 4153 + "license": "MIT", 4154 + "dependencies": { 4155 + "@scure/bip39": "^1.3.0", 4156 + "cojson": "0.14.0", 4157 + "fast-myers-diff": "^3.2.0", 4158 + "zod": "3.25.0-beta.20250518T002810" 4159 + } 4160 + }, 4161 + "node_modules/jazz-richtext-prosemirror": { 4162 + "version": "0.1.26", 4163 + "resolved": "https://registry.npmjs.org/jazz-richtext-prosemirror/-/jazz-richtext-prosemirror-0.1.26.tgz", 4164 + "integrity": "sha512-uaeR+GIycyA+5epifIDduFsCR0VFm37h/9wZ7ut/4vjGMEh5ATcVn8gpoA4FutcYURcEoWFM/8lvSiiqU2pbtA==", 4165 + "license": "MIT", 4166 + "dependencies": { 4167 + "@manuscripts/prosemirror-recreate-steps": "^0.1.4", 4168 + "jazz-browser": "0.14.7", 4169 + "jazz-tools": "0.14.7", 4170 + "prosemirror-example-setup": "^1.2.2", 4171 + "prosemirror-menu": "^1.2.4", 4172 + "prosemirror-model": "^1.21.1", 4173 + "prosemirror-schema-basic": "^1.2.2", 4174 + "prosemirror-state": "^1.4.3", 4175 + "prosemirror-transform": "^1.9.0" 4176 + } 4177 + }, 4178 + "node_modules/jazz-richtext-prosemirror/node_modules/cojson": { 4179 + "version": "0.14.1", 4180 + "resolved": "https://registry.npmjs.org/cojson/-/cojson-0.14.1.tgz", 4181 + "integrity": "sha512-U3VhymNJqx56mt61UZT6ey6dDp53Qjq2390//ARBg5FW9qpebg03AqvWQjAZoadmO4QVgfLXAzkZzc5NoEFUMg==", 4182 + "license": "MIT", 4183 + "dependencies": { 4184 + "@noble/ciphers": "^1.3.0", 4185 + "@noble/curves": "^1.9.1", 4186 + "@noble/hashes": "^1.8.0", 4187 + "@opentelemetry/api": "^1.9.0", 4188 + "@scure/base": "1.2.1", 4189 + "jazz-crypto-rs": "0.0.7", 4190 + "neverthrow": "^7.0.1", 4191 + "queueueue": "^4.1.2", 4192 + "unicode-segmenter": "^0.12.0" 4193 + } 4194 + }, 4195 + "node_modules/jazz-richtext-prosemirror/node_modules/jazz-browser": { 4196 + "version": "0.14.7", 4197 + "resolved": "https://registry.npmjs.org/jazz-browser/-/jazz-browser-0.14.7.tgz", 4198 + "integrity": "sha512-7261mvIhUxen5Aapv6x9Ad+S7UahJX6iKVCO2jy7IjMei/WLjKqFMS8UVSn0j/bM5T2sAib73Wh1l9Xkex2P7g==", 4199 + "license": "MIT", 4200 + "dependencies": { 4201 + "cojson": "0.14.1", 4202 + "cojson-storage-indexeddb": "0.14.1", 4203 + "cojson-transport-ws": "0.14.1", 4204 + "jazz-tools": "0.14.7" 4205 + } 4206 + }, 4207 + "node_modules/jazz-richtext-prosemirror/node_modules/jazz-tools": { 4208 + "version": "0.14.7", 4209 + "resolved": "https://registry.npmjs.org/jazz-tools/-/jazz-tools-0.14.7.tgz", 4210 + "integrity": "sha512-SB8Qzo8HGHZMfhfx0UPUlhLReEded0o7N+rUvfNaPdWVtZ0JTymkXGi4Z8cNfya8GTTFjkZo50DWSvP3uRqYnw==", 4211 + "license": "MIT", 4212 + "dependencies": { 4213 + "@scure/bip39": "^1.3.0", 4214 + "cojson": "0.14.1", 4215 + "fast-myers-diff": "^3.2.0", 4216 + "zod": "3.25.0-beta.20250518T002810" 4217 + } 4218 + }, 4219 + "node_modules/jazz-richtext-tiptap": { 4220 + "version": "0.1.15", 4221 + "resolved": "https://registry.npmjs.org/jazz-richtext-tiptap/-/jazz-richtext-tiptap-0.1.15.tgz", 4222 + "integrity": "sha512-hP7q+ipx9+MASgkA3nJvQ7ZjdOHRcYQMXCaRnH8FjhY1Y9Eh1YpkzZIKDtkENNns89o3Lfkjt0W6Rgw1l/mn9g==", 4223 + "license": "MIT", 4224 + "dependencies": { 4225 + "@tiptap/core": "^2.12.0", 4226 + "jazz-browser": "0.14.7", 4227 + "jazz-richtext-prosemirror": "0.1.26", 4228 + "jazz-tools": "0.14.7" 4229 + } 4230 + }, 4231 + "node_modules/jazz-richtext-tiptap/node_modules/cojson": { 4232 + "version": "0.14.1", 4233 + "resolved": "https://registry.npmjs.org/cojson/-/cojson-0.14.1.tgz", 4234 + "integrity": "sha512-U3VhymNJqx56mt61UZT6ey6dDp53Qjq2390//ARBg5FW9qpebg03AqvWQjAZoadmO4QVgfLXAzkZzc5NoEFUMg==", 4235 + "license": "MIT", 4236 + "dependencies": { 4237 + "@noble/ciphers": "^1.3.0", 4238 + "@noble/curves": "^1.9.1", 4239 + "@noble/hashes": "^1.8.0", 4240 + "@opentelemetry/api": "^1.9.0", 4241 + "@scure/base": "1.2.1", 4242 + "jazz-crypto-rs": "0.0.7", 4243 + "neverthrow": "^7.0.1", 4244 + "queueueue": "^4.1.2", 4245 + "unicode-segmenter": "^0.12.0" 4246 + } 4247 + }, 4248 + "node_modules/jazz-richtext-tiptap/node_modules/jazz-browser": { 4249 + "version": "0.14.7", 4250 + "resolved": "https://registry.npmjs.org/jazz-browser/-/jazz-browser-0.14.7.tgz", 4251 + "integrity": "sha512-7261mvIhUxen5Aapv6x9Ad+S7UahJX6iKVCO2jy7IjMei/WLjKqFMS8UVSn0j/bM5T2sAib73Wh1l9Xkex2P7g==", 4252 + "license": "MIT", 4253 + "dependencies": { 4254 + "cojson": "0.14.1", 4255 + "cojson-storage-indexeddb": "0.14.1", 4256 + "cojson-transport-ws": "0.14.1", 4257 + "jazz-tools": "0.14.7" 4258 + } 4259 + }, 4260 + "node_modules/jazz-richtext-tiptap/node_modules/jazz-tools": { 4261 + "version": "0.14.7", 4262 + "resolved": "https://registry.npmjs.org/jazz-tools/-/jazz-tools-0.14.7.tgz", 4263 + "integrity": "sha512-SB8Qzo8HGHZMfhfx0UPUlhLReEded0o7N+rUvfNaPdWVtZ0JTymkXGi4Z8cNfya8GTTFjkZo50DWSvP3uRqYnw==", 4264 + "license": "MIT", 4265 + "dependencies": { 4266 + "@scure/bip39": "^1.3.0", 4267 + "cojson": "0.14.1", 4268 + "fast-myers-diff": "^3.2.0", 4269 + "zod": "3.25.0-beta.20250518T002810" 4270 + } 4271 + }, 4272 + "node_modules/jazz-svelte": { 4273 + "version": "0.14.4", 4274 + "resolved": "https://registry.npmjs.org/jazz-svelte/-/jazz-svelte-0.14.4.tgz", 4275 + "integrity": "sha512-Pj7GzN3CyAYOG84D2weAOg6RCIKEeLJXMcyVIhzuRQybOQH5LBLGsQM5mz3k6BMAsVJ0Lya4nPbk6GNqbq7AWg==", 4276 + "dependencies": { 4277 + "cojson": "0.14.1", 4278 + "jazz-browser": "0.14.4", 4279 + "jazz-tools": "0.14.4" 4280 + }, 4281 + "peerDependencies": { 4282 + "svelte": "^5.0.0" 4283 + } 4284 + }, 4285 + "node_modules/jazz-svelte/node_modules/cojson": { 4286 + "version": "0.14.1", 4287 + "resolved": "https://registry.npmjs.org/cojson/-/cojson-0.14.1.tgz", 4288 + "integrity": "sha512-U3VhymNJqx56mt61UZT6ey6dDp53Qjq2390//ARBg5FW9qpebg03AqvWQjAZoadmO4QVgfLXAzkZzc5NoEFUMg==", 4289 + "license": "MIT", 4290 + "dependencies": { 4291 + "@noble/ciphers": "^1.3.0", 4292 + "@noble/curves": "^1.9.1", 4293 + "@noble/hashes": "^1.8.0", 4294 + "@opentelemetry/api": "^1.9.0", 4295 + "@scure/base": "1.2.1", 4296 + "jazz-crypto-rs": "0.0.7", 4297 + "neverthrow": "^7.0.1", 4298 + "queueueue": "^4.1.2", 4299 + "unicode-segmenter": "^0.12.0" 4300 + } 4301 + }, 4302 + "node_modules/jazz-tools": { 4303 + "version": "0.14.4", 4304 + "resolved": "https://registry.npmjs.org/jazz-tools/-/jazz-tools-0.14.4.tgz", 4305 + "integrity": "sha512-DmVWpExJTBpoYlJuPCAn/cPv1J25IQFHd69mCvsQUpuDHKYZOIOP2B8PJDS3TQLTUwKwHCbCGenG0NqK2SAFCQ==", 4306 + "license": "MIT", 4307 + "dependencies": { 4308 + "@scure/bip39": "^1.3.0", 4309 + "cojson": "0.14.1", 4310 + "fast-myers-diff": "^3.2.0", 4311 + "zod": "3.25.0-beta.20250518T002810" 4312 + } 4313 + }, 4314 + "node_modules/jazz-tools-zod-v4-rn-patch": { 4315 + "version": "3.25.22", 4316 + "resolved": "https://registry.npmjs.org/jazz-tools-zod-v4-rn-patch/-/jazz-tools-zod-v4-rn-patch-3.25.22.tgz", 4317 + "integrity": "sha512-q+bXP6W+ecbiz4l8zoWLQYshrUaBnRrN2M1pyfqv16LdNXGrIm0ZDZPjFfvQQDcAKNZ0V6csWxPP8jrznMhPEA==", 4318 + "license": "MIT", 4319 + "funding": { 4320 + "url": "https://github.com/sponsors/colinhacks" 4321 + } 4322 + }, 4323 + "node_modules/jazz-tools/node_modules/cojson": { 4324 + "version": "0.14.1", 4325 + "resolved": "https://registry.npmjs.org/cojson/-/cojson-0.14.1.tgz", 4326 + "integrity": "sha512-U3VhymNJqx56mt61UZT6ey6dDp53Qjq2390//ARBg5FW9qpebg03AqvWQjAZoadmO4QVgfLXAzkZzc5NoEFUMg==", 4327 + "license": "MIT", 4328 + "dependencies": { 4329 + "@noble/ciphers": "^1.3.0", 4330 + "@noble/curves": "^1.9.1", 4331 + "@noble/hashes": "^1.8.0", 4332 + "@opentelemetry/api": "^1.9.0", 4333 + "@scure/base": "1.2.1", 4334 + "jazz-crypto-rs": "0.0.7", 4335 + "neverthrow": "^7.0.1", 4336 + "queueueue": "^4.1.2", 4337 + "unicode-segmenter": "^0.12.0" 4338 + } 4339 + }, 4340 + "node_modules/jiti": { 4341 + "version": "2.4.2", 4342 + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", 4343 + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", 4344 + "devOptional": true, 4345 + "license": "MIT", 4346 + "bin": { 4347 + "jiti": "lib/jiti-cli.mjs" 4348 + } 4349 + }, 4350 + "node_modules/js-tokens": { 4351 + "version": "4.0.0", 4352 + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 4353 + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 4354 + "license": "MIT" 4355 + }, 4356 + "node_modules/js-yaml": { 4357 + "version": "4.1.0", 4358 + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 4359 + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 4360 + "dev": true, 4361 + "license": "MIT", 4362 + "dependencies": { 4363 + "argparse": "^2.0.1" 4364 + }, 4365 + "bin": { 4366 + "js-yaml": "bin/js-yaml.js" 4367 + } 4368 + }, 4369 + "node_modules/json-buffer": { 4370 + "version": "3.0.1", 4371 + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", 4372 + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", 4373 + "dev": true, 4374 + "license": "MIT" 4375 + }, 4376 + "node_modules/json-schema-traverse": { 4377 + "version": "0.4.1", 4378 + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 4379 + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 4380 + "dev": true, 4381 + "license": "MIT" 4382 + }, 4383 + "node_modules/json-stable-stringify-without-jsonify": { 4384 + "version": "1.0.1", 4385 + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 4386 + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", 4387 + "dev": true, 4388 + "license": "MIT" 4389 + }, 4390 + "node_modules/keyv": { 4391 + "version": "4.5.4", 4392 + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", 4393 + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", 4394 + "dev": true, 4395 + "license": "MIT", 4396 + "dependencies": { 4397 + "json-buffer": "3.0.1" 4398 + } 4399 + }, 4400 + "node_modules/kleur": { 4401 + "version": "4.1.5", 4402 + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", 4403 + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", 4404 + "license": "MIT", 4405 + "engines": { 4406 + "node": ">=6" 4407 + } 4408 + }, 4409 + "node_modules/known-css-properties": { 4410 + "version": "0.36.0", 4411 + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.36.0.tgz", 4412 + "integrity": "sha512-A+9jP+IUmuQsNdsLdcg6Yt7voiMF/D4K83ew0OpJtpu+l34ef7LaohWV0Rc6KNvzw6ZDizkqfyB5JznZnzuKQA==", 4413 + "dev": true, 4414 + "license": "MIT" 4415 + }, 4416 + "node_modules/levn": { 4417 + "version": "0.4.1", 4418 + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 4419 + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 4420 + "dev": true, 4421 + "license": "MIT", 4422 + "dependencies": { 4423 + "prelude-ls": "^1.2.1", 4424 + "type-check": "~0.4.0" 4425 + }, 4426 + "engines": { 4427 + "node": ">= 0.8.0" 4428 + } 4429 + }, 4430 + "node_modules/lightningcss": { 4431 + "version": "1.30.1", 4432 + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz", 4433 + "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==", 4434 + "devOptional": true, 4435 + "license": "MPL-2.0", 4436 + "dependencies": { 4437 + "detect-libc": "^2.0.3" 4438 + }, 4439 + "engines": { 4440 + "node": ">= 12.0.0" 4441 + }, 4442 + "funding": { 4443 + "type": "opencollective", 4444 + "url": "https://opencollective.com/parcel" 4445 + }, 4446 + "optionalDependencies": { 4447 + "lightningcss-darwin-arm64": "1.30.1", 4448 + "lightningcss-darwin-x64": "1.30.1", 4449 + "lightningcss-freebsd-x64": "1.30.1", 4450 + "lightningcss-linux-arm-gnueabihf": "1.30.1", 4451 + "lightningcss-linux-arm64-gnu": "1.30.1", 4452 + "lightningcss-linux-arm64-musl": "1.30.1", 4453 + "lightningcss-linux-x64-gnu": "1.30.1", 4454 + "lightningcss-linux-x64-musl": "1.30.1", 4455 + "lightningcss-win32-arm64-msvc": "1.30.1", 4456 + "lightningcss-win32-x64-msvc": "1.30.1" 4457 + } 4458 + }, 4459 + "node_modules/lightningcss-darwin-arm64": { 4460 + "version": "1.30.1", 4461 + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz", 4462 + "integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==", 4463 + "cpu": [ 4464 + "arm64" 4465 + ], 4466 + "license": "MPL-2.0", 4467 + "optional": true, 4468 + "os": [ 4469 + "darwin" 4470 + ], 4471 + "engines": { 4472 + "node": ">= 12.0.0" 4473 + }, 4474 + "funding": { 4475 + "type": "opencollective", 4476 + "url": "https://opencollective.com/parcel" 4477 + } 4478 + }, 4479 + "node_modules/lightningcss-darwin-x64": { 4480 + "version": "1.30.1", 4481 + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz", 4482 + "integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==", 4483 + "cpu": [ 4484 + "x64" 4485 + ], 4486 + "license": "MPL-2.0", 4487 + "optional": true, 4488 + "os": [ 4489 + "darwin" 4490 + ], 4491 + "engines": { 4492 + "node": ">= 12.0.0" 4493 + }, 4494 + "funding": { 4495 + "type": "opencollective", 4496 + "url": "https://opencollective.com/parcel" 4497 + } 4498 + }, 4499 + "node_modules/lightningcss-freebsd-x64": { 4500 + "version": "1.30.1", 4501 + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz", 4502 + "integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==", 4503 + "cpu": [ 4504 + "x64" 4505 + ], 4506 + "license": "MPL-2.0", 4507 + "optional": true, 4508 + "os": [ 4509 + "freebsd" 4510 + ], 4511 + "engines": { 4512 + "node": ">= 12.0.0" 4513 + }, 4514 + "funding": { 4515 + "type": "opencollective", 4516 + "url": "https://opencollective.com/parcel" 4517 + } 4518 + }, 4519 + "node_modules/lightningcss-linux-arm-gnueabihf": { 4520 + "version": "1.30.1", 4521 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz", 4522 + "integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==", 4523 + "cpu": [ 4524 + "arm" 4525 + ], 4526 + "license": "MPL-2.0", 4527 + "optional": true, 4528 + "os": [ 4529 + "linux" 4530 + ], 4531 + "engines": { 4532 + "node": ">= 12.0.0" 4533 + }, 4534 + "funding": { 4535 + "type": "opencollective", 4536 + "url": "https://opencollective.com/parcel" 4537 + } 4538 + }, 4539 + "node_modules/lightningcss-linux-arm64-gnu": { 4540 + "version": "1.30.1", 4541 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz", 4542 + "integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==", 4543 + "cpu": [ 4544 + "arm64" 4545 + ], 4546 + "license": "MPL-2.0", 4547 + "optional": true, 4548 + "os": [ 4549 + "linux" 4550 + ], 4551 + "engines": { 4552 + "node": ">= 12.0.0" 4553 + }, 4554 + "funding": { 4555 + "type": "opencollective", 4556 + "url": "https://opencollective.com/parcel" 4557 + } 4558 + }, 4559 + "node_modules/lightningcss-linux-arm64-musl": { 4560 + "version": "1.30.1", 4561 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz", 4562 + "integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==", 4563 + "cpu": [ 4564 + "arm64" 4565 + ], 4566 + "license": "MPL-2.0", 4567 + "optional": true, 4568 + "os": [ 4569 + "linux" 4570 + ], 4571 + "engines": { 4572 + "node": ">= 12.0.0" 4573 + }, 4574 + "funding": { 4575 + "type": "opencollective", 4576 + "url": "https://opencollective.com/parcel" 4577 + } 4578 + }, 4579 + "node_modules/lightningcss-linux-x64-gnu": { 4580 + "version": "1.30.1", 4581 + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz", 4582 + "integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==", 4583 + "cpu": [ 4584 + "x64" 4585 + ], 4586 + "license": "MPL-2.0", 4587 + "optional": true, 4588 + "os": [ 4589 + "linux" 4590 + ], 4591 + "engines": { 4592 + "node": ">= 12.0.0" 4593 + }, 4594 + "funding": { 4595 + "type": "opencollective", 4596 + "url": "https://opencollective.com/parcel" 4597 + } 4598 + }, 4599 + "node_modules/lightningcss-linux-x64-musl": { 4600 + "version": "1.30.1", 4601 + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz", 4602 + "integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==", 4603 + "cpu": [ 4604 + "x64" 4605 + ], 4606 + "license": "MPL-2.0", 4607 + "optional": true, 4608 + "os": [ 4609 + "linux" 4610 + ], 4611 + "engines": { 4612 + "node": ">= 12.0.0" 4613 + }, 4614 + "funding": { 4615 + "type": "opencollective", 4616 + "url": "https://opencollective.com/parcel" 4617 + } 4618 + }, 4619 + "node_modules/lightningcss-win32-arm64-msvc": { 4620 + "version": "1.30.1", 4621 + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz", 4622 + "integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==", 4623 + "cpu": [ 4624 + "arm64" 4625 + ], 4626 + "license": "MPL-2.0", 4627 + "optional": true, 4628 + "os": [ 4629 + "win32" 4630 + ], 4631 + "engines": { 4632 + "node": ">= 12.0.0" 4633 + }, 4634 + "funding": { 4635 + "type": "opencollective", 4636 + "url": "https://opencollective.com/parcel" 4637 + } 4638 + }, 4639 + "node_modules/lightningcss-win32-x64-msvc": { 4640 + "version": "1.30.1", 4641 + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz", 4642 + "integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==", 4643 + "cpu": [ 4644 + "x64" 4645 + ], 4646 + "license": "MPL-2.0", 4647 + "optional": true, 4648 + "os": [ 4649 + "win32" 4650 + ], 4651 + "engines": { 4652 + "node": ">= 12.0.0" 4653 + }, 4654 + "funding": { 4655 + "type": "opencollective", 4656 + "url": "https://opencollective.com/parcel" 4657 + } 4658 + }, 4659 + "node_modules/lilconfig": { 4660 + "version": "2.1.0", 4661 + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", 4662 + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", 4663 + "dev": true, 4664 + "license": "MIT", 4665 + "engines": { 4666 + "node": ">=10" 4667 + } 4668 + }, 4669 + "node_modules/linkify-it": { 4670 + "version": "5.0.0", 4671 + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", 4672 + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", 4673 + "license": "MIT", 4674 + "dependencies": { 4675 + "uc.micro": "^2.0.0" 4676 + } 4677 + }, 4678 + "node_modules/linkifyjs": { 4679 + "version": "4.3.1", 4680 + "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.3.1.tgz", 4681 + "integrity": "sha512-DRSlB9DKVW04c4SUdGvKK5FR6be45lTU9M76JnngqPeeGDqPwYc0zdUErtsNVMtxPXgUWV4HbXbnC4sNyBxkYg==", 4682 + "license": "MIT" 4683 + }, 4684 + "node_modules/loadjs": { 4685 + "version": "4.3.0", 4686 + "resolved": "https://registry.npmjs.org/loadjs/-/loadjs-4.3.0.tgz", 4687 + "integrity": "sha512-vNX4ZZLJBeDEOBvdr2v/F+0aN5oMuPu7JTqrMwp+DtgK+AryOlpy6Xtm2/HpNr+azEa828oQjOtWsB6iDtSfSQ==", 4688 + "license": "MIT" 4689 + }, 4690 + "node_modules/locate-character": { 4691 + "version": "3.0.0", 4692 + "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", 4693 + "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", 4694 + "license": "MIT" 4695 + }, 4696 + "node_modules/locate-path": { 4697 + "version": "6.0.0", 4698 + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", 4699 + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", 4700 + "dev": true, 4701 + "license": "MIT", 4702 + "dependencies": { 4703 + "p-locate": "^5.0.0" 4704 + }, 4705 + "engines": { 4706 + "node": ">=10" 4707 + }, 4708 + "funding": { 4709 + "url": "https://github.com/sponsors/sindresorhus" 4710 + } 4711 + }, 4712 + "node_modules/lodash.castarray": { 4713 + "version": "4.4.0", 4714 + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", 4715 + "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", 4716 + "dev": true, 4717 + "license": "MIT" 4718 + }, 4719 + "node_modules/lodash.isplainobject": { 4720 + "version": "4.0.6", 4721 + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", 4722 + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", 4723 + "dev": true, 4724 + "license": "MIT" 4725 + }, 4726 + "node_modules/lodash.merge": { 4727 + "version": "4.6.2", 4728 + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 4729 + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 4730 + "dev": true, 4731 + "license": "MIT" 4732 + }, 4733 + "node_modules/loose-envify": { 4734 + "version": "1.4.0", 4735 + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 4736 + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 4737 + "license": "MIT", 4738 + "dependencies": { 4739 + "js-tokens": "^3.0.0 || ^4.0.0" 4740 + }, 4741 + "bin": { 4742 + "loose-envify": "cli.js" 4743 + } 4744 + }, 4745 + "node_modules/lru-cache": { 4746 + "version": "10.4.3", 4747 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", 4748 + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", 4749 + "license": "ISC" 4750 + }, 4751 + "node_modules/magic-string": { 4752 + "version": "0.30.17", 4753 + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", 4754 + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", 4755 + "license": "MIT", 4756 + "dependencies": { 4757 + "@jridgewell/sourcemap-codec": "^1.5.0" 4758 + } 4759 + }, 4760 + "node_modules/markdown-it": { 4761 + "version": "14.1.0", 4762 + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", 4763 + "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", 4764 + "license": "MIT", 4765 + "dependencies": { 4766 + "argparse": "^2.0.1", 4767 + "entities": "^4.4.0", 4768 + "linkify-it": "^5.0.0", 4769 + "mdurl": "^2.0.0", 4770 + "punycode.js": "^2.3.1", 4771 + "uc.micro": "^2.1.0" 4772 + }, 4773 + "bin": { 4774 + "markdown-it": "bin/markdown-it.mjs" 4775 + } 4776 + }, 4777 + "node_modules/mdurl": { 4778 + "version": "2.0.0", 4779 + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", 4780 + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", 4781 + "license": "MIT" 4782 + }, 4783 + "node_modules/merge2": { 4784 + "version": "1.4.1", 4785 + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 4786 + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 4787 + "dev": true, 4788 + "license": "MIT", 4789 + "engines": { 4790 + "node": ">= 8" 4791 + } 4792 + }, 4793 + "node_modules/micromatch": { 4794 + "version": "4.0.8", 4795 + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", 4796 + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", 4797 + "dev": true, 4798 + "license": "MIT", 4799 + "dependencies": { 4800 + "braces": "^3.0.3", 4801 + "picomatch": "^2.3.1" 4802 + }, 4803 + "engines": { 4804 + "node": ">=8.6" 4805 + } 4806 + }, 4807 + "node_modules/micromatch/node_modules/picomatch": { 4808 + "version": "2.3.1", 4809 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 4810 + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 4811 + "dev": true, 4812 + "license": "MIT", 4813 + "engines": { 4814 + "node": ">=8.6" 4815 + }, 4816 + "funding": { 4817 + "url": "https://github.com/sponsors/jonschlinkert" 4818 + } 4819 + }, 4820 + "node_modules/mini-svg-data-uri": { 4821 + "version": "1.4.4", 4822 + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", 4823 + "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", 4824 + "dev": true, 4825 + "license": "MIT", 4826 + "bin": { 4827 + "mini-svg-data-uri": "cli.js" 4828 + } 4829 + }, 4830 + "node_modules/minimatch": { 4831 + "version": "3.1.2", 4832 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 4833 + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 4834 + "dev": true, 4835 + "license": "ISC", 4836 + "dependencies": { 4837 + "brace-expansion": "^1.1.7" 4838 + }, 4839 + "engines": { 4840 + "node": "*" 4841 + } 4842 + }, 4843 + "node_modules/minipass": { 4844 + "version": "7.1.2", 4845 + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", 4846 + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", 4847 + "license": "ISC", 4848 + "engines": { 4849 + "node": ">=16 || 14 >=14.17" 4850 + } 4851 + }, 4852 + "node_modules/minizlib": { 4853 + "version": "3.0.2", 4854 + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", 4855 + "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", 4856 + "license": "MIT", 4857 + "dependencies": { 4858 + "minipass": "^7.1.2" 4859 + }, 4860 + "engines": { 4861 + "node": ">= 18" 4862 + } 4863 + }, 4864 + "node_modules/mkdirp": { 4865 + "version": "3.0.1", 4866 + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", 4867 + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", 4868 + "license": "MIT", 4869 + "bin": { 4870 + "mkdirp": "dist/cjs/src/bin.js" 4871 + }, 4872 + "engines": { 4873 + "node": ">=10" 4874 + }, 4875 + "funding": { 4876 + "url": "https://github.com/sponsors/isaacs" 4877 + } 4878 + }, 4879 + "node_modules/mri": { 4880 + "version": "1.2.0", 4881 + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", 4882 + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", 4883 + "license": "MIT", 4884 + "engines": { 4885 + "node": ">=4" 4886 + } 4887 + }, 4888 + "node_modules/mrmime": { 4889 + "version": "2.0.1", 4890 + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", 4891 + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", 4892 + "license": "MIT", 4893 + "engines": { 4894 + "node": ">=10" 4895 + } 4896 + }, 4897 + "node_modules/ms": { 4898 + "version": "2.1.3", 4899 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 4900 + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 4901 + "license": "MIT" 4902 + }, 4903 + "node_modules/multiformats": { 4904 + "version": "9.9.0", 4905 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", 4906 + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==", 4907 + "license": "(Apache-2.0 AND MIT)" 4908 + }, 4909 + "node_modules/multimath": { 4910 + "version": "2.0.0", 4911 + "resolved": "https://registry.npmjs.org/multimath/-/multimath-2.0.0.tgz", 4912 + "integrity": "sha512-toRx66cAMJ+Ccz7pMIg38xSIrtnbozk0dchXezwQDMgQmbGpfxjtv68H+L00iFL8hxDaVjrmwAFSb3I6bg8Q2g==", 4913 + "license": "MIT", 4914 + "dependencies": { 4915 + "glur": "^1.1.2", 4916 + "object-assign": "^4.1.1" 4917 + } 4918 + }, 4919 + "node_modules/nanoid": { 4920 + "version": "3.3.11", 4921 + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", 4922 + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", 4923 + "funding": [ 4924 + { 4925 + "type": "github", 4926 + "url": "https://github.com/sponsors/ai" 4927 + } 4928 + ], 4929 + "license": "MIT", 4930 + "bin": { 4931 + "nanoid": "bin/nanoid.cjs" 4932 + }, 4933 + "engines": { 4934 + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 4935 + } 4936 + }, 4937 + "node_modules/natural-compare": { 4938 + "version": "1.4.0", 4939 + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 4940 + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 4941 + "dev": true, 4942 + "license": "MIT" 4943 + }, 4944 + "node_modules/neverthrow": { 4945 + "version": "7.2.0", 4946 + "resolved": "https://registry.npmjs.org/neverthrow/-/neverthrow-7.2.0.tgz", 4947 + "integrity": "sha512-iGBUfFB7yPczHHtA8dksKTJ9E8TESNTAx1UQWW6TzMF280vo9jdPYpLUXrMN1BCkPdHFdNG3fxOt2CUad8KhAw==", 4948 + "license": "MIT", 4949 + "engines": { 4950 + "node": ">=18" 4951 + } 4952 + }, 4953 + "node_modules/node-fetch": { 4954 + "version": "2.7.0", 4955 + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", 4956 + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", 4957 + "license": "MIT", 4958 + "dependencies": { 4959 + "whatwg-url": "^5.0.0" 4960 + }, 4961 + "engines": { 4962 + "node": "4.x || >=6.0.0" 4963 + }, 4964 + "peerDependencies": { 4965 + "encoding": "^0.1.0" 4966 + }, 4967 + "peerDependenciesMeta": { 4968 + "encoding": { 4969 + "optional": true 4970 + } 4971 + } 4972 + }, 4973 + "node_modules/node-gyp-build": { 4974 + "version": "4.8.4", 4975 + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", 4976 + "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", 4977 + "license": "MIT", 4978 + "bin": { 4979 + "node-gyp-build": "bin.js", 4980 + "node-gyp-build-optional": "optional.js", 4981 + "node-gyp-build-test": "build-test.js" 4982 + } 4983 + }, 4984 + "node_modules/nopt": { 4985 + "version": "8.1.0", 4986 + "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz", 4987 + "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==", 4988 + "license": "ISC", 4989 + "dependencies": { 4990 + "abbrev": "^3.0.0" 4991 + }, 4992 + "bin": { 4993 + "nopt": "bin/nopt.js" 4994 + }, 4995 + "engines": { 4996 + "node": "^18.17.0 || >=20.5.0" 4997 + } 4998 + }, 4999 + "node_modules/number-flow": { 5000 + "version": "0.5.7", 5001 + "resolved": "https://registry.npmjs.org/number-flow/-/number-flow-0.5.7.tgz", 5002 + "integrity": "sha512-P83Y9rBgN3Xpz5677YDNtuQHZpIldw6WXeWRg0+edrfFthhV7QqRdABas5gtu07QPLvbA8XhfO69rIvbKRzYIg==", 5003 + "license": "MIT", 5004 + "dependencies": { 5005 + "esm-env": "^1.1.4" 5006 + } 5007 + }, 5008 + "node_modules/object-assign": { 5009 + "version": "4.1.1", 5010 + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 5011 + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 5012 + "license": "MIT", 5013 + "engines": { 5014 + "node": ">=0.10.0" 5015 + } 5016 + }, 5017 + "node_modules/optionator": { 5018 + "version": "0.9.4", 5019 + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", 5020 + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", 5021 + "dev": true, 5022 + "license": "MIT", 5023 + "dependencies": { 5024 + "deep-is": "^0.1.3", 5025 + "fast-levenshtein": "^2.0.6", 5026 + "levn": "^0.4.1", 5027 + "prelude-ls": "^1.2.1", 5028 + "type-check": "^0.4.0", 5029 + "word-wrap": "^1.2.5" 5030 + }, 5031 + "engines": { 5032 + "node": ">= 0.8.0" 5033 + } 5034 + }, 5035 + "node_modules/orderedmap": { 5036 + "version": "2.1.1", 5037 + "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-2.1.1.tgz", 5038 + "integrity": "sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==", 5039 + "license": "MIT" 5040 + }, 5041 + "node_modules/p-limit": { 5042 + "version": "3.1.0", 5043 + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", 5044 + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", 5045 + "dev": true, 5046 + "license": "MIT", 5047 + "dependencies": { 5048 + "yocto-queue": "^0.1.0" 5049 + }, 5050 + "engines": { 5051 + "node": ">=10" 5052 + }, 5053 + "funding": { 5054 + "url": "https://github.com/sponsors/sindresorhus" 5055 + } 5056 + }, 5057 + "node_modules/p-locate": { 5058 + "version": "5.0.0", 5059 + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", 5060 + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", 5061 + "dev": true, 5062 + "license": "MIT", 5063 + "dependencies": { 5064 + "p-limit": "^3.0.2" 5065 + }, 5066 + "engines": { 5067 + "node": ">=10" 5068 + }, 5069 + "funding": { 5070 + "url": "https://github.com/sponsors/sindresorhus" 5071 + } 5072 + }, 5073 + "node_modules/package-json-from-dist": { 5074 + "version": "1.0.1", 5075 + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", 5076 + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", 5077 + "license": "BlueOak-1.0.0" 5078 + }, 5079 + "node_modules/paper": { 5080 + "version": "0.12.18", 5081 + "resolved": "https://registry.npmjs.org/paper/-/paper-0.12.18.tgz", 5082 + "integrity": "sha512-ZSLIEejQTJZuYHhSSqAf4jXOnii0kPhCJGAnYAANtdS72aNwXJ9cP95tZHgq1tnNpvEwgQhggy+4OarviqTCGw==", 5083 + "license": "MIT", 5084 + "workspaces": [ 5085 + "packages/*" 5086 + ], 5087 + "engines": { 5088 + "node": ">=8.0.0" 5089 + } 5090 + }, 5091 + "node_modules/parent-module": { 5092 + "version": "1.0.1", 5093 + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 5094 + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 5095 + "dev": true, 5096 + "license": "MIT", 5097 + "dependencies": { 5098 + "callsites": "^3.0.0" 5099 + }, 5100 + "engines": { 5101 + "node": ">=6" 5102 + } 5103 + }, 5104 + "node_modules/path-exists": { 5105 + "version": "4.0.0", 5106 + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 5107 + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 5108 + "dev": true, 5109 + "license": "MIT", 5110 + "engines": { 5111 + "node": ">=8" 5112 + } 5113 + }, 5114 + "node_modules/path-key": { 5115 + "version": "3.1.1", 5116 + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 5117 + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 5118 + "license": "MIT", 5119 + "engines": { 5120 + "node": ">=8" 5121 + } 5122 + }, 5123 + "node_modules/path-scurry": { 5124 + "version": "1.11.1", 5125 + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", 5126 + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", 5127 + "license": "BlueOak-1.0.0", 5128 + "dependencies": { 5129 + "lru-cache": "^10.2.0", 5130 + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" 5131 + }, 5132 + "engines": { 5133 + "node": ">=16 || 14 >=14.18" 5134 + }, 5135 + "funding": { 5136 + "url": "https://github.com/sponsors/isaacs" 5137 + } 5138 + }, 5139 + "node_modules/pica": { 5140 + "version": "9.0.1", 5141 + "resolved": "https://registry.npmjs.org/pica/-/pica-9.0.1.tgz", 5142 + "integrity": "sha512-v0U4vY6Z3ztz9b4jBIhCD3WYoecGXCQeCsYep+sXRefViL+mVVoTL+wqzdPeE+GpBFsRUtQZb6dltvAt2UkMtQ==", 5143 + "license": "MIT", 5144 + "dependencies": { 5145 + "glur": "^1.1.2", 5146 + "multimath": "^2.0.0", 5147 + "object-assign": "^4.1.1", 5148 + "webworkify": "^1.5.0" 5149 + } 5150 + }, 5151 + "node_modules/picocolors": { 5152 + "version": "1.1.1", 5153 + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 5154 + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", 5155 + "license": "ISC" 5156 + }, 5157 + "node_modules/picomatch": { 5158 + "version": "4.0.2", 5159 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", 5160 + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", 5161 + "license": "MIT", 5162 + "engines": { 5163 + "node": ">=12" 5164 + }, 5165 + "funding": { 5166 + "url": "https://github.com/sponsors/jonschlinkert" 5167 + } 5168 + }, 5169 + "node_modules/plyr": { 5170 + "version": "3.7.8", 5171 + "resolved": "https://registry.npmjs.org/plyr/-/plyr-3.7.8.tgz", 5172 + "integrity": "sha512-yG/EHDobwbB/uP+4Bm6eUpJ93f8xxHjjk2dYcD1Oqpe1EcuQl5tzzw9Oq+uVAzd2lkM11qZfydSiyIpiB8pgdA==", 5173 + "license": "MIT", 5174 + "dependencies": { 5175 + "core-js": "^3.26.1", 5176 + "custom-event-polyfill": "^1.0.7", 5177 + "loadjs": "^4.2.0", 5178 + "rangetouch": "^2.0.1", 5179 + "url-polyfill": "^1.1.12" 5180 + } 5181 + }, 5182 + "node_modules/postcss": { 5183 + "version": "8.5.3", 5184 + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", 5185 + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", 5186 + "funding": [ 5187 + { 5188 + "type": "opencollective", 5189 + "url": "https://opencollective.com/postcss/" 5190 + }, 5191 + { 5192 + "type": "tidelift", 5193 + "url": "https://tidelift.com/funding/github/npm/postcss" 5194 + }, 5195 + { 5196 + "type": "github", 5197 + "url": "https://github.com/sponsors/ai" 5198 + } 5199 + ], 5200 + "license": "MIT", 5201 + "dependencies": { 5202 + "nanoid": "^3.3.8", 5203 + "picocolors": "^1.1.1", 5204 + "source-map-js": "^1.2.1" 5205 + }, 5206 + "engines": { 5207 + "node": "^10 || ^12 || >=14" 5208 + } 5209 + }, 5210 + "node_modules/postcss-load-config": { 5211 + "version": "3.1.4", 5212 + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", 5213 + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", 5214 + "dev": true, 5215 + "license": "MIT", 5216 + "dependencies": { 5217 + "lilconfig": "^2.0.5", 5218 + "yaml": "^1.10.2" 5219 + }, 5220 + "engines": { 5221 + "node": ">= 10" 5222 + }, 5223 + "funding": { 5224 + "type": "opencollective", 5225 + "url": "https://opencollective.com/postcss/" 5226 + }, 5227 + "peerDependencies": { 5228 + "postcss": ">=8.0.9", 5229 + "ts-node": ">=9.0.0" 5230 + }, 5231 + "peerDependenciesMeta": { 5232 + "postcss": { 5233 + "optional": true 5234 + }, 5235 + "ts-node": { 5236 + "optional": true 5237 + } 5238 + } 5239 + }, 5240 + "node_modules/postcss-load-config/node_modules/yaml": { 5241 + "version": "1.10.2", 5242 + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 5243 + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", 5244 + "dev": true, 5245 + "license": "ISC", 5246 + "engines": { 5247 + "node": ">= 6" 5248 + } 5249 + }, 5250 + "node_modules/postcss-safe-parser": { 5251 + "version": "7.0.1", 5252 + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", 5253 + "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", 5254 + "dev": true, 5255 + "funding": [ 5256 + { 5257 + "type": "opencollective", 5258 + "url": "https://opencollective.com/postcss/" 5259 + }, 5260 + { 5261 + "type": "tidelift", 5262 + "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" 5263 + }, 5264 + { 5265 + "type": "github", 5266 + "url": "https://github.com/sponsors/ai" 5267 + } 5268 + ], 5269 + "license": "MIT", 5270 + "engines": { 5271 + "node": ">=18.0" 5272 + }, 5273 + "peerDependencies": { 5274 + "postcss": "^8.4.31" 5275 + } 5276 + }, 5277 + "node_modules/postcss-scss": { 5278 + "version": "4.0.9", 5279 + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz", 5280 + "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==", 5281 + "dev": true, 5282 + "funding": [ 5283 + { 5284 + "type": "opencollective", 5285 + "url": "https://opencollective.com/postcss/" 5286 + }, 5287 + { 5288 + "type": "tidelift", 5289 + "url": "https://tidelift.com/funding/github/npm/postcss-scss" 5290 + }, 5291 + { 5292 + "type": "github", 5293 + "url": "https://github.com/sponsors/ai" 5294 + } 5295 + ], 5296 + "license": "MIT", 5297 + "engines": { 5298 + "node": ">=12.0" 5299 + }, 5300 + "peerDependencies": { 5301 + "postcss": "^8.4.29" 5302 + } 5303 + }, 5304 + "node_modules/postcss-selector-parser": { 5305 + "version": "6.0.10", 5306 + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", 5307 + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", 5308 + "dev": true, 5309 + "license": "MIT", 5310 + "dependencies": { 5311 + "cssesc": "^3.0.0", 5312 + "util-deprecate": "^1.0.2" 5313 + }, 5314 + "engines": { 5315 + "node": ">=4" 5316 + } 5317 + }, 5318 + "node_modules/prelude-ls": { 5319 + "version": "1.2.1", 5320 + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 5321 + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 5322 + "dev": true, 5323 + "license": "MIT", 5324 + "engines": { 5325 + "node": ">= 0.8.0" 5326 + } 5327 + }, 5328 + "node_modules/prettier": { 5329 + "version": "3.5.3", 5330 + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", 5331 + "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", 5332 + "dev": true, 5333 + "license": "MIT", 5334 + "bin": { 5335 + "prettier": "bin/prettier.cjs" 5336 + }, 5337 + "engines": { 5338 + "node": ">=14" 5339 + }, 5340 + "funding": { 5341 + "url": "https://github.com/prettier/prettier?sponsor=1" 5342 + } 5343 + }, 5344 + "node_modules/prettier-plugin-svelte": { 5345 + "version": "3.4.0", 5346 + "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.4.0.tgz", 5347 + "integrity": "sha512-pn1ra/0mPObzqoIQn/vUTR3ZZI6UuZ0sHqMK5x2jMLGrs53h0sXhkVuDcrlssHwIMk7FYrMjHBPoUSyyEEDlBQ==", 5348 + "dev": true, 5349 + "license": "MIT", 5350 + "peerDependencies": { 5351 + "prettier": "^3.0.0", 5352 + "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" 5353 + } 5354 + }, 5355 + "node_modules/prettier-plugin-tailwindcss": { 5356 + "version": "0.6.11", 5357 + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.11.tgz", 5358 + "integrity": "sha512-YxaYSIvZPAqhrrEpRtonnrXdghZg1irNg4qrjboCXrpybLWVs55cW2N3juhspVJiO0JBvYJT8SYsJpc8OQSnsA==", 5359 + "dev": true, 5360 + "license": "MIT", 5361 + "engines": { 5362 + "node": ">=14.21.3" 5363 + }, 5364 + "peerDependencies": { 5365 + "@ianvs/prettier-plugin-sort-imports": "*", 5366 + "@prettier/plugin-pug": "*", 5367 + "@shopify/prettier-plugin-liquid": "*", 5368 + "@trivago/prettier-plugin-sort-imports": "*", 5369 + "@zackad/prettier-plugin-twig": "*", 5370 + "prettier": "^3.0", 5371 + "prettier-plugin-astro": "*", 5372 + "prettier-plugin-css-order": "*", 5373 + "prettier-plugin-import-sort": "*", 5374 + "prettier-plugin-jsdoc": "*", 5375 + "prettier-plugin-marko": "*", 5376 + "prettier-plugin-multiline-arrays": "*", 5377 + "prettier-plugin-organize-attributes": "*", 5378 + "prettier-plugin-organize-imports": "*", 5379 + "prettier-plugin-sort-imports": "*", 5380 + "prettier-plugin-style-order": "*", 5381 + "prettier-plugin-svelte": "*" 5382 + }, 5383 + "peerDependenciesMeta": { 5384 + "@ianvs/prettier-plugin-sort-imports": { 5385 + "optional": true 5386 + }, 5387 + "@prettier/plugin-pug": { 5388 + "optional": true 5389 + }, 5390 + "@shopify/prettier-plugin-liquid": { 5391 + "optional": true 5392 + }, 5393 + "@trivago/prettier-plugin-sort-imports": { 5394 + "optional": true 5395 + }, 5396 + "@zackad/prettier-plugin-twig": { 5397 + "optional": true 5398 + }, 5399 + "prettier-plugin-astro": { 5400 + "optional": true 5401 + }, 5402 + "prettier-plugin-css-order": { 5403 + "optional": true 5404 + }, 5405 + "prettier-plugin-import-sort": { 5406 + "optional": true 5407 + }, 5408 + "prettier-plugin-jsdoc": { 5409 + "optional": true 5410 + }, 5411 + "prettier-plugin-marko": { 5412 + "optional": true 5413 + }, 5414 + "prettier-plugin-multiline-arrays": { 5415 + "optional": true 5416 + }, 5417 + "prettier-plugin-organize-attributes": { 5418 + "optional": true 5419 + }, 5420 + "prettier-plugin-organize-imports": { 5421 + "optional": true 5422 + }, 5423 + "prettier-plugin-sort-imports": { 5424 + "optional": true 5425 + }, 5426 + "prettier-plugin-style-order": { 5427 + "optional": true 5428 + }, 5429 + "prettier-plugin-svelte": { 5430 + "optional": true 5431 + } 5432 + } 5433 + }, 5434 + "node_modules/prosemirror-changeset": { 5435 + "version": "2.3.0", 5436 + "resolved": "https://registry.npmjs.org/prosemirror-changeset/-/prosemirror-changeset-2.3.0.tgz", 5437 + "integrity": "sha512-8wRKhlEwEJ4I13Ju54q2NZR1pVKGTgJ/8XsQ8L5A5uUsQ/YQScQJuEAuh8Bn8i6IwAMjjLRABd9lVli+DlIiVw==", 5438 + "license": "MIT", 5439 + "dependencies": { 5440 + "prosemirror-transform": "^1.0.0" 5441 + } 5442 + }, 5443 + "node_modules/prosemirror-collab": { 5444 + "version": "1.3.1", 5445 + "resolved": "https://registry.npmjs.org/prosemirror-collab/-/prosemirror-collab-1.3.1.tgz", 5446 + "integrity": "sha512-4SnynYR9TTYaQVXd/ieUvsVV4PDMBzrq2xPUWutHivDuOshZXqQ5rGbZM84HEaXKbLdItse7weMGOUdDVcLKEQ==", 5447 + "license": "MIT", 5448 + "dependencies": { 5449 + "prosemirror-state": "^1.0.0" 5450 + } 5451 + }, 5452 + "node_modules/prosemirror-commands": { 5453 + "version": "1.7.1", 5454 + "resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.7.1.tgz", 5455 + "integrity": "sha512-rT7qZnQtx5c0/y/KlYaGvtG411S97UaL6gdp6RIZ23DLHanMYLyfGBV5DtSnZdthQql7W+lEVbpSfwtO8T+L2w==", 5456 + "license": "MIT", 5457 + "dependencies": { 5458 + "prosemirror-model": "^1.0.0", 5459 + "prosemirror-state": "^1.0.0", 5460 + "prosemirror-transform": "^1.10.2" 5461 + } 5462 + }, 5463 + "node_modules/prosemirror-dropcursor": { 5464 + "version": "1.8.2", 5465 + "resolved": "https://registry.npmjs.org/prosemirror-dropcursor/-/prosemirror-dropcursor-1.8.2.tgz", 5466 + "integrity": "sha512-CCk6Gyx9+Tt2sbYk5NK0nB1ukHi2ryaRgadV/LvyNuO3ena1payM2z6Cg0vO1ebK8cxbzo41ku2DE5Axj1Zuiw==", 5467 + "license": "MIT", 5468 + "dependencies": { 5469 + "prosemirror-state": "^1.0.0", 5470 + "prosemirror-transform": "^1.1.0", 5471 + "prosemirror-view": "^1.1.0" 5472 + } 5473 + }, 5474 + "node_modules/prosemirror-example-setup": { 5475 + "version": "1.2.3", 5476 + "resolved": "https://registry.npmjs.org/prosemirror-example-setup/-/prosemirror-example-setup-1.2.3.tgz", 5477 + "integrity": "sha512-+hXZi8+xbFvYM465zZH3rdZ9w7EguVKmUYwYLZjIJIjPK+I0nPTwn8j0ByW2avchVczRwZmOJGNvehblyIerSQ==", 5478 + "license": "MIT", 5479 + "dependencies": { 5480 + "prosemirror-commands": "^1.0.0", 5481 + "prosemirror-dropcursor": "^1.0.0", 5482 + "prosemirror-gapcursor": "^1.0.0", 5483 + "prosemirror-history": "^1.0.0", 5484 + "prosemirror-inputrules": "^1.0.0", 5485 + "prosemirror-keymap": "^1.0.0", 5486 + "prosemirror-menu": "^1.0.0", 5487 + "prosemirror-schema-list": "^1.0.0", 5488 + "prosemirror-state": "^1.0.0" 5489 + } 5490 + }, 5491 + "node_modules/prosemirror-gapcursor": { 5492 + "version": "1.3.2", 5493 + "resolved": "https://registry.npmjs.org/prosemirror-gapcursor/-/prosemirror-gapcursor-1.3.2.tgz", 5494 + "integrity": "sha512-wtjswVBd2vaQRrnYZaBCbyDqr232Ed4p2QPtRIUK5FuqHYKGWkEwl08oQM4Tw7DOR0FsasARV5uJFvMZWxdNxQ==", 5495 + "license": "MIT", 5496 + "dependencies": { 5497 + "prosemirror-keymap": "^1.0.0", 5498 + "prosemirror-model": "^1.0.0", 5499 + "prosemirror-state": "^1.0.0", 5500 + "prosemirror-view": "^1.0.0" 5501 + } 5502 + }, 5503 + "node_modules/prosemirror-history": { 5504 + "version": "1.4.1", 5505 + "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.4.1.tgz", 5506 + "integrity": "sha512-2JZD8z2JviJrboD9cPuX/Sv/1ChFng+xh2tChQ2X4bB2HeK+rra/bmJ3xGntCcjhOqIzSDG6Id7e8RJ9QPXLEQ==", 5507 + "license": "MIT", 5508 + "dependencies": { 5509 + "prosemirror-state": "^1.2.2", 5510 + "prosemirror-transform": "^1.0.0", 5511 + "prosemirror-view": "^1.31.0", 5512 + "rope-sequence": "^1.3.0" 5513 + } 5514 + }, 5515 + "node_modules/prosemirror-inputrules": { 5516 + "version": "1.5.0", 5517 + "resolved": "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.5.0.tgz", 5518 + "integrity": "sha512-K0xJRCmt+uSw7xesnHmcn72yBGTbY45vm8gXI4LZXbx2Z0jwh5aF9xrGQgrVPu0WbyFVFF3E/o9VhJYz6SQWnA==", 5519 + "license": "MIT", 5520 + "dependencies": { 5521 + "prosemirror-state": "^1.0.0", 5522 + "prosemirror-transform": "^1.0.0" 5523 + } 5524 + }, 5525 + "node_modules/prosemirror-keymap": { 5526 + "version": "1.2.3", 5527 + "resolved": "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.2.3.tgz", 5528 + "integrity": "sha512-4HucRlpiLd1IPQQXNqeo81BGtkY8Ai5smHhKW9jjPKRc2wQIxksg7Hl1tTI2IfT2B/LgX6bfYvXxEpJl7aKYKw==", 5529 + "license": "MIT", 5530 + "dependencies": { 5531 + "prosemirror-state": "^1.0.0", 5532 + "w3c-keyname": "^2.2.0" 5533 + } 5534 + }, 5535 + "node_modules/prosemirror-markdown": { 5536 + "version": "1.13.2", 5537 + "resolved": "https://registry.npmjs.org/prosemirror-markdown/-/prosemirror-markdown-1.13.2.tgz", 5538 + "integrity": "sha512-FPD9rHPdA9fqzNmIIDhhnYQ6WgNoSWX9StUZ8LEKapaXU9i6XgykaHKhp6XMyXlOWetmaFgGDS/nu/w9/vUc5g==", 5539 + "license": "MIT", 5540 + "dependencies": { 5541 + "@types/markdown-it": "^14.0.0", 5542 + "markdown-it": "^14.0.0", 5543 + "prosemirror-model": "^1.25.0" 5544 + } 5545 + }, 5546 + "node_modules/prosemirror-menu": { 5547 + "version": "1.2.5", 5548 + "resolved": "https://registry.npmjs.org/prosemirror-menu/-/prosemirror-menu-1.2.5.tgz", 5549 + "integrity": "sha512-qwXzynnpBIeg1D7BAtjOusR+81xCp53j7iWu/IargiRZqRjGIlQuu1f3jFi+ehrHhWMLoyOQTSRx/IWZJqOYtQ==", 5550 + "license": "MIT", 5551 + "dependencies": { 5552 + "crelt": "^1.0.0", 5553 + "prosemirror-commands": "^1.0.0", 5554 + "prosemirror-history": "^1.0.0", 5555 + "prosemirror-state": "^1.0.0" 5556 + } 5557 + }, 5558 + "node_modules/prosemirror-model": { 5559 + "version": "1.25.1", 5560 + "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.25.1.tgz", 5561 + "integrity": "sha512-AUvbm7qqmpZa5d9fPKMvH1Q5bqYQvAZWOGRvxsB6iFLyycvC9MwNemNVjHVrWgjaoxAfY8XVg7DbvQ/qxvI9Eg==", 5562 + "license": "MIT", 5563 + "dependencies": { 5564 + "orderedmap": "^2.0.0" 5565 + } 5566 + }, 5567 + "node_modules/prosemirror-schema-basic": { 5568 + "version": "1.2.4", 5569 + "resolved": "https://registry.npmjs.org/prosemirror-schema-basic/-/prosemirror-schema-basic-1.2.4.tgz", 5570 + "integrity": "sha512-ELxP4TlX3yr2v5rM7Sb70SqStq5NvI15c0j9j/gjsrO5vaw+fnnpovCLEGIcpeGfifkuqJwl4fon6b+KdrODYQ==", 5571 + "license": "MIT", 5572 + "dependencies": { 5573 + "prosemirror-model": "^1.25.0" 5574 + } 5575 + }, 5576 + "node_modules/prosemirror-schema-list": { 5577 + "version": "1.5.1", 5578 + "resolved": "https://registry.npmjs.org/prosemirror-schema-list/-/prosemirror-schema-list-1.5.1.tgz", 5579 + "integrity": "sha512-927lFx/uwyQaGwJxLWCZRkjXG0p48KpMj6ueoYiu4JX05GGuGcgzAy62dfiV8eFZftgyBUvLx76RsMe20fJl+Q==", 5580 + "license": "MIT", 5581 + "dependencies": { 5582 + "prosemirror-model": "^1.0.0", 5583 + "prosemirror-state": "^1.0.0", 5584 + "prosemirror-transform": "^1.7.3" 5585 + } 5586 + }, 5587 + "node_modules/prosemirror-state": { 5588 + "version": "1.4.3", 5589 + "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.3.tgz", 5590 + "integrity": "sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==", 5591 + "license": "MIT", 5592 + "dependencies": { 5593 + "prosemirror-model": "^1.0.0", 5594 + "prosemirror-transform": "^1.0.0", 5595 + "prosemirror-view": "^1.27.0" 5596 + } 5597 + }, 5598 + "node_modules/prosemirror-tables": { 5599 + "version": "1.7.1", 5600 + "resolved": "https://registry.npmjs.org/prosemirror-tables/-/prosemirror-tables-1.7.1.tgz", 5601 + "integrity": "sha512-eRQ97Bf+i9Eby99QbyAiyov43iOKgWa7QCGly+lrDt7efZ1v8NWolhXiB43hSDGIXT1UXgbs4KJN3a06FGpr1Q==", 5602 + "license": "MIT", 5603 + "dependencies": { 5604 + "prosemirror-keymap": "^1.2.2", 5605 + "prosemirror-model": "^1.25.0", 5606 + "prosemirror-state": "^1.4.3", 5607 + "prosemirror-transform": "^1.10.3", 5608 + "prosemirror-view": "^1.39.1" 5609 + } 5610 + }, 5611 + "node_modules/prosemirror-trailing-node": { 5612 + "version": "3.0.0", 5613 + "resolved": "https://registry.npmjs.org/prosemirror-trailing-node/-/prosemirror-trailing-node-3.0.0.tgz", 5614 + "integrity": "sha512-xiun5/3q0w5eRnGYfNlW1uU9W6x5MoFKWwq/0TIRgt09lv7Hcser2QYV8t4muXbEr+Fwo0geYn79Xs4GKywrRQ==", 5615 + "license": "MIT", 5616 + "dependencies": { 5617 + "@remirror/core-constants": "3.0.0", 5618 + "escape-string-regexp": "^4.0.0" 5619 + }, 5620 + "peerDependencies": { 5621 + "prosemirror-model": "^1.22.1", 5622 + "prosemirror-state": "^1.4.2", 5623 + "prosemirror-view": "^1.33.8" 5624 + } 5625 + }, 5626 + "node_modules/prosemirror-transform": { 5627 + "version": "1.10.4", 5628 + "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.10.4.tgz", 5629 + "integrity": "sha512-pwDy22nAnGqNR1feOQKHxoFkkUtepoFAd3r2hbEDsnf4wp57kKA36hXsB3njA9FtONBEwSDnDeCiJe+ItD+ykw==", 5630 + "license": "MIT", 5631 + "dependencies": { 5632 + "prosemirror-model": "^1.21.0" 5633 + } 5634 + }, 5635 + "node_modules/prosemirror-view": { 5636 + "version": "1.39.3", 5637 + "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.39.3.tgz", 5638 + "integrity": "sha512-bY/7kg0LzRE7ytR0zRdSMWX3sknEjw68l836ffLPMh0OG3OYnNuBDUSF3v0vjvnzgYjgY9ZH/RypbARURlcMFA==", 5639 + "license": "MIT", 5640 + "dependencies": { 5641 + "prosemirror-model": "^1.20.0", 5642 + "prosemirror-state": "^1.0.0", 5643 + "prosemirror-transform": "^1.1.0" 5644 + } 5645 + }, 5646 + "node_modules/punycode": { 5647 + "version": "2.3.1", 5648 + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", 5649 + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", 5650 + "dev": true, 5651 + "license": "MIT", 5652 + "engines": { 5653 + "node": ">=6" 5654 + } 5655 + }, 5656 + "node_modules/punycode.js": { 5657 + "version": "2.3.1", 5658 + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", 5659 + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", 5660 + "license": "MIT", 5661 + "engines": { 5662 + "node": ">=6" 5663 + } 5664 + }, 5665 + "node_modules/queue-microtask": { 5666 + "version": "1.2.3", 5667 + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 5668 + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 5669 + "dev": true, 5670 + "funding": [ 5671 + { 5672 + "type": "github", 5673 + "url": "https://github.com/sponsors/feross" 5674 + }, 5675 + { 5676 + "type": "patreon", 5677 + "url": "https://www.patreon.com/feross" 5678 + }, 5679 + { 5680 + "type": "consulting", 5681 + "url": "https://feross.org/support" 5682 + } 5683 + ], 5684 + "license": "MIT" 5685 + }, 5686 + "node_modules/queueueue": { 5687 + "version": "4.1.2", 5688 + "resolved": "https://registry.npmjs.org/queueueue/-/queueueue-4.1.2.tgz", 5689 + "integrity": "sha512-YNOihQyk72FRrGQP+fVjUDVCSgxtHS5EdfgXjCYwPCTyhVWXriHfUt0XK0eT7vcBX0m91g0e0KVO8CxoNLh60g==", 5690 + "license": "MIT", 5691 + "dependencies": { 5692 + "fast-list": "^1.0.3" 5693 + }, 5694 + "engines": { 5695 + "node": ">=18" 5696 + } 5697 + }, 5698 + "node_modules/rangetouch": { 5699 + "version": "2.0.1", 5700 + "resolved": "https://registry.npmjs.org/rangetouch/-/rangetouch-2.0.1.tgz", 5701 + "integrity": "sha512-sln+pNSc8NGaHoLzwNBssFSf/rSYkqeBXzX1AtJlkJiUaVSJSbRAWJk+4omsXkN+EJalzkZhWQ3th1m0FpR5xA==", 5702 + "license": "MIT" 5703 + }, 5704 + "node_modules/react": { 5705 + "version": "18.3.1", 5706 + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", 5707 + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", 5708 + "license": "MIT", 5709 + "dependencies": { 5710 + "loose-envify": "^1.1.0" 5711 + }, 5712 + "engines": { 5713 + "node": ">=0.10.0" 5714 + } 5715 + }, 5716 + "node_modules/react-dom": { 5717 + "version": "18.3.1", 5718 + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", 5719 + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", 5720 + "license": "MIT", 5721 + "dependencies": { 5722 + "loose-envify": "^1.1.0", 5723 + "scheduler": "^0.23.2" 5724 + }, 5725 + "peerDependencies": { 5726 + "react": "^18.3.1" 5727 + } 5728 + }, 5729 + "node_modules/readdirp": { 5730 + "version": "4.1.2", 5731 + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", 5732 + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", 5733 + "dev": true, 5734 + "license": "MIT", 5735 + "engines": { 5736 + "node": ">= 14.18.0" 5737 + }, 5738 + "funding": { 5739 + "type": "individual", 5740 + "url": "https://paulmillr.com/funding/" 5741 + } 5742 + }, 5743 + "node_modules/resolve-from": { 5744 + "version": "4.0.0", 5745 + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 5746 + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 5747 + "dev": true, 5748 + "license": "MIT", 5749 + "engines": { 5750 + "node": ">=4" 5751 + } 5752 + }, 5753 + "node_modules/reusify": { 5754 + "version": "1.1.0", 5755 + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", 5756 + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", 5757 + "dev": true, 5758 + "license": "MIT", 5759 + "engines": { 5760 + "iojs": ">=1.0.0", 5761 + "node": ">=0.10.0" 5762 + } 5763 + }, 5764 + "node_modules/rfc6902": { 5765 + "version": "3.1.1", 5766 + "resolved": "https://registry.npmjs.org/rfc6902/-/rfc6902-3.1.1.tgz", 5767 + "integrity": "sha512-aHiEm2S4mQSyyIaK7NVotfmVkgOOn1K9iuuSCIKJ8eIAte/8o06Vp06Z2NcLrmMahDmA+2F6oHx33P4NOQ1JnQ==", 5768 + "license": "MIT" 5769 + }, 5770 + "node_modules/rollup": { 5771 + "version": "4.41.0", 5772 + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.41.0.tgz", 5773 + "integrity": "sha512-HqMFpUbWlf/tvcxBFNKnJyzc7Lk+XO3FGc3pbNBLqEbOz0gPLRgcrlS3UF4MfUrVlstOaP/q0kM6GVvi+LrLRg==", 5774 + "license": "MIT", 5775 + "dependencies": { 5776 + "@types/estree": "1.0.7" 5777 + }, 5778 + "bin": { 5779 + "rollup": "dist/bin/rollup" 5780 + }, 5781 + "engines": { 5782 + "node": ">=18.0.0", 5783 + "npm": ">=8.0.0" 5784 + }, 5785 + "optionalDependencies": { 5786 + "@rollup/rollup-android-arm-eabi": "4.41.0", 5787 + "@rollup/rollup-android-arm64": "4.41.0", 5788 + "@rollup/rollup-darwin-arm64": "4.41.0", 5789 + "@rollup/rollup-darwin-x64": "4.41.0", 5790 + "@rollup/rollup-freebsd-arm64": "4.41.0", 5791 + "@rollup/rollup-freebsd-x64": "4.41.0", 5792 + "@rollup/rollup-linux-arm-gnueabihf": "4.41.0", 5793 + "@rollup/rollup-linux-arm-musleabihf": "4.41.0", 5794 + "@rollup/rollup-linux-arm64-gnu": "4.41.0", 5795 + "@rollup/rollup-linux-arm64-musl": "4.41.0", 5796 + "@rollup/rollup-linux-loongarch64-gnu": "4.41.0", 5797 + "@rollup/rollup-linux-powerpc64le-gnu": "4.41.0", 5798 + "@rollup/rollup-linux-riscv64-gnu": "4.41.0", 5799 + "@rollup/rollup-linux-riscv64-musl": "4.41.0", 5800 + "@rollup/rollup-linux-s390x-gnu": "4.41.0", 5801 + "@rollup/rollup-linux-x64-gnu": "4.41.0", 5802 + "@rollup/rollup-linux-x64-musl": "4.41.0", 5803 + "@rollup/rollup-win32-arm64-msvc": "4.41.0", 5804 + "@rollup/rollup-win32-ia32-msvc": "4.41.0", 5805 + "@rollup/rollup-win32-x64-msvc": "4.41.0", 5806 + "fsevents": "~2.3.2" 5807 + } 5808 + }, 5809 + "node_modules/rope-sequence": { 5810 + "version": "1.3.4", 5811 + "resolved": "https://registry.npmjs.org/rope-sequence/-/rope-sequence-1.3.4.tgz", 5812 + "integrity": "sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==", 5813 + "license": "MIT" 5814 + }, 5815 + "node_modules/run-parallel": { 5816 + "version": "1.2.0", 5817 + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 5818 + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 5819 + "dev": true, 5820 + "funding": [ 5821 + { 5822 + "type": "github", 5823 + "url": "https://github.com/sponsors/feross" 5824 + }, 5825 + { 5826 + "type": "patreon", 5827 + "url": "https://www.patreon.com/feross" 5828 + }, 5829 + { 5830 + "type": "consulting", 5831 + "url": "https://feross.org/support" 5832 + } 5833 + ], 5834 + "license": "MIT", 5835 + "dependencies": { 5836 + "queue-microtask": "^1.2.2" 5837 + } 5838 + }, 5839 + "node_modules/runed": { 5840 + "version": "0.23.4", 5841 + "resolved": "https://registry.npmjs.org/runed/-/runed-0.23.4.tgz", 5842 + "integrity": "sha512-9q8oUiBYeXIDLWNK5DfCWlkL0EW3oGbk845VdKlPeia28l751VpfesaB/+7pI6rnbx1I6rqoZ2fZxptOJLxILA==", 5843 + "funding": [ 5844 + "https://github.com/sponsors/huntabyte", 5845 + "https://github.com/sponsors/tglide" 5846 + ], 5847 + "dependencies": { 5848 + "esm-env": "^1.0.0" 5849 + }, 5850 + "peerDependencies": { 5851 + "svelte": "^5.7.0" 5852 + } 5853 + }, 5854 + "node_modules/sade": { 5855 + "version": "1.8.1", 5856 + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", 5857 + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", 5858 + "license": "MIT", 5859 + "dependencies": { 5860 + "mri": "^1.1.0" 5861 + }, 5862 + "engines": { 5863 + "node": ">=6" 5864 + } 5865 + }, 5866 + "node_modules/scheduler": { 5867 + "version": "0.23.2", 5868 + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", 5869 + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", 5870 + "license": "MIT", 5871 + "dependencies": { 5872 + "loose-envify": "^1.1.0" 5873 + } 5874 + }, 5875 + "node_modules/semver": { 5876 + "version": "7.7.2", 5877 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", 5878 + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", 5879 + "license": "ISC", 5880 + "bin": { 5881 + "semver": "bin/semver.js" 5882 + }, 5883 + "engines": { 5884 + "node": ">=10" 5885 + } 5886 + }, 5887 + "node_modules/set-cookie-parser": { 5888 + "version": "2.7.1", 5889 + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", 5890 + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", 5891 + "license": "MIT" 5892 + }, 5893 + "node_modules/shebang-command": { 5894 + "version": "2.0.0", 5895 + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 5896 + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 5897 + "license": "MIT", 5898 + "dependencies": { 5899 + "shebang-regex": "^3.0.0" 5900 + }, 5901 + "engines": { 5902 + "node": ">=8" 5903 + } 5904 + }, 5905 + "node_modules/shebang-regex": { 5906 + "version": "3.0.0", 5907 + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 5908 + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 5909 + "license": "MIT", 5910 + "engines": { 5911 + "node": ">=8" 5912 + } 5913 + }, 5914 + "node_modules/signal-exit": { 5915 + "version": "4.1.0", 5916 + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", 5917 + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", 5918 + "license": "ISC", 5919 + "engines": { 5920 + "node": ">=14" 5921 + }, 5922 + "funding": { 5923 + "url": "https://github.com/sponsors/isaacs" 5924 + } 5925 + }, 5926 + "node_modules/sirv": { 5927 + "version": "3.0.1", 5928 + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.1.tgz", 5929 + "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==", 5930 + "license": "MIT", 5931 + "dependencies": { 5932 + "@polka/url": "^1.0.0-next.24", 5933 + "mrmime": "^2.0.0", 5934 + "totalist": "^3.0.0" 5935 + }, 5936 + "engines": { 5937 + "node": ">=18" 5938 + } 5939 + }, 5940 + "node_modules/source-map-js": { 5941 + "version": "1.2.1", 5942 + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", 5943 + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", 5944 + "license": "BSD-3-Clause", 5945 + "engines": { 5946 + "node": ">=0.10.0" 5947 + } 5948 + }, 5949 + "node_modules/string-width": { 5950 + "version": "5.1.2", 5951 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", 5952 + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", 5953 + "license": "MIT", 5954 + "dependencies": { 5955 + "eastasianwidth": "^0.2.0", 5956 + "emoji-regex": "^9.2.2", 5957 + "strip-ansi": "^7.0.1" 5958 + }, 5959 + "engines": { 5960 + "node": ">=12" 5961 + }, 5962 + "funding": { 5963 + "url": "https://github.com/sponsors/sindresorhus" 5964 + } 5965 + }, 5966 + "node_modules/string-width-cjs": { 5967 + "name": "string-width", 5968 + "version": "4.2.3", 5969 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 5970 + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 5971 + "license": "MIT", 5972 + "dependencies": { 5973 + "emoji-regex": "^8.0.0", 5974 + "is-fullwidth-code-point": "^3.0.0", 5975 + "strip-ansi": "^6.0.1" 5976 + }, 5977 + "engines": { 5978 + "node": ">=8" 5979 + } 5980 + }, 5981 + "node_modules/string-width-cjs/node_modules/ansi-regex": { 5982 + "version": "5.0.1", 5983 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 5984 + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 5985 + "license": "MIT", 5986 + "engines": { 5987 + "node": ">=8" 5988 + } 5989 + }, 5990 + "node_modules/string-width-cjs/node_modules/emoji-regex": { 5991 + "version": "8.0.0", 5992 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 5993 + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 5994 + "license": "MIT" 5995 + }, 5996 + "node_modules/string-width-cjs/node_modules/strip-ansi": { 5997 + "version": "6.0.1", 5998 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 5999 + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 6000 + "license": "MIT", 6001 + "dependencies": { 6002 + "ansi-regex": "^5.0.1" 6003 + }, 6004 + "engines": { 6005 + "node": ">=8" 6006 + } 6007 + }, 6008 + "node_modules/strip-ansi": { 6009 + "version": "7.1.0", 6010 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", 6011 + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", 6012 + "license": "MIT", 6013 + "dependencies": { 6014 + "ansi-regex": "^6.0.1" 6015 + }, 6016 + "engines": { 6017 + "node": ">=12" 6018 + }, 6019 + "funding": { 6020 + "url": "https://github.com/chalk/strip-ansi?sponsor=1" 6021 + } 6022 + }, 6023 + "node_modules/strip-ansi-cjs": { 6024 + "name": "strip-ansi", 6025 + "version": "6.0.1", 6026 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 6027 + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 6028 + "license": "MIT", 6029 + "dependencies": { 6030 + "ansi-regex": "^5.0.1" 6031 + }, 6032 + "engines": { 6033 + "node": ">=8" 6034 + } 6035 + }, 6036 + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { 6037 + "version": "5.0.1", 6038 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 6039 + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 6040 + "license": "MIT", 6041 + "engines": { 6042 + "node": ">=8" 6043 + } 6044 + }, 6045 + "node_modules/strip-json-comments": { 6046 + "version": "3.1.1", 6047 + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 6048 + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 6049 + "dev": true, 6050 + "license": "MIT", 6051 + "engines": { 6052 + "node": ">=8" 6053 + }, 6054 + "funding": { 6055 + "url": "https://github.com/sponsors/sindresorhus" 6056 + } 6057 + }, 6058 + "node_modules/style-to-object": { 6059 + "version": "1.0.8", 6060 + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.8.tgz", 6061 + "integrity": "sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==", 6062 + "license": "MIT", 6063 + "dependencies": { 6064 + "inline-style-parser": "0.2.4" 6065 + } 6066 + }, 6067 + "node_modules/supports-color": { 6068 + "version": "7.2.0", 6069 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 6070 + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 6071 + "dev": true, 6072 + "license": "MIT", 6073 + "dependencies": { 6074 + "has-flag": "^4.0.0" 6075 + }, 6076 + "engines": { 6077 + "node": ">=8" 6078 + } 6079 + }, 6080 + "node_modules/svelte": { 6081 + "version": "5.30.2", 6082 + "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.30.2.tgz", 6083 + "integrity": "sha512-zfGFEwwPeILToOxOqQyFq/vc8euXrX2XyoffkBNgn/k8D1nxbLt5+mNaqQBmZF/vVhBGmkY6VmNK18p9Gf0auQ==", 6084 + "license": "MIT", 6085 + "dependencies": { 6086 + "@ampproject/remapping": "^2.3.0", 6087 + "@jridgewell/sourcemap-codec": "^1.5.0", 6088 + "@sveltejs/acorn-typescript": "^1.0.5", 6089 + "@types/estree": "^1.0.5", 6090 + "acorn": "^8.12.1", 6091 + "aria-query": "^5.3.1", 6092 + "axobject-query": "^4.1.0", 6093 + "clsx": "^2.1.1", 6094 + "esm-env": "^1.2.1", 6095 + "esrap": "^1.4.6", 6096 + "is-reference": "^3.0.3", 6097 + "locate-character": "^3.0.0", 6098 + "magic-string": "^0.30.11", 6099 + "zimmerframe": "^1.1.2" 6100 + }, 6101 + "engines": { 6102 + "node": ">=18" 6103 + } 6104 + }, 6105 + "node_modules/svelte-check": { 6106 + "version": "4.2.1", 6107 + "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-4.2.1.tgz", 6108 + "integrity": "sha512-e49SU1RStvQhoipkQ/aonDhHnG3qxHSBtNfBRb9pxVXoa+N7qybAo32KgA9wEb2PCYFNaDg7bZCdhLD1vHpdYA==", 6109 + "dev": true, 6110 + "license": "MIT", 6111 + "dependencies": { 6112 + "@jridgewell/trace-mapping": "^0.3.25", 6113 + "chokidar": "^4.0.1", 6114 + "fdir": "^6.2.0", 6115 + "picocolors": "^1.0.0", 6116 + "sade": "^1.7.4" 6117 + }, 6118 + "bin": { 6119 + "svelte-check": "bin/svelte-check" 6120 + }, 6121 + "engines": { 6122 + "node": ">= 18.0.0" 6123 + }, 6124 + "peerDependencies": { 6125 + "svelte": "^4.0.0 || ^5.0.0-next.0", 6126 + "typescript": ">=5.0.0" 6127 + } 6128 + }, 6129 + "node_modules/svelte-eslint-parser": { 6130 + "version": "1.2.0", 6131 + "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-1.2.0.tgz", 6132 + "integrity": "sha512-mbPtajIeuiyU80BEyGvwAktBeTX7KCr5/0l+uRGLq1dafwRNrjfM5kHGJScEBlPG3ipu6dJqfW/k0/fujvIEVw==", 6133 + "dev": true, 6134 + "license": "MIT", 6135 + "dependencies": { 6136 + "eslint-scope": "^8.2.0", 6137 + "eslint-visitor-keys": "^4.0.0", 6138 + "espree": "^10.0.0", 6139 + "postcss": "^8.4.49", 6140 + "postcss-scss": "^4.0.9", 6141 + "postcss-selector-parser": "^7.0.0" 6142 + }, 6143 + "engines": { 6144 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 6145 + }, 6146 + "funding": { 6147 + "url": "https://github.com/sponsors/ota-meshi" 6148 + }, 6149 + "peerDependencies": { 6150 + "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0" 6151 + }, 6152 + "peerDependenciesMeta": { 6153 + "svelte": { 6154 + "optional": true 6155 + } 6156 + } 6157 + }, 6158 + "node_modules/svelte-eslint-parser/node_modules/postcss-selector-parser": { 6159 + "version": "7.1.0", 6160 + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", 6161 + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", 6162 + "dev": true, 6163 + "license": "MIT", 6164 + "dependencies": { 6165 + "cssesc": "^3.0.0", 6166 + "util-deprecate": "^1.0.2" 6167 + }, 6168 + "engines": { 6169 + "node": ">=4" 6170 + } 6171 + }, 6172 + "node_modules/svelte-relative-time": { 6173 + "version": "0.0.6", 6174 + "resolved": "https://registry.npmjs.org/svelte-relative-time/-/svelte-relative-time-0.0.6.tgz", 6175 + "integrity": "sha512-gYaQz2QxE//7WTh13IbQCwN99+lxQ9rpOZ8+bBew6tQ8iNqmJw422/oeTP9y5kUs2Y/BSz9z749+Co/yr4lexg==", 6176 + "license": "MIT", 6177 + "peerDependencies": { 6178 + "svelte": "^3.54.0 || ^4.0.0 || ^5.0.0" 6179 + } 6180 + }, 6181 + "node_modules/svelte-sonner": { 6182 + "version": "0.3.28", 6183 + "resolved": "https://registry.npmjs.org/svelte-sonner/-/svelte-sonner-0.3.28.tgz", 6184 + "integrity": "sha512-K3AmlySeFifF/cKgsYNv5uXqMVNln0NBAacOYgmkQStLa/UoU0LhfAACU6Gr+YYC8bOCHdVmFNoKuDbMEsppJg==", 6185 + "license": "MIT", 6186 + "peerDependencies": { 6187 + "svelte": "^3.0.0 || ^4.0.0 || ^5.0.0-next.1" 6188 + } 6189 + }, 6190 + "node_modules/svelte-tiptap": { 6191 + "version": "2.1.0", 6192 + "resolved": "https://registry.npmjs.org/svelte-tiptap/-/svelte-tiptap-2.1.0.tgz", 6193 + "integrity": "sha512-CtmBM4RzJ7dibuglG6g8YsiyEiaFWAu6qFuX73STuxKFJqoBuqXQWpJqQRttrUWVp/rrrDFjd08zyC1Zzrl/Qg==", 6194 + "funding": [ 6195 + { 6196 + "type": "github", 6197 + "url": "https://github.com/sponsors/sibiraj-s" 6198 + } 6199 + ], 6200 + "license": "MIT", 6201 + "peerDependencies": { 6202 + "@tiptap/core": "^2.0.3", 6203 + "@tiptap/extension-bubble-menu": "^2.0.3", 6204 + "@tiptap/extension-floating-menu": "^2.0.3", 6205 + "@tiptap/pm": "^2.0.3", 6206 + "svelte": "^5.0.0" 6207 + } 6208 + }, 6209 + "node_modules/svelte-toolbelt": { 6210 + "version": "0.7.1", 6211 + "resolved": "https://registry.npmjs.org/svelte-toolbelt/-/svelte-toolbelt-0.7.1.tgz", 6212 + "integrity": "sha512-HcBOcR17Vx9bjaOceUvxkY3nGmbBmCBBbuWLLEWO6jtmWH8f/QoWmbyUfQZrpDINH39en1b8mptfPQT9VKQ1xQ==", 6213 + "funding": [ 6214 + "https://github.com/sponsors/huntabyte" 6215 + ], 6216 + "dependencies": { 6217 + "clsx": "^2.1.1", 6218 + "runed": "^0.23.2", 6219 + "style-to-object": "^1.0.8" 6220 + }, 6221 + "engines": { 6222 + "node": ">=18", 6223 + "pnpm": ">=8.7.0" 6224 + }, 6225 + "peerDependencies": { 6226 + "svelte": "^5.0.0" 6227 + } 6228 + }, 6229 + "node_modules/tabbable": { 6230 + "version": "6.2.0", 6231 + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", 6232 + "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==", 6233 + "license": "MIT" 6234 + }, 6235 + "node_modules/tailwind-merge": { 6236 + "version": "3.3.0", 6237 + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.3.0.tgz", 6238 + "integrity": "sha512-fyW/pEfcQSiigd5SNn0nApUOxx0zB/dm6UDU/rEwc2c3sX2smWUNbapHv+QRqLGVp9GWX3THIa7MUGPo+YkDzQ==", 6239 + "license": "MIT", 6240 + "funding": { 6241 + "type": "github", 6242 + "url": "https://github.com/sponsors/dcastil" 6243 + } 6244 + }, 6245 + "node_modules/tailwind-variants": { 6246 + "version": "1.0.0", 6247 + "resolved": "https://registry.npmjs.org/tailwind-variants/-/tailwind-variants-1.0.0.tgz", 6248 + "integrity": "sha512-2WSbv4ulEEyuBKomOunut65D8UZwxrHoRfYnxGcQNnHqlSCp2+B7Yz2W+yrNDrxRodOXtGD/1oCcKGNBnUqMqA==", 6249 + "license": "MIT", 6250 + "dependencies": { 6251 + "tailwind-merge": "3.0.2" 6252 + }, 6253 + "engines": { 6254 + "node": ">=16.x", 6255 + "pnpm": ">=7.x" 6256 + }, 6257 + "peerDependencies": { 6258 + "tailwindcss": "*" 6259 + } 6260 + }, 6261 + "node_modules/tailwind-variants/node_modules/tailwind-merge": { 6262 + "version": "3.0.2", 6263 + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.0.2.tgz", 6264 + "integrity": "sha512-l7z+OYZ7mu3DTqrL88RiKrKIqO3NcpEO8V/Od04bNpvk0kiIFndGEoqfuzvj4yuhRkHKjRkII2z+KS2HfPcSxw==", 6265 + "license": "MIT", 6266 + "funding": { 6267 + "type": "github", 6268 + "url": "https://github.com/sponsors/dcastil" 6269 + } 6270 + }, 6271 + "node_modules/tailwindcss": { 6272 + "version": "4.1.7", 6273 + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.7.tgz", 6274 + "integrity": "sha512-kr1o/ErIdNhTz8uzAYL7TpaUuzKIE6QPQ4qmSdxnoX/lo+5wmUHQA6h3L5yIqEImSRnAAURDirLu/BgiXGPAhg==", 6275 + "license": "MIT" 6276 + }, 6277 + "node_modules/tapable": { 6278 + "version": "2.2.1", 6279 + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", 6280 + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", 6281 + "dev": true, 6282 + "license": "MIT", 6283 + "engines": { 6284 + "node": ">=6" 6285 + } 6286 + }, 6287 + "node_modules/tar": { 6288 + "version": "7.4.3", 6289 + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", 6290 + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", 6291 + "license": "ISC", 6292 + "dependencies": { 6293 + "@isaacs/fs-minipass": "^4.0.0", 6294 + "chownr": "^3.0.0", 6295 + "minipass": "^7.1.2", 6296 + "minizlib": "^3.0.1", 6297 + "mkdirp": "^3.0.1", 6298 + "yallist": "^5.0.0" 6299 + }, 6300 + "engines": { 6301 + "node": ">=18" 6302 + } 6303 + }, 6304 + "node_modules/tinyglobby": { 6305 + "version": "0.2.13", 6306 + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", 6307 + "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", 6308 + "license": "MIT", 6309 + "dependencies": { 6310 + "fdir": "^6.4.4", 6311 + "picomatch": "^4.0.2" 6312 + }, 6313 + "engines": { 6314 + "node": ">=12.0.0" 6315 + }, 6316 + "funding": { 6317 + "url": "https://github.com/sponsors/SuperchupuDev" 6318 + } 6319 + }, 6320 + "node_modules/tippy.js": { 6321 + "version": "6.3.7", 6322 + "resolved": "https://registry.npmjs.org/tippy.js/-/tippy.js-6.3.7.tgz", 6323 + "integrity": "sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==", 6324 + "license": "MIT", 6325 + "peer": true, 6326 + "dependencies": { 6327 + "@popperjs/core": "^2.9.0" 6328 + } 6329 + }, 6330 + "node_modules/tlds": { 6331 + "version": "1.259.0", 6332 + "resolved": "https://registry.npmjs.org/tlds/-/tlds-1.259.0.tgz", 6333 + "integrity": "sha512-AldGGlDP0PNgwppe2quAvuBl18UcjuNtOnDuUkqhd6ipPqrYYBt3aTxK1QTsBVknk97lS2JcafWMghjGWFtunw==", 6334 + "license": "MIT", 6335 + "bin": { 6336 + "tlds": "bin.js" 6337 + } 6338 + }, 6339 + "node_modules/to-regex-range": { 6340 + "version": "5.0.1", 6341 + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 6342 + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 6343 + "dev": true, 6344 + "license": "MIT", 6345 + "dependencies": { 6346 + "is-number": "^7.0.0" 6347 + }, 6348 + "engines": { 6349 + "node": ">=8.0" 6350 + } 6351 + }, 6352 + "node_modules/totalist": { 6353 + "version": "3.0.1", 6354 + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", 6355 + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", 6356 + "license": "MIT", 6357 + "engines": { 6358 + "node": ">=6" 6359 + } 6360 + }, 6361 + "node_modules/tr46": { 6362 + "version": "0.0.3", 6363 + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 6364 + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", 6365 + "license": "MIT" 6366 + }, 6367 + "node_modules/ts-api-utils": { 6368 + "version": "2.1.0", 6369 + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", 6370 + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", 6371 + "dev": true, 6372 + "license": "MIT", 6373 + "engines": { 6374 + "node": ">=18.12" 6375 + }, 6376 + "peerDependencies": { 6377 + "typescript": ">=4.8.4" 6378 + } 6379 + }, 6380 + "node_modules/tslib": { 6381 + "version": "2.8.1", 6382 + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", 6383 + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", 6384 + "license": "0BSD" 6385 + }, 6386 + "node_modules/type-check": { 6387 + "version": "0.4.0", 6388 + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 6389 + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 6390 + "dev": true, 6391 + "license": "MIT", 6392 + "dependencies": { 6393 + "prelude-ls": "^1.2.1" 6394 + }, 6395 + "engines": { 6396 + "node": ">= 0.8.0" 6397 + } 6398 + }, 6399 + "node_modules/typescript": { 6400 + "version": "5.8.3", 6401 + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", 6402 + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", 6403 + "dev": true, 6404 + "license": "Apache-2.0", 6405 + "bin": { 6406 + "tsc": "bin/tsc", 6407 + "tsserver": "bin/tsserver" 6408 + }, 6409 + "engines": { 6410 + "node": ">=14.17" 6411 + } 6412 + }, 6413 + "node_modules/typescript-eslint": { 6414 + "version": "8.32.1", 6415 + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.32.1.tgz", 6416 + "integrity": "sha512-D7el+eaDHAmXvrZBy1zpzSNIRqnCOrkwTgZxTu3MUqRWk8k0q9m9Ho4+vPf7iHtgUfrK/o8IZaEApsxPlHTFCg==", 6417 + "dev": true, 6418 + "license": "MIT", 6419 + "dependencies": { 6420 + "@typescript-eslint/eslint-plugin": "8.32.1", 6421 + "@typescript-eslint/parser": "8.32.1", 6422 + "@typescript-eslint/utils": "8.32.1" 6423 + }, 6424 + "engines": { 6425 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 6426 + }, 6427 + "funding": { 6428 + "type": "opencollective", 6429 + "url": "https://opencollective.com/typescript-eslint" 6430 + }, 6431 + "peerDependencies": { 6432 + "eslint": "^8.57.0 || ^9.0.0", 6433 + "typescript": ">=4.8.4 <5.9.0" 6434 + } 6435 + }, 6436 + "node_modules/uc.micro": { 6437 + "version": "2.1.0", 6438 + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", 6439 + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", 6440 + "license": "MIT" 6441 + }, 6442 + "node_modules/uint8arrays": { 6443 + "version": "3.0.0", 6444 + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", 6445 + "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", 6446 + "license": "MIT", 6447 + "dependencies": { 6448 + "multiformats": "^9.4.2" 6449 + } 6450 + }, 6451 + "node_modules/unicode-segmenter": { 6452 + "version": "0.12.0", 6453 + "resolved": "https://registry.npmjs.org/unicode-segmenter/-/unicode-segmenter-0.12.0.tgz", 6454 + "integrity": "sha512-PK6M1A1tt3ky6cFAJW/JOO9ml/sbEvim+SL75FM8slck08ACbF0TZj+tdUd3Mh8Tk5XieqUDPwmLjiyRQvb4pw==", 6455 + "license": "MIT" 6456 + }, 6457 + "node_modules/uri-js": { 6458 + "version": "4.4.1", 6459 + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 6460 + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 6461 + "dev": true, 6462 + "license": "BSD-2-Clause", 6463 + "dependencies": { 6464 + "punycode": "^2.1.0" 6465 + } 6466 + }, 6467 + "node_modules/url-polyfill": { 6468 + "version": "1.1.13", 6469 + "resolved": "https://registry.npmjs.org/url-polyfill/-/url-polyfill-1.1.13.tgz", 6470 + "integrity": "sha512-tXzkojrv2SujumYthZ/WjF7jaSfNhSXlYMpE5AYdL2I3D7DCeo+mch8KtW2rUuKjDg+3VXODXHVgipt8yGY/eQ==", 6471 + "license": "MIT" 6472 + }, 6473 + "node_modules/util-deprecate": { 6474 + "version": "1.0.2", 6475 + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 6476 + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 6477 + "dev": true, 6478 + "license": "MIT" 6479 + }, 6480 + "node_modules/vite": { 6481 + "version": "6.3.5", 6482 + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", 6483 + "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", 6484 + "license": "MIT", 6485 + "dependencies": { 6486 + "esbuild": "^0.25.0", 6487 + "fdir": "^6.4.4", 6488 + "picomatch": "^4.0.2", 6489 + "postcss": "^8.5.3", 6490 + "rollup": "^4.34.9", 6491 + "tinyglobby": "^0.2.13" 6492 + }, 6493 + "bin": { 6494 + "vite": "bin/vite.js" 6495 + }, 6496 + "engines": { 6497 + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" 6498 + }, 6499 + "funding": { 6500 + "url": "https://github.com/vitejs/vite?sponsor=1" 6501 + }, 6502 + "optionalDependencies": { 6503 + "fsevents": "~2.3.3" 6504 + }, 6505 + "peerDependencies": { 6506 + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", 6507 + "jiti": ">=1.21.0", 6508 + "less": "*", 6509 + "lightningcss": "^1.21.0", 6510 + "sass": "*", 6511 + "sass-embedded": "*", 6512 + "stylus": "*", 6513 + "sugarss": "*", 6514 + "terser": "^5.16.0", 6515 + "tsx": "^4.8.1", 6516 + "yaml": "^2.4.2" 6517 + }, 6518 + "peerDependenciesMeta": { 6519 + "@types/node": { 6520 + "optional": true 6521 + }, 6522 + "jiti": { 6523 + "optional": true 6524 + }, 6525 + "less": { 6526 + "optional": true 6527 + }, 6528 + "lightningcss": { 6529 + "optional": true 6530 + }, 6531 + "sass": { 6532 + "optional": true 6533 + }, 6534 + "sass-embedded": { 6535 + "optional": true 6536 + }, 6537 + "stylus": { 6538 + "optional": true 6539 + }, 6540 + "sugarss": { 6541 + "optional": true 6542 + }, 6543 + "terser": { 6544 + "optional": true 6545 + }, 6546 + "tsx": { 6547 + "optional": true 6548 + }, 6549 + "yaml": { 6550 + "optional": true 6551 + } 6552 + } 6553 + }, 6554 + "node_modules/vitefu": { 6555 + "version": "1.0.6", 6556 + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.0.6.tgz", 6557 + "integrity": "sha512-+Rex1GlappUyNN6UfwbVZne/9cYC4+R2XDk9xkNXBKMw6HQagdX9PgZ8V2v1WUSK1wfBLp7qbI1+XSNIlB1xmA==", 6558 + "license": "MIT", 6559 + "workspaces": [ 6560 + "tests/deps/*", 6561 + "tests/projects/*" 6562 + ], 6563 + "peerDependencies": { 6564 + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" 6565 + }, 6566 + "peerDependenciesMeta": { 6567 + "vite": { 6568 + "optional": true 6569 + } 6570 + } 6571 + }, 6572 + "node_modules/w3c-keyname": { 6573 + "version": "2.2.8", 6574 + "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", 6575 + "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==", 6576 + "license": "MIT" 6577 + }, 6578 + "node_modules/webidl-conversions": { 6579 + "version": "3.0.1", 6580 + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 6581 + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", 6582 + "license": "BSD-2-Clause" 6583 + }, 6584 + "node_modules/webworkify": { 6585 + "version": "1.5.0", 6586 + "resolved": "https://registry.npmjs.org/webworkify/-/webworkify-1.5.0.tgz", 6587 + "integrity": "sha512-AMcUeyXAhbACL8S2hqqdqOLqvJ8ylmIbNwUIqQujRSouf4+eUFaXbG6F1Rbu+srlJMmxQWsiU7mOJi0nMBfM1g==", 6588 + "license": "MIT" 6589 + }, 6590 + "node_modules/whatwg-url": { 6591 + "version": "5.0.0", 6592 + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 6593 + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", 6594 + "license": "MIT", 6595 + "dependencies": { 6596 + "tr46": "~0.0.3", 6597 + "webidl-conversions": "^3.0.0" 6598 + } 6599 + }, 6600 + "node_modules/which": { 6601 + "version": "2.0.2", 6602 + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 6603 + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 6604 + "license": "ISC", 6605 + "dependencies": { 6606 + "isexe": "^2.0.0" 6607 + }, 6608 + "bin": { 6609 + "node-which": "bin/node-which" 6610 + }, 6611 + "engines": { 6612 + "node": ">= 8" 6613 + } 6614 + }, 6615 + "node_modules/word-wrap": { 6616 + "version": "1.2.5", 6617 + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", 6618 + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", 6619 + "dev": true, 6620 + "license": "MIT", 6621 + "engines": { 6622 + "node": ">=0.10.0" 6623 + } 6624 + }, 6625 + "node_modules/wrap-ansi": { 6626 + "version": "8.1.0", 6627 + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", 6628 + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", 6629 + "license": "MIT", 6630 + "dependencies": { 6631 + "ansi-styles": "^6.1.0", 6632 + "string-width": "^5.0.1", 6633 + "strip-ansi": "^7.0.1" 6634 + }, 6635 + "engines": { 6636 + "node": ">=12" 6637 + }, 6638 + "funding": { 6639 + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 6640 + } 6641 + }, 6642 + "node_modules/wrap-ansi-cjs": { 6643 + "name": "wrap-ansi", 6644 + "version": "7.0.0", 6645 + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 6646 + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 6647 + "license": "MIT", 6648 + "dependencies": { 6649 + "ansi-styles": "^4.0.0", 6650 + "string-width": "^4.1.0", 6651 + "strip-ansi": "^6.0.0" 6652 + }, 6653 + "engines": { 6654 + "node": ">=10" 6655 + }, 6656 + "funding": { 6657 + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 6658 + } 6659 + }, 6660 + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { 6661 + "version": "5.0.1", 6662 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 6663 + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 6664 + "license": "MIT", 6665 + "engines": { 6666 + "node": ">=8" 6667 + } 6668 + }, 6669 + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { 6670 + "version": "8.0.0", 6671 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 6672 + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 6673 + "license": "MIT" 6674 + }, 6675 + "node_modules/wrap-ansi-cjs/node_modules/string-width": { 6676 + "version": "4.2.3", 6677 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 6678 + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 6679 + "license": "MIT", 6680 + "dependencies": { 6681 + "emoji-regex": "^8.0.0", 6682 + "is-fullwidth-code-point": "^3.0.0", 6683 + "strip-ansi": "^6.0.1" 6684 + }, 6685 + "engines": { 6686 + "node": ">=8" 6687 + } 6688 + }, 6689 + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { 6690 + "version": "6.0.1", 6691 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 6692 + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 6693 + "license": "MIT", 6694 + "dependencies": { 6695 + "ansi-regex": "^5.0.1" 6696 + }, 6697 + "engines": { 6698 + "node": ">=8" 6699 + } 6700 + }, 6701 + "node_modules/wrap-ansi/node_modules/ansi-styles": { 6702 + "version": "6.2.1", 6703 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", 6704 + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", 6705 + "license": "MIT", 6706 + "engines": { 6707 + "node": ">=12" 6708 + }, 6709 + "funding": { 6710 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 6711 + } 6712 + }, 6713 + "node_modules/yallist": { 6714 + "version": "5.0.0", 6715 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", 6716 + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", 6717 + "license": "BlueOak-1.0.0", 6718 + "engines": { 6719 + "node": ">=18" 6720 + } 6721 + }, 6722 + "node_modules/yaml": { 6723 + "version": "2.8.0", 6724 + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", 6725 + "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", 6726 + "license": "ISC", 6727 + "optional": true, 6728 + "peer": true, 6729 + "bin": { 6730 + "yaml": "bin.mjs" 6731 + }, 6732 + "engines": { 6733 + "node": ">= 14.6" 6734 + } 6735 + }, 6736 + "node_modules/yocto-queue": { 6737 + "version": "0.1.0", 6738 + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", 6739 + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", 6740 + "dev": true, 6741 + "license": "MIT", 6742 + "engines": { 6743 + "node": ">=10" 6744 + }, 6745 + "funding": { 6746 + "url": "https://github.com/sponsors/sindresorhus" 6747 + } 6748 + }, 6749 + "node_modules/zimmerframe": { 6750 + "version": "1.1.2", 6751 + "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.2.tgz", 6752 + "integrity": "sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==", 6753 + "license": "MIT" 6754 + }, 6755 + "node_modules/zod": { 6756 + "version": "3.25.0-beta.20250518T002810", 6757 + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.0-beta.20250518T002810.tgz", 6758 + "integrity": "sha512-3/aIqMbUXG9EjTelJkDcWd+izJP5MxFgQEMSYI8n41pwYhRDYYxy2dnbkgfNcnLbFZ9uByZn9XXqHTh05QHqSQ==", 6759 + "license": "MIT", 6760 + "funding": { 6761 + "url": "https://github.com/sponsors/colinhacks" 6762 + } 6763 + } 6764 + } 6765 + }
+64
package.json
··· 1 + { 2 + "name": "jazz-roomy", 3 + "private": true, 4 + "version": "0.0.1", 5 + "type": "module", 6 + "scripts": { 7 + "dev": "vite dev --host", 8 + "build": "vite build", 9 + "preview": "vite preview", 10 + "prepare": "svelte-kit sync || echo ''", 11 + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", 12 + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", 13 + "format": "prettier --write .", 14 + "lint": "prettier --check . && eslint ." 15 + }, 16 + "devDependencies": { 17 + "@eslint/compat": "^1.2.5", 18 + "@eslint/js": "^9.18.0", 19 + "@sveltejs/adapter-auto": "^6.0.0", 20 + "@sveltejs/kit": "^2.16.0", 21 + "@sveltejs/vite-plugin-svelte": "^5.0.0", 22 + "@tailwindcss/forms": "^0.5.9", 23 + "@tailwindcss/typography": "^0.5.15", 24 + "@tailwindcss/vite": "^4.0.0", 25 + "eslint": "^9.18.0", 26 + "eslint-config-prettier": "^10.0.1", 27 + "eslint-plugin-svelte": "^3.0.0", 28 + "globals": "^16.0.0", 29 + "prettier": "^3.4.2", 30 + "prettier-plugin-svelte": "^3.3.3", 31 + "prettier-plugin-tailwindcss": "^0.6.11", 32 + "svelte": "^5.0.0", 33 + "svelte-check": "^4.0.0", 34 + "tailwindcss": "^4.0.0", 35 + "typescript": "^5.0.0", 36 + "typescript-eslint": "^8.20.0", 37 + "vite": "^6.2.6" 38 + }, 39 + "dependencies": { 40 + "@atproto/api": "^0.15.8", 41 + "@fuxui/base": "^0.2.1", 42 + "@fuxui/colors": "^0.2.2", 43 + "@fuxui/social": "^0.2.1", 44 + "@sveltejs/adapter-static": "^3.0.8", 45 + "@sveltejs/adapter-vercel": "^5.7.2", 46 + "@tiptap/core": "^2.12.0", 47 + "@tiptap/extension-image": "^2.12.0", 48 + "@tiptap/extension-link": "^2.12.0", 49 + "@tiptap/extension-placeholder": "^2.12.0", 50 + "@tiptap/extension-typography": "^2.12.0", 51 + "@tiptap/extension-underline": "^2.12.0", 52 + "@tiptap/starter-kit": "^2.12.0", 53 + "@use-gesture/vanilla": "^10.3.1", 54 + "jazz-browser-media-images": "^0.14.8", 55 + "jazz-inspector-element": "^0.14.0", 56 + "jazz-richtext-tiptap": "^0.1.15", 57 + "jazz-svelte": "^0.14.4", 58 + "jazz-tools": "^0.14.4", 59 + "paper": "^0.12.18", 60 + "svelte-relative-time": "^0.0.6", 61 + "svelte-tiptap": "^2.1.0" 62 + }, 63 + "license": "MIT" 64 + }
+33
src/app.css
··· 1 + @import 'tailwindcss'; 2 + @plugin '@tailwindcss/forms'; 3 + @plugin '@tailwindcss/typography'; 4 + 5 + @source "../node_modules/@fuxui"; 6 + 7 + @custom-variant dark (&:is(.dark *)); 8 + 9 + @theme { 10 + --color-base-50: var(--color-zinc-50); 11 + --color-base-100: var(--color-zinc-100); 12 + --color-base-200: var(--color-zinc-200); 13 + --color-base-300: var(--color-zinc-300); 14 + --color-base-400: var(--color-zinc-400); 15 + --color-base-500: var(--color-zinc-500); 16 + --color-base-600: var(--color-zinc-600); 17 + --color-base-700: var(--color-zinc-700); 18 + --color-base-800: var(--color-zinc-800); 19 + --color-base-900: var(--color-zinc-900); 20 + --color-base-950: var(--color-zinc-950); 21 + 22 + --color-accent-50: var(--color-pink-50); 23 + --color-accent-100: var(--color-pink-100); 24 + --color-accent-200: var(--color-pink-200); 25 + --color-accent-300: var(--color-pink-300); 26 + --color-accent-400: var(--color-pink-400); 27 + --color-accent-500: var(--color-pink-500); 28 + --color-accent-600: var(--color-pink-600); 29 + --color-accent-700: var(--color-pink-700); 30 + --color-accent-800: var(--color-pink-800); 31 + --color-accent-900: var(--color-pink-900); 32 + --color-accent-950: var(--color-pink-950); 33 + }
+13
src/app.d.ts
··· 1 + // See https://svelte.dev/docs/kit/types#app.d.ts 2 + // for information about these interfaces 3 + declare global { 4 + namespace App { 5 + // interface Error {} 6 + // interface Locals {} 7 + // interface PageData {} 8 + // interface PageState {} 9 + // interface Platform {} 10 + } 11 + } 12 + 13 + export {};
+50
src/app.html
··· 1 + <!doctype html> 2 + <html lang="en" class="dark"> 3 + <head> 4 + <meta charset="utf-8" /> 5 + <link rel="icon" href="%sveltekit.assets%/favicon.png" /> 6 + <meta name="viewport" content="width=device-width, initial-scale=1" /> 7 + %sveltekit.head% 8 + 9 + <script> 10 + let dark = localStorage.getItem('darkMode'); 11 + if (dark) { 12 + dark = JSON.parse(dark); 13 + } else { 14 + dark = window.matchMedia('(prefers-color-scheme: dark)').matches; 15 + } 16 + 17 + var root = document.getElementsByTagName('html')[0]; 18 + if (dark) { 19 + root.classList.add('dark'); 20 + } else { 21 + root.classList.remove('dark'); 22 + } 23 + 24 + // get accent color from local storage 25 + let accentColor = localStorage.getItem('accentColor'); 26 + if (accentColor) { 27 + accentColor = JSON.parse(accentColor); 28 + root.classList.add(accentColor); 29 + } 30 + 31 + // get base color from local storage 32 + let baseColor = localStorage.getItem('baseColor'); 33 + if (baseColor) { 34 + baseColor = JSON.parse(baseColor); 35 + root.classList.add(baseColor); 36 + } 37 + </script> 38 + 39 + <script 40 + is:inline 41 + defer 42 + src="https://umami-wispy-dream-8048.fly.dev/script.js" 43 + data-website-id="e6166872-1b90-4b72-8f63-683b95fc010f" 44 + data-domains="flo-bit.dev" 45 + ></script> 46 + </head> 47 + <body data-sveltekit-preload-data="hover" class="bg-base-50 dark:bg-base-950 touch-none select-none"> 48 + <div style="display: contents">%sveltekit.body%</div> 49 + </body> 50 + </html>
+98
src/lib/SpaceSelection.svelte
··· 1 + <script lang="ts"> 2 + import type { Loaded } from 'jazz-tools'; 3 + import type { SpaceList } from './schema'; 4 + import { base } from '$app/paths'; 5 + 6 + // Your cards data 7 + let { spaces, open = $bindable(false) }: { spaces: Loaded<typeof SpaceList>[]; open: boolean } = 8 + $props(); 9 + 10 + let angle = $state(0); 11 + let isDragging = $state(false); 12 + let startX = $state(0); 13 + 14 + const radius = 1000; // px from center to card center 15 + const cardWidth = 12 * 16; // Tailwind w-32 → 8rem → 128px 16 + const sensitivity = 0.05; // how many degrees per px/deltaY 17 + 18 + // compute how many degrees each card occupies 19 + const angularWidth = ((2 * Math.asin(cardWidth / 2 / radius) * 180) / Math.PI) * 0.9; 20 + 21 + const totalArc = angularWidth * (spaces.length + 1); 22 + const maxAngle = totalArc - angularWidth; 23 + 24 + function clamp(n: number) { 25 + return Math.min(Math.max(n, -maxAngle), 0); 26 + } 27 + 28 + function onWheel(e: WheelEvent) { 29 + e.preventDefault(); 30 + angle = clamp(angle + e.deltaY * sensitivity); 31 + } 32 + 33 + function onPointerDown(e: PointerEvent) { 34 + isDragging = true; 35 + startX = e.clientX; 36 + } 37 + 38 + function onPointerMove(e: PointerEvent) { 39 + if (!isDragging) return; 40 + const dx = e.clientX - startX; 41 + angle = clamp(angle + dx * sensitivity); 42 + startX = e.clientX; 43 + } 44 + 45 + function onPointerUp(e: PointerEvent) { 46 + isDragging = false; 47 + } 48 + </script> 49 + 50 + {#if open} 51 + <div 52 + class="bg-base-300/20 fixed inset-0 z-50 h-[100dvh] w-full touch-none overflow-hidden backdrop-blur-lg select-none" 53 + onwheel={onWheel} 54 + onpointerdown={onPointerDown} 55 + onpointermove={onPointerMove} 56 + onpointerup={onPointerUp} 57 + onpointerleave={onPointerUp} 58 + onclick={() => (open = false)} 59 + > 60 + <!-- 61 + Center the rotator horizontally (left-1/2 + translateX(-50%)) 62 + Push its center way below the page (top-[150vh]) 63 + --> 64 + <div 65 + class="absolute left-1/2 h-0 w-0" 66 + style=" 67 + transform: rotate({angle}deg); 68 + bottom: -{radius - 300}px; 69 + " 70 + > 71 + {#each spaces as space, i} 72 + {@const θ = i * angularWidth} 73 + 74 + <div 75 + class="border-base-200 dark:bg-base-950 absolute flex h-48 w-48 items-center justify-center rounded-xl border bg-white p-2 text-xl font-bold shadow-lg transition-transform duration-300 hover:z-50 hover:scale-105" 76 + style=" 77 + transform: 78 + rotate({θ}deg) 79 + translateY(-{radius}px); 80 + transform-origin: center center; 81 + " 82 + > 83 + <a 84 + href={`${base}/${space.id}`} 85 + class="text-base-900 dark:text-base-100 flex h-full w-full flex-col justify-center font-bold" 86 + onclick={() => (open = false)} 87 + > 88 + <div class="mb-1 w-fit text-4xl">{space.emoji || '😀'}</div> 89 + <span class="absolute inset-x-0 -top-px bottom-0"></span> 90 + <span class="w-full min-w-0 truncate"> 91 + {space.name} 92 + </span> 93 + </a> 94 + </div> 95 + {/each} 96 + </div> 97 + </div> 98 + {/if}
+21
src/lib/bluesky.ts
··· 1 + import { AtpBaseClient } from '@atproto/api'; 2 + 3 + let agent: AtpBaseClient | null = null; 4 + 5 + export async function getProfile({ did }: { did: string }) { 6 + if (!agent) { 7 + agent = new AtpBaseClient({ service: 'https://public.api.bsky.app' }); 8 + } 9 + 10 + const data = await agent.app.bsky.actor.getProfile({ actor: did }); 11 + return data.data; 12 + } 13 + 14 + export async function resolveHandle({ handle }: { handle: string }) { 15 + if (!agent) { 16 + agent = new AtpBaseClient({ service: 'https://public.api.bsky.app' }); 17 + } 18 + 19 + const data = await agent.com.atproto.identity.resolveHandle({ handle }); 20 + return data.data.did; 21 + }
+61
src/lib/components/ChatMessage.svelte
··· 1 + <script lang="ts"> 2 + import type { Loaded } from 'jazz-tools'; 3 + import { Message, MyAppProfile } from '$lib/schema'; 4 + import { Avatar, cn, Prose } from '@fuxui/base'; 5 + import { CoState } from 'jazz-svelte'; 6 + import RelativeTime from 'svelte-relative-time'; 7 + 8 + let { 9 + message, 10 + previousMessage 11 + }: { message: Loaded<typeof Message>; previousMessage?: Loaded<typeof Message> } = $props(); 12 + 13 + let profile = $derived(new CoState(MyAppProfile, message._edits.content?.by?.profile?.id)); 14 + 15 + // if the same user and the message was created in the last minute, don't show the border, username or avatar 16 + let isSameUser = $derived( 17 + previousMessage?._edits.content?.by?.profile?.id === message._edits.content?.by?.profile?.id && 18 + (message.createdAt?.getTime() ?? 0) - (previousMessage?.createdAt?.getTime() ?? 0) < 1000 * 60 19 + ); 20 + 21 + $effect(() => { 22 + console.log(message.createdAt); 23 + console.log(previousMessage?.createdAt); 24 + console.log((message.createdAt?.getTime() ?? 0) - (previousMessage?.createdAt?.getTime() ?? 0)); 25 + }); 26 + </script> 27 + 28 + <div 29 + class={cn( 30 + 'group relative flex w-full justify-start gap-3', 31 + !isSameUser ? 'border-base-200/70 dark:border-base-800/50 border-t pt-2 pb-2' : '-my-1.5' 32 + )} 33 + > 34 + {#if !isSameUser} 35 + <Avatar class="size-8 sm:size-10" src={profile?.current?.imageUrl} /> 36 + {:else} 37 + <div class="size-8 sm:size-10"></div> 38 + {/if} 39 + 40 + <div class="flex flex-col gap-1"> 41 + {#if !isSameUser} 42 + <span class="text-accent-600 dark:text-accent-400 text-sm font-medium"> 43 + {profile?.current?.name} 44 + </span> 45 + {/if} 46 + <Prose> 47 + {@html message.content} 48 + </Prose> 49 + </div> 50 + 51 + <div 52 + class="absolute top-0 right-1 bottom-0 flex items-center opacity-0 transition-opacity duration-200 group-hover:opacity-100" 53 + > 54 + <RelativeTime 55 + date={message.createdAt} 56 + locale="en" 57 + class="text-base-600 dark:text-base-400 text-xs" 58 + /> 59 + </div> 60 + 61 + </div>
+11
src/lib/components/Container.svelte
··· 1 + <script lang="ts"> 2 + import { cn } from '@fuxui/base'; 3 + 4 + let { children, hasSidebar = true, ...restProps } = $props(); 5 + </script> 6 + 7 + <div class={cn('h-[100dvh] px-4', hasSidebar ? 'lg:ml-80' : '')} {...restProps}> 8 + <div class="flex w-full flex-col items-start justify-center gap-2 py-24"> 9 + {@render children?.()} 10 + </div> 11 + </div>
+54
src/lib/components/CreateSpaceModal.svelte
··· 1 + <script lang="ts"> 2 + import { Modal, Subheading, Textarea, Input, Button, Checkbox, Label, Heading } from '@fuxui/base'; 3 + import { PopoverEmojiPicker } from '@fuxui/social'; 4 + 5 + let { 6 + open = $bindable(false), 7 + createNewSpace 8 + }: { 9 + open: boolean; 10 + createNewSpace: (space: { name: string; description: string; emoji: string, isPublic: boolean }) => void; 11 + } = $props(); 12 + 13 + let spaceName = $state(''); 14 + let spaceDescription = $state(''); 15 + let spaceEmoji = $state('😍'); 16 + 17 + let pickerOpen = $state(false); 18 + let isPublic = $state(false); 19 + </script> 20 + 21 + <Modal bind:open> 22 + <form onsubmit={() => { 23 + createNewSpace({ 24 + name: spaceName, 25 + description: spaceDescription, 26 + emoji: spaceEmoji, 27 + isPublic 28 + }); 29 + open = false; 30 + }} class="flex flex-col gap-4"> 31 + <Heading>Create a Space</Heading> 32 + <div class="flex items-center gap-2"> 33 + <PopoverEmojiPicker 34 + onpicked={(emoji) => { 35 + spaceEmoji = emoji.unicode; 36 + pickerOpen = false; 37 + }} 38 + bind:open={pickerOpen} 39 + > 40 + {#snippet child({ props })} 41 + <Button {...props} class="py-1 text-xl" size="icon">{spaceEmoji}</Button> 42 + {/snippet} 43 + </PopoverEmojiPicker> 44 + <Input bind:value={spaceName} placeholder="space name" class="w-full" /> 45 + </div> 46 + <Textarea bind:value={spaceDescription} placeholder="space description" /> 47 + 48 + <div class="flex items-center gap-2"> 49 + <Checkbox bind:checked={isPublic} id="public" /> 50 + <Label for="public">Show in public spaces</Label> 51 + </div> 52 + <Button type="submit">create</Button> 53 + </form> 54 + </Modal>
+5
src/lib/components/JazzImage.svelte
··· 1 + <script lang="ts"> 2 + let { src, alt, class: className }: { src: string; alt: string; class?: string } = $props(); 3 + </script> 4 + 5 + <img {src} {alt} class={className} />
src/lib/components/MessageInput.svelte

This is a binary file and will not be displayed.

+28
src/lib/components/SpaceItem.svelte
··· 1 + <script lang="ts"> 2 + import { base } from '$app/paths'; 3 + import type { MyAppAccount, Space } from '$lib/schema'; 4 + import type { Loaded } from 'jazz-tools'; 5 + 6 + let { space, me }: { space: Loaded<typeof Space>; me: Loaded<typeof MyAppAccount> } = $props(); 7 + 8 + function onclick() { 9 + return; 10 + let index = me.root?.joinedSpaces?.indexOf(space); 11 + if (index === undefined || index <= 0) return; 12 + // move space to the top of the list 13 + me.root?.joinedSpaces?.splice(index, 1); 14 + me.root?.joinedSpaces?.unshift(space); 15 + } 16 + </script> 17 + 18 + <li 19 + class="bg-base-100 dark:bg-base-900/20 hover:bg-base-200/50 dark:hover:bg-base-900/50 border-base-300/50 dark:border-base-800/50 group relative size-30 shrink-0 rounded-2xl border px-2 py-2 overflow-hidden" 20 + > 21 + <a href={`${base}/${space.id}`} class="text-base-900 dark:text-base-100 font-bold w-full flex flex-col justify-center h-full" {onclick}> 22 + <div class="mb-1 w-fit text-4xl">{space.emoji || '😀'}</div> 23 + <span class="absolute inset-x-0 -top-px bottom-0"></span> 24 + <span class="truncate w-full min-w-0"> 25 + {space.name} 26 + </span> 27 + </a> 28 + </li>
+63
src/lib/components/layout/navbar/Navbar.svelte
··· 1 + <script lang="ts"> 2 + import type { WithElementRef } from 'bits-ui'; 3 + import type { HTMLAttributes } from 'svelte/elements'; 4 + import { cn } from '@fuxui/base'; 5 + 6 + const { 7 + class: className, 8 + children, 9 + hasSidebar = false, 10 + ...restProps 11 + }: WithElementRef<HTMLAttributes<HTMLDivElement>> & { hasSidebar?: boolean } = $props(); 12 + </script> 13 + 14 + <div 15 + class={cn( 16 + 'header fixed top-1 right-0 mx-1 left-0 z-50 flex h-16 items-center justify-between p-2 shadow-lg rounded-2xl border border-base-400/30 dark:border-base-300/10 overflow-hidden', 17 + hasSidebar ? 'lg:left-74' : '', 18 + className 19 + )} 20 + {...restProps} 21 + > 22 + {@render children?.()} 23 + <div 24 + class="backdrop from-base-100/50 via-base-50/20 dark:from-base-900/30 dark:via-base-950/10 pointer-events-none absolute inset-0 -z-10 bg-linear-to-b backdrop-blur-md" 25 + ></div> 26 + 27 + <div 28 + class="backdrop-edge bg-base-900/10 dark:bg-base-500/10 pointer-events-none absolute right-0 bottom-0 left-0 -z-10 translate-y-full backdrop-blur-sm" 29 + ></div> 30 + </div> 31 + 32 + <style> 33 + /** better frosted glass effect adopted from https://www.joshwcomeau.com/css/backdrop-filter/ */ 34 + .header { 35 + --thickness: 1px; 36 + } 37 + 38 + @supports (mask-image: none) or (-webkit-mask-image: none) { 39 + .backdrop { 40 + height: 200%; 41 + -webkit-mask-image: linear-gradient(to bottom, black 0% 50%, transparent 50% 100%); 42 + mask-image: linear-gradient(to bottom, black 0% 50%, transparent 50% 100%); 43 + } 44 + .backdrop-edge { 45 + height: 100%; 46 + inset: 0; 47 + -webkit-mask-image: linear-gradient( 48 + to bottom, 49 + black 0, 50 + black var(--thickness), 51 + transparent var(--thickness) 52 + ); 53 + mask-image: linear-gradient( 54 + to bottom, 55 + black 0, 56 + black var(--thickness), 57 + transparent var(--thickness) 58 + ); 59 + 60 + filter: brightness(1.5); 61 + } 62 + } 63 + </style>
+1
src/lib/components/layout/navbar/index.ts
··· 1 + export { default as Navbar } from './Navbar.svelte';
+69
src/lib/components/layout/sidebar/Sidebar.svelte
··· 1 + <script lang="ts"> 2 + import type { WithElementRef } from 'bits-ui'; 3 + import type { HTMLAttributes } from 'svelte/elements'; 4 + import { cn } from '@fuxui/base'; 5 + import { ScrollArea } from '@fuxui/base'; 6 + 7 + const { 8 + class: className, 9 + mobileClasses, 10 + children, 11 + mobileOnly = false, 12 + ...restProps 13 + }: WithElementRef<HTMLAttributes<HTMLDivElement>> & { 14 + mobileClasses?: string; 15 + mobileOnly?: boolean; 16 + } = $props(); 17 + </script> 18 + 19 + <div 20 + popover="auto" 21 + id="mobile-menu" 22 + class={cn( 23 + 'mobileMenuPopover border-base-200 bg-white/70 dark:border-base-300/10 dark:bg-base-950/50 my-2 ml-0 overflow-y-hidden rounded-r-2xl', 24 + 'inset-auto left-0 top-0 block h-[calc(100dvh-1rem)] w-72 border shadow-lg lg:hidden backdrop-blur-xl', 25 + className, 26 + mobileClasses 27 + )} 28 + {...restProps} 29 + > 30 + <ScrollArea orientation="vertical" class="h-screen"> 31 + {@render children?.()} 32 + </ScrollArea> 33 + </div> 34 + 35 + {#if !mobileOnly} 36 + <div 37 + class={cn( 38 + 'border-base-200 bg-base-50/50 dark:border-base-300/10 dark:bg-base-950/50 backdrop-blur-xl fixed my-1 ml-0.5 overflow-y-hidden rounded-r-2xl', 39 + 'inset-auto -left-1 top-0 z-50 block h-[calc(100dvh-0.5rem)] w-72 border shadow-lg lg:hidden', 40 + 'hidden -translate-x-72 border lg:block lg:w-72 lg:translate-x-0', 41 + className 42 + )} 43 + {...restProps} 44 + > 45 + <ScrollArea orientation="vertical" class="h-screen overflow-y-scroll"> 46 + {@render children?.()} 47 + </ScrollArea> 48 + </div> 49 + {/if} 50 + 51 + <style> 52 + .mobileMenuPopover { 53 + /* Closed state transformed off the screen */ 54 + transform: translateX(-110%); 55 + transition: 56 + transform 0.1s, 57 + overlay 0.1s ease-out; 58 + 59 + /* Styles while the menu is open */ 60 + &:popover-open { 61 + transform: translateX(0); 62 + } 63 + 64 + /* Backdrop that overlays other content */ 65 + &::backdrop { 66 + background-color: rgba(0, 0, 0, 0.5); 67 + } 68 + } 69 + </style>
+1
src/lib/components/layout/sidebar/index.ts
··· 1 + export { default as Sidebar } from './Sidebar.svelte';
+254
src/lib/components/rich-text-editor/RichTextEditor.svelte
··· 1 + <script lang="ts"> 2 + import { onMount, onDestroy } from 'svelte'; 3 + import { Editor, type Content } from '@tiptap/core'; 4 + import StarterKit from '@tiptap/starter-kit'; 5 + import Placeholder from '@tiptap/extension-placeholder'; 6 + import Image from '@tiptap/extension-image'; 7 + import Underline from '@tiptap/extension-underline'; 8 + import Typography from '@tiptap/extension-typography'; 9 + import { RichTextLink } from './RichTextLink'; 10 + import { cn } from '@fuxui/base'; 11 + import { ImageUploadNode } from './image-upload/ImageUploadNode'; 12 + import { initKeyboardShortcutHandler } from './onEnter'; 13 + 14 + let { 15 + content = $bindable({}), 16 + placeholder = 'Write something...', 17 + editor = $bindable(null), 18 + ref = $bindable(null), 19 + class: className, 20 + onupdate, 21 + htmlContent = $bindable(''), 22 + onEnter, 23 + }: { 24 + content?: Content; 25 + placeholder?: string; 26 + editor?: Editor | null; 27 + ref?: HTMLDivElement | null; 28 + class?: string; 29 + onupdate?: (content: Content) => void; 30 + ontransaction?: () => void; 31 + htmlContent?: string; 32 + onEnter: () => void; 33 + } = $props(); 34 + 35 + let hasFocus = true; 36 + 37 + onMount(() => { 38 + if (!ref) return; 39 + 40 + let extensions = [ 41 + StarterKit.configure({ 42 + dropcursor: { 43 + class: 'text-accent-500/30 rounded-2xl', 44 + width: 2 45 + }, 46 + codeBlock: false, 47 + heading: { 48 + levels: [1, 2, 3] 49 + } 50 + }), 51 + Placeholder.configure({ 52 + placeholder: ({ node }) => { 53 + // only show in paragraphs 54 + if (node.type.name === 'paragraph' || node.type.name === 'heading') { 55 + return placeholder; 56 + } 57 + return ''; 58 + } 59 + }), 60 + // Image.configure({ 61 + // HTMLAttributes: { 62 + // class: 'max-w-full object-contain relative rounded-2xl' 63 + // }, 64 + // allowBase64: true 65 + // }), 66 + Underline.configure({}), 67 + RichTextLink.configure({ 68 + openOnClick: false, 69 + autolink: true, 70 + defaultProtocol: 'https' 71 + }), 72 + Typography.configure(), 73 + // ImageUploadNode.configure({ 74 + // upload: async (file, onProgress, abortSignal) => { 75 + // console.log('uploading image', file); 76 + // // wait 2 seconds 77 + // for(let i = 0; i < 10; i++) { 78 + // await new Promise((resolve) => setTimeout(resolve, 200)); 79 + // onProgress?.({ progress: i / 10 }); 80 + // } 81 + 82 + // return 'https://picsum.photos/200/300'; 83 + // } 84 + // }), 85 + initKeyboardShortcutHandler({ onEnter: onEnter }), 86 + 87 + ]; 88 + 89 + editor = new Editor({ 90 + element: ref, 91 + extensions, 92 + editorProps: { 93 + attributes: { 94 + class: 'outline-none' 95 + } 96 + }, 97 + onUpdate: (ctx) => { 98 + content = ctx.editor.getJSON(); 99 + htmlContent = ctx.editor.getHTML(); 100 + onupdate?.(content); 101 + }, 102 + onFocus: () => { 103 + hasFocus = true; 104 + }, 105 + onBlur: () => { 106 + hasFocus = false; 107 + }, 108 + content: `` 109 + }); 110 + 111 + }); 112 + 113 + // Flag to track whether a file is being dragged over the drop area 114 + let isDragOver = $state(false); 115 + 116 + // Store local image files for later upload 117 + let localImages: Map<string, File> = $state(new Map()); 118 + 119 + // Track which image URLs in the editor are local previews 120 + let localImageUrls: Set<string> = $state(new Set()); 121 + 122 + // Process image file to create a local preview 123 + async function processImageFile(file: File) { 124 + if (!editor) { 125 + console.warn('Tiptap editor not initialized'); 126 + return; 127 + } 128 + 129 + try { 130 + const localUrl = URL.createObjectURL(file); 131 + 132 + localImages.set(localUrl, file); 133 + localImageUrls.add(localUrl); 134 + 135 + //editor.commands.setImageUploadNode(); 136 + editor.chain().focus().setImageUploadNode( 137 + { 138 + preview: localUrl 139 + } 140 + ).run(); 141 + 142 + // wait 2 seconds 143 + // await new Promise((resolve) => setTimeout(resolve, 500)); 144 + 145 + // content = editor.getJSON(); 146 + 147 + // console.log('replacing image url in content'); 148 + // replaceImageUrlInContent(content, localUrl, 'https://picsum.photos/200/300'); 149 + // editor.commands.setContent(content); 150 + } catch (error) { 151 + console.error('Error creating image preview:', error); 152 + } 153 + } 154 + 155 + const handlePaste = (event: ClipboardEvent) => { 156 + const items = event.clipboardData?.items; 157 + if (!items) return; 158 + // Check for image data in clipboard 159 + for (const item of Array.from(items)) { 160 + if (!item.type.startsWith('image/')) continue; 161 + const file = item.getAsFile(); 162 + if (!file) continue; 163 + event.preventDefault(); 164 + processImageFile(file); 165 + return; 166 + } 167 + }; 168 + 169 + function handleDragOver(event: DragEvent) { 170 + event.preventDefault(); 171 + event.stopPropagation(); 172 + isDragOver = true; 173 + } 174 + function handleDragLeave(event: DragEvent) { 175 + event.preventDefault(); 176 + event.stopPropagation(); 177 + isDragOver = false; 178 + } 179 + function handleDrop(event: DragEvent) { 180 + event.preventDefault(); 181 + event.stopPropagation(); 182 + isDragOver = false; 183 + if (!event.dataTransfer?.files?.length) return; 184 + const file = event.dataTransfer.files[0]; 185 + if (file?.type.startsWith('image/')) { 186 + processImageFile(file); 187 + } 188 + } 189 + 190 + onDestroy(() => { 191 + for (const localUrl of localImageUrls) { 192 + URL.revokeObjectURL(localUrl); 193 + } 194 + 195 + editor?.destroy(); 196 + }); 197 + </script> 198 + 199 + <div 200 + bind:this={ref} 201 + class={cn('relative flex-1', className)} 202 + 203 + role="region" 204 + ></div> 205 + 206 + <!-- onpaste={handlePaste} 207 + ondragover={handleDragOver} 208 + ondragleave={handleDragLeave} 209 + ondrop={handleDrop} --> 210 + 211 + <style> 212 + :global(.tiptap) { 213 + :first-child { 214 + margin-top: 0; 215 + } 216 + 217 + :global(img) { 218 + display: block; 219 + height: auto; 220 + margin: 1.5rem 0; 221 + max-width: 100%; 222 + 223 + &.ProseMirror-selectednode { 224 + outline: 3px solid var(--color-accent-500); 225 + } 226 + } 227 + 228 + :global(div[data-type='image-upload']) { 229 + &.ProseMirror-selectednode { 230 + outline: 3px solid var(--color-accent-500); 231 + } 232 + } 233 + 234 + :global(blockquote p:first-of-type::before) { 235 + content: none; 236 + } 237 + 238 + :global(blockquote p:last-of-type::after) { 239 + content: none; 240 + } 241 + 242 + :global(blockquote p) { 243 + font-style: normal; 244 + } 245 + } 246 + 247 + :global(.tiptap .is-empty::before) { 248 + color: var(--color-base-500); 249 + content: attr(data-placeholder); 250 + float: left; 251 + height: 0; 252 + pointer-events: none; 253 + } 254 + </style>
+126
src/lib/components/rich-text-editor/RichTextLink.ts
··· 1 + // from https://github.com/Doist/typist/blob/main/src/extensions/rich-text/rich-text-link.ts 2 + import { InputRule, markInputRule, markPasteRule, PasteRule } from '@tiptap/core'; 3 + import { Link } from '@tiptap/extension-link'; 4 + 5 + import type { LinkOptions } from '@tiptap/extension-link'; 6 + 7 + /** 8 + * The input regex for Markdown links with title support, and multiple quotation marks (required 9 + * in case the `Typography` extension is being included). 10 + */ 11 + const inputRegex = /(?:^|\s)\[([^\]]*)?\]\((\S+)(?: ["“](.+)["”])?\)$/i; 12 + 13 + /** 14 + * The paste regex for Markdown links with title support, and multiple quotation marks (required 15 + * in case the `Typography` extension is being included). 16 + */ 17 + const pasteRegex = /(?:^|\s)\[([^\]]*)?\]\((\S+)(?: ["“](.+)["”])?\)/gi; 18 + 19 + /** 20 + * Input rule built specifically for the `Link` extension, which ignores the auto-linked URL in 21 + * parentheses (e.g., `(https://doist.dev)`). 22 + * 23 + * @see https://github.com/ueberdosis/tiptap/discussions/1865 24 + */ 25 + function linkInputRule(config: Parameters<typeof markInputRule>[0]) { 26 + const defaultMarkInputRule = markInputRule(config); 27 + 28 + return new InputRule({ 29 + find: config.find, 30 + handler(props) { 31 + const { tr } = props.state; 32 + 33 + defaultMarkInputRule.handler(props); 34 + tr.setMeta('preventAutolink', true); 35 + } 36 + }); 37 + } 38 + 39 + /** 40 + * Paste rule built specifically for the `Link` extension, which ignores the auto-linked URL in 41 + * parentheses (e.g., `(https://doist.dev)`). This extension was inspired from the multiple 42 + * implementations found in a Tiptap discussion at GitHub. 43 + * 44 + * @see https://github.com/ueberdosis/tiptap/discussions/1865 45 + */ 46 + function linkPasteRule(config: Parameters<typeof markPasteRule>[0]) { 47 + const defaultMarkPasteRule = markPasteRule(config); 48 + 49 + return new PasteRule({ 50 + find: config.find, 51 + handler(props) { 52 + const { tr } = props.state; 53 + 54 + defaultMarkPasteRule.handler(props); 55 + tr.setMeta('preventAutolink', true); 56 + } 57 + }); 58 + } 59 + 60 + /** 61 + * The options available to customize the `RichTextLink` extension. 62 + */ 63 + type RichTextLinkOptions = LinkOptions; 64 + 65 + /** 66 + * Custom extension that extends the built-in `Link` extension to add additional input/paste rules 67 + * for converting the Markdown link syntax (i.e. `[Doist](https://doist.com)`) into links, and also 68 + * adds support for the `title` attribute. 69 + */ 70 + const RichTextLink = Link.extend<RichTextLinkOptions>({ 71 + inclusive: false, 72 + addOptions() { 73 + return { 74 + ...this.parent?.(), 75 + openOnClick: 'whenNotEditable' 76 + }; 77 + }, 78 + addAttributes() { 79 + return { 80 + ...this.parent?.(), 81 + title: { 82 + default: null 83 + } 84 + }; 85 + }, 86 + addInputRules() { 87 + return [ 88 + linkInputRule({ 89 + find: inputRegex, 90 + type: this.type, 91 + 92 + // We need to use `pop()` to remove the last capture groups from the match to 93 + // satisfy Tiptap's `markPasteRule` expectation of having the content as the last 94 + // capture group in the match (this makes the attribute order important) 95 + getAttributes(match) { 96 + return { 97 + title: match.pop()?.trim(), 98 + href: match.pop()?.trim() 99 + }; 100 + } 101 + }) 102 + ]; 103 + }, 104 + addPasteRules() { 105 + return [ 106 + linkPasteRule({ 107 + find: pasteRegex, 108 + type: this.type, 109 + 110 + // We need to use `pop()` to remove the last capture groups from the match to 111 + // satisfy Tiptap's `markInputRule` expectation of having the content as the last 112 + // capture group in the match (this makes the attribute order important) 113 + getAttributes(match) { 114 + return { 115 + title: match.pop()?.trim(), 116 + href: match.pop()?.trim() 117 + }; 118 + } 119 + }) 120 + ]; 121 + } 122 + }); 123 + 124 + export { RichTextLink }; 125 + 126 + export type { RichTextLinkOptions };
+47
src/lib/components/rich-text-editor/image-upload/ImageUploadComponent.svelte
··· 1 + <script lang="ts"> 2 + import type { NodeViewProps } from '@tiptap/core'; 3 + import { onMount } from 'svelte'; 4 + import { NodeViewWrapper } from 'svelte-tiptap'; 5 + 6 + let props: NodeViewProps = $props(); 7 + 8 + let progress = $state(0); 9 + 10 + const handleUpload = async (files?: File[]) => { 11 + console.log(props.node, props.node.attrs); 12 + 13 + const url = await props.extension.options.upload(files, (event) => { 14 + console.log('progress', event); 15 + progress = event.progress; 16 + }); 17 + 18 + if (url) { 19 + const pos = props.getPos(); 20 + const filename = files?.[0]?.name.replace(/\.[^/.]+$/, '') || 'unknown'; 21 + 22 + props.deleteNode(); 23 + props.editor 24 + .chain() 25 + .focus() 26 + .insertContentAt(pos, [ 27 + { 28 + type: 'image', 29 + attrs: { src: props.node.attrs.preview, alt: filename, title: filename } 30 + } 31 + ]) 32 + .run(); 33 + } 34 + }; 35 + 36 + onMount(() => { 37 + console.log('node', props); 38 + handleUpload(); 39 + }); 40 + </script> 41 + 42 + <NodeViewWrapper class="relative"> 43 + <img src={props.node.attrs.preview} alt="Upload preview" class="" /> 44 + <div class="absolute left-0 right-0 bottom-0 h-1 bg-accent-500/30"> 45 + <div class="h-full bg-accent-500 transition-all duration-300" style="width: {progress * 100}%"></div> 46 + </div> 47 + </NodeViewWrapper>
+115
src/lib/components/rich-text-editor/image-upload/ImageUploadNode.ts
··· 1 + import { Node, mergeAttributes } from '@tiptap/core'; 2 + import { SvelteNodeViewRenderer } from 'svelte-tiptap'; 3 + 4 + import ImageUploadComponent from './ImageUploadComponent.svelte'; 5 + 6 + export type UploadFunction = ( 7 + file: File, 8 + onProgress?: (event: { progress: number }) => void, 9 + abortSignal?: AbortSignal 10 + ) => Promise<string>; 11 + 12 + export interface ImageUploadNodeOptions { 13 + /** 14 + * Acceptable file types for upload. 15 + * @default 'image/*' 16 + */ 17 + accept?: string; 18 + /** 19 + * Maximum number of files that can be uploaded. 20 + * @default 1 21 + */ 22 + limit?: number; 23 + /** 24 + * Maximum file size in bytes (0 for unlimited). 25 + * @default 0 26 + */ 27 + maxSize?: number; 28 + 29 + /** 30 + * Preview image URL. 31 + */ 32 + preview?: string; 33 + /** 34 + * Function to handle the upload process. 35 + */ 36 + upload?: UploadFunction; 37 + /** 38 + * Callback for upload errors. 39 + */ 40 + onError?: (error: Error) => void; 41 + /** 42 + * Callback for successful uploads. 43 + */ 44 + onSuccess?: (url: string) => void; 45 + } 46 + 47 + declare module '@tiptap/core' { 48 + interface Commands<ReturnType> { 49 + imageUpload: { 50 + setImageUploadNode: (options?: ImageUploadNodeOptions) => ReturnType; 51 + }; 52 + } 53 + } 54 + 55 + export const ImageUploadNode = Node.create<ImageUploadNodeOptions>({ 56 + name: 'imageUpload', 57 + group: 'block', 58 + atom: true, 59 + draggable: true, 60 + selectable: false, 61 + inline: false, 62 + 63 + addAttributes() { 64 + return { 65 + accept: { 66 + default: this.options.accept 67 + }, 68 + limit: { 69 + default: this.options.limit 70 + }, 71 + maxSize: { 72 + default: this.options.maxSize 73 + }, 74 + preview: { 75 + default: this.options.preview 76 + } 77 + }; 78 + }, 79 + 80 + addOptions() { 81 + return { 82 + accept: 'image/*', 83 + limit: 1, 84 + maxSize: 0, 85 + upload: undefined, 86 + onError: undefined, 87 + onSuccess: undefined 88 + }; 89 + }, 90 + 91 + addCommands() { 92 + return { 93 + setImageUploadNode: 94 + (options = {}) => 95 + ({ commands }) => { 96 + return commands.insertContent({ 97 + type: this.name, 98 + attrs: options 99 + }); 100 + } 101 + }; 102 + }, 103 + 104 + parseHTML() { 105 + return [{ tag: 'div[data-type="image-upload"]' }]; 106 + }, 107 + 108 + renderHTML({ HTMLAttributes }) { 109 + return ['div', mergeAttributes({ 'data-type': 'image-upload' }, HTMLAttributes)]; 110 + }, 111 + 112 + addNodeView() { 113 + return SvelteNodeViewRenderer(ImageUploadComponent); 114 + } 115 + });
+11
src/lib/components/rich-text-editor/index.ts
··· 1 + export { default as RichTextEditor } from './RichTextEditor.svelte'; 2 + 3 + export type RichTextTypes = 4 + | 'paragraph' 5 + | 'heading-1' 6 + | 'heading-2' 7 + | 'heading-3' 8 + | 'blockquote' 9 + | 'code' 10 + | 'bullet-list' 11 + | 'ordered-list';
+23
src/lib/components/rich-text-editor/onEnter.ts
··· 1 + import { Extension } from '@tiptap/core'; 2 + import { keymap } from '@tiptap/pm/keymap'; 3 + 4 + /* Keyboard Shortcuts: used to add and override existing shortcuts */ 5 + type KeyboardShortcutHandlerProps = { 6 + onEnter: () => void; 7 + }; 8 + 9 + export const initKeyboardShortcutHandler = ({ onEnter }: KeyboardShortcutHandlerProps) => 10 + Extension.create({ 11 + name: 'keyboardShortcutHandler', 12 + addProseMirrorPlugins() { 13 + return [ 14 + keymap({ 15 + Enter: () => { 16 + onEnter(); 17 + this.editor.commands.clearContent(); 18 + return true; 19 + } 20 + }) 21 + ]; 22 + } 23 + });
+1
src/lib/index.ts
··· 1 + // place files you want to import through the `$lib` alias in this folder.
+80
src/lib/schema.ts
··· 1 + import { co, Group, z } from 'jazz-tools'; 2 + import { getRandomUsername } from './username'; 3 + 4 + export const Reaction = co.map({ 5 + emoji: z.string() 6 + }); 7 + 8 + export const Message = co.map({ 9 + content: co.richText(), 10 + images: co.list(co.image()), 11 + 12 + createdAt: z.date(), 13 + updatedAt: z.date(), 14 + 15 + replyTo: z.string().optional(), 16 + reactions: co.list(Reaction), 17 + type: z.enum(['message', 'announcement']) 18 + }); 19 + 20 + export const Timeline = co.list(Message); 21 + 22 + export const Thread = co.map({ 23 + name: z.string(), 24 + timeline: Timeline 25 + }); 26 + 27 + export const Channel = co.map({ 28 + name: z.string(), 29 + image: co.image().optional(), 30 + 31 + mainThread: Thread, 32 + subThreads: co.list(Thread) 33 + }); 34 + 35 + export const Space = co.map({ 36 + name: z.string(), 37 + image: co.image().optional(), 38 + channels: co.list(Channel), 39 + description: z.string().optional(), 40 + emoji: z.string().optional(), 41 + members: co.list(co.account()) 42 + }); 43 + 44 + export const SpaceList = co.list(Space); 45 + 46 + export const MyAppProfile = co.profile({ 47 + name: z.string(), 48 + image: co.image().optional(), 49 + imageUrl: z.string().optional(), 50 + blueskyHandle: z.string().optional() 51 + }); 52 + 53 + export const MyAppRoot = co.map({ 54 + joinedSpaces: SpaceList 55 + }); 56 + 57 + export const MyAppAccount = co 58 + .account({ 59 + profile: MyAppProfile, 60 + root: MyAppRoot 61 + }) 62 + .withMigration((account, creationProps?: { name: string }) => { 63 + if (account.root === undefined) { 64 + account.root = MyAppRoot.create({ 65 + joinedSpaces: SpaceList.create([]) 66 + }); 67 + } 68 + 69 + if (account.profile === undefined) { 70 + const profileGroup = Group.create(); 71 + profileGroup.addMember('everyone', 'reader'); 72 + 73 + account.profile = MyAppProfile.create( 74 + { 75 + name: creationProps?.name ?? getRandomUsername() 76 + }, 77 + profileGroup 78 + ); 79 + } 80 + });
+71
src/lib/username.ts
··· 1 + // Preset lists of adjectives and names, 5 per letter A–Z 2 + const adjectivesByLetter: Record<string, string[]> = { 3 + A: ['adventurous', 'amazing', 'agile', 'awesome', 'astounding'], 4 + B: ['brave', 'bright', 'breezy', 'bold', 'bouncy'], 5 + C: ['curious', 'clever', 'calm', 'cheerful', 'courageous'], 6 + D: ['daring', 'dazzling', 'dynamic', 'dependable', 'delightful'], 7 + E: ['eager', 'energetic', 'enthusiastic', 'elegant', 'epic'], 8 + F: ['friendly', 'fearless', 'fantastic', 'funky', 'fast'], 9 + G: ['generous', 'gentle', 'great', 'glorious', 'gleaming'], 10 + H: ['happy', 'heroic', 'humble', 'humorous', 'hearty'], 11 + I: ['imaginative', 'intelligent', 'incredible', 'iconic', 'inspiring'], 12 + J: ['joyful', 'jaunty', 'jolly', 'jubilant', 'jazzy'], 13 + K: ['keen', 'kind', 'kooky', 'knowledgeable', 'kinetic'], 14 + L: ['lively', 'loyal', 'luminous', 'lucky', 'legendary'], 15 + M: ['mighty', 'marvelous', 'merry', 'magical', 'majestic'], 16 + N: ['nimble', 'noble', 'nifty', 'notable', 'nurturing'], 17 + O: ['optimistic', 'outstanding', 'original', 'outrageous', 'opulent'], 18 + P: ['playful', 'powerful', 'patient', 'positive', 'peaceful'], 19 + Q: ['quick', 'quirky', 'quiet', 'quintessential', 'quizzical'], 20 + R: ['radiant', 'resourceful', 'rapid', 'robust', 'resilient'], 21 + S: ['swift', 'spirited', 'stellar', 'shining', 'smart'], 22 + T: ['terrific', 'thoughtful', 'tenacious', 'tranquil', 'talented'], 23 + U: ['unique', 'upbeat', 'ultimate', 'useful', 'unbreakable'], 24 + V: ['vibrant', 'valiant', 'victorious', 'vivid', 'versatile'], 25 + W: ['witty', 'wise', 'wonderful', 'whimsical', 'warm'], 26 + X: ['xenial', 'xanthic', 'xenodochial', 'xeric', 'xyloid'], 27 + Y: ['youthful', 'yummy', 'yearning', 'yielding', 'yare'], 28 + Z: ['zealous', 'zany', 'zesty', 'zen', 'zippy'] 29 + }; 30 + 31 + const namesByLetter: Record<string, string[]> = { 32 + A: ['Alice', 'Alex', 'Amy', 'Arthur', 'Ava'], 33 + B: ['Bob', 'Bella', 'Bill', 'Brooke', 'Ben'], 34 + C: ['Charlie', 'Chloe', 'Chris', 'Clara', 'Caleb'], 35 + D: ['David', 'Diana', 'Dylan', 'Daisy', 'Derek'], 36 + E: ['Emma', 'Ethan', 'Eva', 'Evan', 'Elizabeth'], 37 + F: ['Frank', 'Fiona', 'Felix', 'Faith', 'Finn'], 38 + G: ['Grace', 'George', 'Gavin', 'Gabrielle', 'Gina'], 39 + H: ['Henry', 'Hannah', 'Hugo', 'Holly', 'Hazel'], 40 + I: ['Ian', 'Iris', 'Isaac', 'Isabella', 'Ivy'], 41 + J: ['Jack', 'Julia', 'James', 'Jasmine', 'Jonah'], 42 + K: ['Kevin', 'Kate', 'Kyle', 'Kaitlyn', 'Kenneth'], 43 + L: ['Lily', 'Luke', 'Laura', 'Logan', 'Leah'], 44 + M: ['Michael', 'Maya', 'Mark', 'Mia', 'Matthew'], 45 + N: ['Noah', 'Natalie', 'Nathan', 'Nora', 'Nicole'], 46 + O: ['Oliver', 'Olivia', 'Oscar', 'Ophelia', 'Owen'], 47 + P: ['Paul', 'Paige', 'Peter', 'Penelope', 'Parker'], 48 + Q: ['Quentin', 'Quinn', 'Quiana', 'Quincy', 'Queenie'], 49 + R: ['Ryan', 'Rachel', 'Robert', 'Rebecca', 'Riley'], 50 + S: ['Sam', 'Sarah', 'Steven', 'Sophia', 'Scott'], 51 + T: ['Thomas', 'Tina', 'Tyler', 'Tessa', 'Theodore'], 52 + U: ['Ulysses', 'Una', 'Ursula', 'Uriel', 'Ulric'], 53 + V: ['Victor', 'Victoria', 'Vincent', 'Vanessa', 'Violet'], 54 + W: ['William', 'Wendy', 'Wyatt', 'Willow', 'Wesley'], 55 + X: ['Xavier', 'Xander', 'Ximena', 'Xenia', 'Xiomara'], 56 + Y: ['Yara', 'Yvonne', 'Yusef', 'Yolanda', 'Yusuf'], 57 + Z: ['Zachary', 'Zoe', 'Zane', 'Zara', 'Zuri'] 58 + }; 59 + 60 + export function getRandomUsername(): string { 61 + const letters = Object.keys(adjectivesByLetter); 62 + 63 + const randomLetter = letters[Math.floor(Math.random() * letters.length)]; 64 + 65 + const adjectives = adjectivesByLetter[randomLetter]; 66 + const names = namesByLetter[randomLetter]; 67 + const adjective = adjectives[Math.floor(Math.random() * adjectives.length)]; 68 + const name = names[Math.floor(Math.random() * names.length)]; 69 + 70 + return `${adjective} ${name}`.toLowerCase(); 71 + }
+86
src/lib/utils.ts
··· 1 + import { Account, co, Group, type Loaded } from 'jazz-tools'; 2 + import { Channel, Space, SpaceList, Thread, Timeline } from './schema'; 3 + 4 + export function publicGroup(readWrite: 'reader' | 'writer' = 'writer') { 5 + const group = Group.create(); 6 + group.addMember('everyone', readWrite); 7 + 8 + return group; 9 + } 10 + 11 + export function createChannel(name: string) { 12 + const group = publicGroup(); 13 + 14 + const thread = Thread.create( 15 + { 16 + name: 'main', 17 + timeline: Timeline.create([], { 18 + owner: group 19 + }) 20 + }, 21 + { 22 + owner: group 23 + } 24 + ); 25 + 26 + const channel = Channel.create( 27 + { 28 + name, 29 + mainThread: thread, 30 + subThreads: co.list(Thread).create([], { 31 + owner: group 32 + }) 33 + }, 34 + { 35 + owner: group 36 + } 37 + ); 38 + 39 + return channel; 40 + } 41 + 42 + export function createSpace(name: string, description?: string, emoji?: string) { 43 + const group = publicGroup(); 44 + 45 + const channel = createChannel('general'); 46 + 47 + const space = Space.create( 48 + { 49 + name, 50 + channels: co.list(Channel).create([channel], { 51 + owner: group 52 + }), 53 + description, 54 + emoji, 55 + members: co.list(co.account()).create([Account.getMe()], { 56 + owner: group 57 + }) 58 + }, 59 + { 60 + owner: group 61 + } 62 + ); 63 + 64 + return space; 65 + } 66 + 67 + export function joinSpace(space: Loaded<typeof Space>) { 68 + space.members?.push(Account.getMe()); 69 + } 70 + 71 + export function isSpaceAdmin(space: Loaded<typeof Space>) { 72 + try { 73 + const me = Account.getMe(); 74 + return me.canAdmin(space); 75 + } catch (error) { 76 + return false; 77 + } 78 + } 79 + 80 + export function createPublicSpacesList() { 81 + const spaces = SpaceList.create([], { 82 + owner: publicGroup() 83 + }); 84 + 85 + return spaces; 86 + }
+22
src/routes/+layout.svelte
··· 1 + <script lang="ts"> 2 + import '../app.css'; 3 + 4 + import { Head, Toaster } from '@fuxui/base'; 5 + import { JazzProvider } from 'jazz-svelte'; 6 + import { MyAppAccount } from '$lib/schema'; 7 + 8 + let { children } = $props(); 9 + </script> 10 + 11 + <JazzProvider 12 + sync={{ 13 + peer: `wss://cloud.jazz.tools/?key=flo.bit.dev@gmail.com` 14 + }} 15 + AccountSchema={MyAppAccount} 16 + > 17 + {@render children()} 18 + </JazzProvider> 19 + 20 + <Toaster /> 21 + 22 + <Head title="jazz roomy" emojiFavicon="💭" />
+2
src/routes/+layout.ts
··· 1 + export const ssr = true; 2 + export const prerender = true;
+231
src/routes/+page.svelte
··· 1 + <script lang="ts"> 2 + import { 3 + Avatar, 4 + Button, 5 + cn, 6 + Heading, 7 + Input, 8 + Modal, 9 + Subheading, 10 + Textarea, 11 + ThemeToggle 12 + } from '@fuxui/base'; 13 + 14 + import { AccountCoState, CoState } from 'jazz-svelte'; 15 + import { MyAppAccount, SpaceList } from '$lib/schema'; 16 + import { createPublicSpacesList, createSpace } from '$lib/utils'; 17 + import { getRandomUsername } from '$lib/username'; 18 + import { getProfile, resolveHandle } from '$lib/bluesky'; 19 + import { ImageDefinition } from 'jazz-tools'; 20 + import { onDestroy } from 'svelte'; 21 + import SpaceItem from '$lib/components/SpaceItem.svelte'; 22 + import CreateSpaceModal from '$lib/components/CreateSpaceModal.svelte'; 23 + import SpaceSelection from '$lib/SpaceSelection.svelte'; 24 + 25 + const me = new AccountCoState(MyAppAccount, { 26 + resolve: { 27 + profile: true, 28 + root: true 29 + } 30 + }); 31 + 32 + function createNewSpace({ 33 + name, 34 + description, 35 + emoji, 36 + isPublic 37 + }: { 38 + name: string; 39 + description: string; 40 + emoji: string; 41 + isPublic: boolean; 42 + }) { 43 + let space = createSpace(name, description, emoji); 44 + 45 + me.current?.root.joinedSpaces?.unshift(space); 46 + 47 + // const list = createPublicSpacesList(); 48 + // console.log(list.id); 49 + if (isPublic) { 50 + publicSpaces.current?.unshift(space); 51 + } 52 + } 53 + 54 + let createNewSpaceModalOpen = $state(false); 55 + 56 + let publicSpaces = $derived( 57 + new CoState(SpaceList, 'co_zgqiKqPDZfxYm5AQ7coUB4yG1EL', { 58 + resolve: { 59 + $each: true, 60 + $onError: null 61 + } 62 + }) 63 + ); 64 + 65 + let editProfileModalOpen = $state(false); 66 + let handle = $state(''); 67 + 68 + async function editProfile() { 69 + editProfileModalOpen = false; 70 + 71 + let did = await resolveHandle({ handle }); 72 + let profile = await getProfile({ did }); 73 + 74 + if (!me.current?.profile) return; 75 + me.current.profile.name = profile.handle; 76 + 77 + if (profile.avatar) { 78 + // download avatar from profile.avatar 79 + // let avatar = await fetch(profile.avatar); 80 + // let blob = await avatar.blob(); 81 + // let file = new File([blob], 'avatar.png', { type: 'image/png' }); 82 + // const image = await createImage(file, { 83 + // owner: me, 84 + // maxSize: 256 85 + // }); 86 + 87 + // if (image) { 88 + // me.current.profile.image = image; 89 + // } 90 + me.current.profile.imageUrl = profile.avatar; 91 + } 92 + } 93 + 94 + let imageUrl = $derived.by(() => { 95 + if (!me.current?.profile?.image) return; 96 + const highestRes = ImageDefinition.highestResAvailable(me?.current?.profile?.image); 97 + if (!highestRes) return; 98 + const blob = highestRes.stream.toBlob(); 99 + if (!blob) return; 100 + return URL.createObjectURL(blob); 101 + }); 102 + 103 + onDestroy(() => { 104 + if (imageUrl) { 105 + URL.revokeObjectURL(imageUrl); 106 + } 107 + }); 108 + 109 + let showSpaceSelection = $state(false); 110 + </script> 111 + 112 + <div class={cn('h-[100dvh] px-4')}> 113 + <div class="mx-auto flex w-full max-w-2xl flex-col items-start justify-center gap-2 py-24 relative"> 114 + <div class="flex flex-col items-end gap-2 justify-center w-full"> 115 + <div class="mx-auto flex items-center gap-2"> 116 + <Avatar src={me.current?.profile.imageUrl} /> 117 + <Heading> 118 + Hello, 119 + <span class="font-bold">{me.current?.profile.name} </span> 120 + </Heading> 121 + </div> 122 + </div> 123 + 124 + 125 + <Button variant="secondary" onclick={() => (editProfileModalOpen = true)} size="sm" class="absolute top-16 right-0"> 126 + <svg 127 + xmlns="http://www.w3.org/2000/svg" 128 + fill="none" 129 + viewBox="0 0 24 24" 130 + stroke-width="2" 131 + stroke="currentColor" 132 + > 133 + <path 134 + stroke-linecap="round" 135 + stroke-linejoin="round" 136 + d="M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z" 137 + /> 138 + </svg> 139 + 140 + Edit 141 + </Button> 142 + 143 + <div class="mt-8 mb-2 flex items-center gap-4"> 144 + <Subheading>Joined spaces</Subheading> 145 + 146 + <Button 147 + size="sm" 148 + onclick={() => { 149 + createNewSpaceModalOpen = true; 150 + }} 151 + > 152 + <svg 153 + xmlns="http://www.w3.org/2000/svg" 154 + fill="none" 155 + viewBox="0 0 24 24" 156 + stroke-width="2" 157 + stroke="currentColor" 158 + > 159 + <path stroke-linecap="round" stroke-linejoin="round" d="M12 4.5v15m7.5-7.5h-15" /> 160 + </svg> 161 + 162 + Create space 163 + </Button> 164 + </div> 165 + 166 + <div class="relative isolate w-full"> 167 + <ul class="flex w-full gap-2 overflow-x-scroll pb-4"> 168 + {#each me.current?.root.joinedSpaces ?? [] as space} 169 + {#if space} 170 + <SpaceItem {space} me={me.current} /> 171 + {/if} 172 + {/each} 173 + 174 + {#if me.current?.root.joinedSpaces?.length === 0} 175 + <div class="text-base-600 dark:text-base-400 h-30 text-sm">No spaces yet.</div> 176 + {/if} 177 + 178 + <div class="h-20 w-5 shrink-0"></div> 179 + </ul> 180 + <div 181 + class="from-base-50 dark:from-base-950 pointer-events-none absolute top-0 right-0 bottom-0 w-20 bg-gradient-to-l via-transparent" 182 + ></div> 183 + </div> 184 + 185 + <div class="mt-8 mb-2 flex items-center gap-4"> 186 + <Subheading>Public spaces</Subheading> 187 + </div> 188 + 189 + <div class="relative isolate w-full"> 190 + <ul class="flex w-full gap-2 overflow-x-scroll pb-4"> 191 + {#each publicSpaces.current ?? [] as space} 192 + {#if space} 193 + <SpaceItem {space} me={me.current} /> 194 + {/if} 195 + {/each} 196 + 197 + {#if publicSpaces.current?.length === 0} 198 + <div class="text-base-600 dark:text-base-400 h-30 text-sm">No public spaces yet.</div> 199 + {/if} 200 + 201 + <div class="h-20 w-5 shrink-0"></div> 202 + </ul> 203 + <div 204 + class="from-base-50 dark:from-base-950 pointer-events-none absolute top-0 right-0 bottom-0 w-20 bg-gradient-to-l via-transparent" 205 + ></div> 206 + </div> 207 + </div> 208 + </div> 209 + 210 + <Modal bind:open={editProfileModalOpen}> 211 + <form onsubmit={editProfile} class="flex flex-col gap-4"> 212 + <Subheading>Set user info from bluesky handle</Subheading> 213 + <Input bind:value={handle} /> 214 + <Button type="submit">set</Button> 215 + </form> 216 + </Modal> 217 + 218 + <CreateSpaceModal bind:open={createNewSpaceModalOpen} {createNewSpace} /> 219 + 220 + <ThemeToggle class="absolute top-4 right-4" /> 221 + 222 + 223 + <svelte:window 224 + onkeydown={(e) => { 225 + if (e.metaKey && e.key === 'k') { 226 + showSpaceSelection = true; 227 + } 228 + }} 229 + /> 230 + 231 + <SpaceSelection spaces={me.current?.root?.joinedSpaces ?? []} bind:open={showSpaceSelection} />
+228
src/routes/[spaceId]/+layout.svelte
··· 1 + <script lang="ts"> 2 + import { afterNavigate } from '$app/navigation'; 3 + import { base } from '$app/paths'; 4 + import { page } from '$app/state'; 5 + import { MyAppAccount, Space } from '$lib/schema'; 6 + import { createChannel, isSpaceAdmin } from '$lib/utils'; 7 + import { 8 + Accordion, 9 + AccordionItem, 10 + Button, 11 + Input, 12 + Modal, 13 + Subheading, 14 + ThemeToggle 15 + } from '@fuxui/base'; 16 + 17 + import Sidebar from '$lib/components/layout/sidebar/Sidebar.svelte'; 18 + import Navbar from '$lib/components/layout/navbar/Navbar.svelte'; 19 + import { AccountCoState, CoState } from 'jazz-svelte'; 20 + import { type Loaded } from 'jazz-tools'; 21 + import Container from '$lib/components/Container.svelte'; 22 + import SpaceSelection from '$lib/SpaceSelection.svelte'; 23 + 24 + let spaceId: string = $state(page.params.spaceId); 25 + 26 + let space = $derived( 27 + new CoState(Space, spaceId, { 28 + resolve: { 29 + channels: { 30 + $each: true, 31 + $onError: null 32 + } 33 + } 34 + }) 35 + ); 36 + 37 + const me = new AccountCoState(MyAppAccount, { 38 + resolve: { 39 + profile: true, 40 + root: true 41 + } 42 + }); 43 + 44 + afterNavigate(() => { 45 + spaceId = page.params.spaceId; 46 + }); 47 + 48 + let { children } = $props(); 49 + 50 + function hideSidebar() { 51 + const popover = document.getElementById('mobile-menu'); 52 + if (popover) { 53 + popover.hidePopover(); 54 + } 55 + } 56 + 57 + function createNewChannel(space: Loaded<typeof Space>, name: string) { 58 + const channel = createChannel(name); 59 + space.channels?.push(channel); 60 + } 61 + 62 + let isNewChannelModalOpen = $state(false); 63 + let newChannelName = $state(''); 64 + 65 + let showSpaceSelection = $state(false); 66 + </script> 67 + 68 + <Navbar hasSidebar class="dark:bg-base-900 bg-white"> 69 + <div class="flex items-center gap-2"> 70 + <Button 71 + variant="link" 72 + class="block font-normal backdrop-blur-none lg:hidden" 73 + popovertarget="mobile-menu" 74 + > 75 + <svg 76 + xmlns="http://www.w3.org/2000/svg" 77 + viewBox="0 0 24 24" 78 + fill="currentColor" 79 + class="size-6!" 80 + > 81 + <path 82 + fill-rule="evenodd" 83 + d="M3 9a.75.75 0 0 1 .75-.75h16.5a.75.75 0 0 1 0 1.5H3.75A.75.75 0 0 1 3 9Zm0 6.75a.75.75 0 0 1 .75-.75h16.5a.75.75 0 0 1 0 1.5H3.75a.75.75 0 0 1-.75-.75Z" 84 + clip-rule="evenodd" 85 + ></path> 86 + </svg> 87 + </Button> 88 + </div> 89 + 90 + <ThemeToggle /> 91 + </Navbar> 92 + 93 + <Sidebar class="dark:bg-base-900 bg-white px-2 pt-4"> 94 + <Button 95 + variant="ghost" 96 + class="mb-4 w-full justify-start backdrop-blur-none" 97 + href={`${base}/`} 98 + onclick={hideSidebar} 99 + > 100 + <svg 101 + xmlns="http://www.w3.org/2000/svg" 102 + fill="none" 103 + viewBox="0 0 24 24" 104 + stroke-width="1.5" 105 + stroke="currentColor" 106 + > 107 + <path 108 + stroke-linecap="round" 109 + stroke-linejoin="round" 110 + d="m2.25 12 8.954-8.955c.44-.439 1.152-.439 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25" 111 + /> 112 + </svg> 113 + 114 + home 115 + </Button> 116 + 117 + <Button 118 + variant="ghost" 119 + class="mb-2 w-full justify-start backdrop-blur-none" 120 + href={`${base}/${spaceId}`} 121 + onclick={hideSidebar} 122 + > 123 + <span>{space.current?.emoji}</span>{space.current?.name} 124 + </Button> 125 + 126 + <Accordion type="multiple" class="w-full" value={['channels']}> 127 + <AccordionItem 128 + value="channels" 129 + class="border-0" 130 + title={'channels'} 131 + triggerClasses="text-sm px-3 py-0 font-semibold" 132 + contentClasses="flex flex-col gap-1 items-start px-1" 133 + > 134 + {#each space.current?.channels ?? [] as channel} 135 + {#if channel} 136 + <Button 137 + data-current={page.url.pathname === `${base}/${spaceId}/channel/${channel.id}`} 138 + variant="ghost" 139 + onclick={hideSidebar} 140 + href="{base}/{spaceId}/channel/{channel.id}" 141 + class="w-full justify-start backdrop-blur-none" 142 + > 143 + <svg 144 + xmlns="http://www.w3.org/2000/svg" 145 + fill="none" 146 + viewBox="0 0 24 24" 147 + stroke-width="1.5" 148 + stroke="currentColor" 149 + > 150 + <path 151 + stroke-linecap="round" 152 + stroke-linejoin="round" 153 + d="M5.25 8.25h15m-16.5 7.5h15m-1.8-13.5-3.9 19.5m-2.1-19.5-3.9 19.5" 154 + /> 155 + </svg> 156 + 157 + {channel.name}</Button 158 + > 159 + {/if} 160 + {/each} 161 + 162 + {#if isSpaceAdmin(space.current)} 163 + <Button 164 + variant="ghost" 165 + class="mt-8 w-full justify-start backdrop-blur-none" 166 + onclick={() => { 167 + hideSidebar(); 168 + isNewChannelModalOpen = true; 169 + }} 170 + > 171 + <svg 172 + xmlns="http://www.w3.org/2000/svg" 173 + fill="none" 174 + viewBox="0 0 24 24" 175 + stroke-width="1.5" 176 + stroke="currentColor" 177 + > 178 + <path stroke-linecap="round" stroke-linejoin="round" d="M12 4.5v15m7.5-7.5h-15" /> 179 + </svg> 180 + 181 + new channel 182 + </Button> 183 + {/if} 184 + </AccordionItem> 185 + </Accordion> 186 + 187 + 188 + <Button 189 + variant="ghost" 190 + class="mt-16 w-full justify-start backdrop-blur-none" 191 + onclick={() => { 192 + hideSidebar(); 193 + showSpaceSelection = true; 194 + }} 195 + > 196 + Switch space 197 + </Button> 198 + </Sidebar> 199 + 200 + <Modal bind:open={isNewChannelModalOpen}> 201 + <div class="flex flex-col gap-4"> 202 + <Subheading>create new channel</Subheading> 203 + <form 204 + onsubmit={() => { 205 + createNewChannel(space.current, newChannelName); 206 + isNewChannelModalOpen = false; 207 + }} 208 + class="flex flex-col gap-2" 209 + > 210 + <Input type="text" placeholder="channel name" bind:value={newChannelName} /> 211 + <Button type="submit">create</Button> 212 + </form> 213 + </div> 214 + </Modal> 215 + 216 + <svelte:window 217 + onkeydown={(e) => { 218 + if (e.metaKey && e.key === 'k') { 219 + showSpaceSelection = true; 220 + } 221 + }} 222 + /> 223 + 224 + <SpaceSelection spaces={me.current?.root?.joinedSpaces ?? []} bind:open={showSpaceSelection} /> 225 + 226 + <Container> 227 + {@render children?.()} 228 + </Container>
+69
src/routes/[spaceId]/+page.svelte
··· 1 + <script lang="ts"> 2 + import { afterNavigate } from '$app/navigation'; 3 + import { base } from '$app/paths'; 4 + import { page } from '$app/state'; 5 + import { Space } from '$lib/schema'; 6 + import { Button, Heading, Paragraph, Subheading } from '@fuxui/base'; 7 + import { CoState } from 'jazz-svelte'; 8 + 9 + let spaceId: string = $state(page.params.spaceId); 10 + 11 + let space = $derived( 12 + new CoState(Space, spaceId, { 13 + resolve: { 14 + channels: { 15 + $each: true, 16 + $onError: null 17 + } 18 + } 19 + }) 20 + ); 21 + 22 + afterNavigate(() => { 23 + spaceId = page.params.spaceId; 24 + }); 25 + </script> 26 + 27 + <Heading 28 + > 29 + {#if space.current?.emoji} 30 + <span class="text-5xl mr-1">{space.current?.emoji}</span> 31 + {/if} 32 + <span class="text-base-900 dark:text-base-100 font-bold">{space.current?.name}</span> 33 + </Heading> 34 + 35 + {#if space.current?.description} 36 + <Subheading class="mt-4 mb-2">About</Subheading> 37 + <Paragraph class="text-sm font-normal">{space.current?.description}</Paragraph> 38 + {/if} 39 + 40 + <Subheading class="mt-4 mb-2">Channels</Subheading> 41 + 42 + <div class="flex flex-col items-start justify-start gap-2"> 43 + {#each space.current?.channels ?? [] as channel} 44 + {#if channel} 45 + <Button 46 + data-current={page.url.pathname === `${base}/${spaceId}/channel/${channel.id}`} 47 + variant="ghost" 48 + href="{base}/{spaceId}/channel/{channel.id}" 49 + class="w-full justify-start backdrop-blur-none" 50 + > 51 + <svg 52 + xmlns="http://www.w3.org/2000/svg" 53 + fill="none" 54 + viewBox="0 0 24 24" 55 + stroke-width="1.5" 56 + stroke="currentColor" 57 + > 58 + <path 59 + stroke-linecap="round" 60 + stroke-linejoin="round" 61 + d="M5.25 8.25h15m-16.5 7.5h15m-1.8-13.5-3.9 19.5m-2.1-19.5-3.9 19.5" 62 + /> 63 + </svg> 64 + 65 + {channel.name}</Button 66 + > 67 + {/if} 68 + {/each} 69 + </div>
+130
src/routes/[spaceId]/channel/[channelId]/+page.svelte
··· 1 + <script lang="ts"> 2 + import { afterNavigate } from '$app/navigation'; 3 + import { base } from '$app/paths'; 4 + import { page } from '$app/state'; 5 + import ChatMessage from '$lib/components/ChatMessage.svelte'; 6 + import Container from '$lib/components/Container.svelte'; 7 + import { RichTextEditor } from '$lib/components/rich-text-editor'; 8 + import { Channel, Message, MyAppAccount, Reaction, Space } from '$lib/schema'; 9 + import { joinSpace, publicGroup } from '$lib/utils'; 10 + import { Button, Prose } from '@fuxui/base'; 11 + import { AccountCoState, CoState } from 'jazz-svelte'; 12 + import { co, CoRichText } from 'jazz-tools'; 13 + import { onMount } from 'svelte'; 14 + 15 + let channelId = $state(page.params.channelId); 16 + let spaceId = $state(page.params.spaceId); 17 + 18 + const me = new AccountCoState(MyAppAccount, { 19 + resolve: { 20 + profile: true, 21 + root: true 22 + } 23 + }); 24 + 25 + let space = $derived( 26 + new CoState(Space, spaceId, { 27 + resolve: { 28 + channels: { 29 + $each: true, 30 + $onError: null 31 + } 32 + } 33 + }) 34 + ); 35 + 36 + let channel = $derived( 37 + new CoState(Channel, channelId, { 38 + resolve: { 39 + mainThread: { 40 + timeline: true 41 + }, 42 + subThreads: true 43 + } 44 + }) 45 + ); 46 + 47 + $inspect(space.current); 48 + 49 + afterNavigate(() => { 50 + channelId = page.params.channelId; 51 + spaceId = page.params.spaceId; 52 + 53 + console.log('afterNavigate', space.current); 54 + console.log('afterNavigate', channel.current); 55 + }); 56 + 57 + function handleSubmit() { 58 + console.log('input', input); 59 + let newContent = new CoRichText({ 60 + text: input, 61 + owner: publicGroup() 62 + }); 63 + console.log('newContent', newContent); 64 + // add message to channel 65 + const message = Message.create( 66 + { 67 + content: newContent, 68 + createdAt: new Date(), 69 + updatedAt: new Date(), 70 + images: co.list(co.image()).create([], { 71 + owner: publicGroup() 72 + }), 73 + reactions: co.list(Reaction).create([], { 74 + owner: publicGroup() 75 + }), 76 + type: 'message' 77 + }, 78 + { 79 + owner: publicGroup() 80 + } 81 + ); 82 + 83 + channel.current?.mainThread?.timeline?.push(message); 84 + 85 + // clear message 86 + } 87 + 88 + function clickJoinSpace() { 89 + console.log('clickJoinSpace', space.current); 90 + if (!space.current) return; 91 + 92 + joinSpace(space.current); 93 + me.current?.root.joinedSpaces?.unshift(space.current); 94 + 95 + console.log('joined space', space.current); 96 + } 97 + 98 + let input = $state(''); 99 + </script> 100 + 101 + <div class="flex w-full flex-col gap-1"> 102 + {#each channel.current?.mainThread?.timeline ?? [] as message, index} 103 + {#if message} 104 + <ChatMessage {message} previousMessage={channel.current?.mainThread?.timeline?.[index - 1]} /> 105 + {/if} 106 + {/each} 107 + {#if channel.current?.mainThread?.timeline?.length === 0} 108 + <div class="text-base-600 dark:text-base-400 text-sm h-30"> 109 + No messages yet. Be the first to send a message! 110 + </div> 111 + {/if} 112 + </div> 113 + 114 + <div 115 + class="dark:bg-base-900 border-base-200 dark:border-base-800 fixed right-2 bottom-0 left-2 rounded-t-2xl border-x border-t bg-white px-4 shadow-lg lg:left-76" 116 + > 117 + {#if me.current?.root.joinedSpaces?.some((space) => space?.id === spaceId)} 118 + <Prose class=""> 119 + <RichTextEditor 120 + bind:htmlContent={input} 121 + onEnter={handleSubmit} 122 + class="max-h-[30dvh] overflow-y-auto" 123 + /> 124 + </Prose> 125 + {:else} 126 + <div class="flex items-center justify-center"> 127 + <Button class="my-2.5" onclick={clickJoinSpace}>Join Space to chat</Button> 128 + </div> 129 + {/if} 130 + </div>
+5
src/routes/test/+page.svelte
··· 1 + <script> 2 + import SpaceSelection from '$lib/SpaceSelection.svelte'; 3 + </script> 4 + 5 + <SpaceSelection />
static/favicon.png

This is a binary file and will not be displayed.

+18
svelte.config.js
··· 1 + import adapter from '@sveltejs/adapter-vercel'; 2 + import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; 3 + 4 + /** @type {import('@sveltejs/kit').Config} */ 5 + const config = { 6 + // Consult https://svelte.dev/docs/kit/integrations 7 + // for more information about preprocessors 8 + preprocess: vitePreprocess(), 9 + 10 + kit: { 11 + // adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list. 12 + // If your environment is not supported, or you settled on a specific environment, switch out the adapter. 13 + // See https://svelte.dev/docs/kit/adapters for more information about adapters. 14 + adapter: adapter() 15 + } 16 + }; 17 + 18 + export default config;
+19
tsconfig.json
··· 1 + { 2 + "extends": "./.svelte-kit/tsconfig.json", 3 + "compilerOptions": { 4 + "allowJs": true, 5 + "checkJs": true, 6 + "esModuleInterop": true, 7 + "forceConsistentCasingInFileNames": true, 8 + "resolveJsonModule": true, 9 + "skipLibCheck": true, 10 + "sourceMap": true, 11 + "strict": true, 12 + "moduleResolution": "bundler" 13 + } 14 + // Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias 15 + // except $lib which is handled by https://svelte.dev/docs/kit/configuration#files 16 + // 17 + // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes 18 + // from the referenced tsconfig.json - TypeScript does not merge them in 19 + }
+7
vite.config.ts
··· 1 + import tailwindcss from '@tailwindcss/vite'; 2 + import { sveltekit } from '@sveltejs/kit/vite'; 3 + import { defineConfig } from 'vite'; 4 + 5 + export default defineConfig({ 6 + plugins: [tailwindcss(), sveltekit()] 7 + });