[READ-ONLY] Mirror of https://github.com/probablykasper/ferrum. Music library app for Mac, Linux and Windows ferrum.kasper.space
electron linux macos music music-library music-player napi windows
0

Configure Feed

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

Add Kadium website

Kasper (Oct 7, 2024, 11:35 AM +0200) 06d88643 b4be1a23

+4706
+30
website/.eslintrc.cjs
··· 1 + module.exports = { 2 + root: true, 3 + extends: [ 4 + 'eslint:recommended', 5 + 'plugin:@typescript-eslint/recommended', 6 + 'plugin:svelte/recommended', 7 + 'prettier' 8 + ], 9 + parser: '@typescript-eslint/parser', 10 + plugins: ['@typescript-eslint'], 11 + parserOptions: { 12 + sourceType: 'module', 13 + ecmaVersion: 2020, 14 + extraFileExtensions: ['.svelte'] 15 + }, 16 + env: { 17 + browser: true, 18 + es2017: true, 19 + node: true 20 + }, 21 + overrides: [ 22 + { 23 + files: ['*.svelte'], 24 + parser: 'svelte-eslint-parser', 25 + parserOptions: { 26 + parser: '@typescript-eslint/parser' 27 + } 28 + } 29 + ] 30 + };
+5
website/.gitignore
··· 1 + .DS_Store 2 + node_modules 3 + /build 4 + /.svelte-kit 5 + /package
+3950
website/package-lock.json
··· 1 + { 2 + "name": "SKTest", 3 + "version": "0.0.1", 4 + "lockfileVersion": 3, 5 + "requires": true, 6 + "packages": { 7 + "": { 8 + "devDependencies": { 9 + "@octokit/plugin-rest-endpoint-methods": "^10.1.2", 10 + "@sveltejs/adapter-auto": "^2.0.0", 11 + "@sveltejs/kit": "^1.27.3", 12 + "@tailwindcss/forms": "^0.5.6", 13 + "@typescript-eslint/eslint-plugin": "^6.0.0", 14 + "@typescript-eslint/parser": "^6.0.0", 15 + "autoprefixer": "^10.4.16", 16 + "bowser": "^2.11.0", 17 + "eslint": "^8.28.0", 18 + "eslint-config-prettier": "^8.5.0", 19 + "eslint-plugin-svelte": "^2.30.0", 20 + "mdsvex": "^0.11.0", 21 + "prettier": "^3.0.3", 22 + "prettier-plugin-svelte": "^2.10.1", 23 + "svelte": "^4.0.5", 24 + "svelte-check": "^3.4.3", 25 + "tslib": "^2.4.1", 26 + "typescript": "^5.0.0", 27 + "vite": "^4.4.2" 28 + } 29 + }, 30 + "node_modules/@aashutoshrathi/word-wrap": { 31 + "version": "1.2.6", 32 + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", 33 + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", 34 + "dev": true, 35 + "engines": { 36 + "node": ">=0.10.0" 37 + } 38 + }, 39 + "node_modules/@alloc/quick-lru": { 40 + "version": "5.2.0", 41 + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", 42 + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", 43 + "dev": true, 44 + "peer": true, 45 + "engines": { 46 + "node": ">=10" 47 + }, 48 + "funding": { 49 + "url": "https://github.com/sponsors/sindresorhus" 50 + } 51 + }, 52 + "node_modules/@ampproject/remapping": { 53 + "version": "2.2.1", 54 + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", 55 + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", 56 + "dev": true, 57 + "dependencies": { 58 + "@jridgewell/gen-mapping": "^0.3.0", 59 + "@jridgewell/trace-mapping": "^0.3.9" 60 + }, 61 + "engines": { 62 + "node": ">=6.0.0" 63 + } 64 + }, 65 + "node_modules/@esbuild/android-arm": { 66 + "version": "0.18.20", 67 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", 68 + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", 69 + "cpu": [ 70 + "arm" 71 + ], 72 + "dev": true, 73 + "optional": true, 74 + "os": [ 75 + "android" 76 + ], 77 + "engines": { 78 + "node": ">=12" 79 + } 80 + }, 81 + "node_modules/@esbuild/android-arm64": { 82 + "version": "0.18.20", 83 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", 84 + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", 85 + "cpu": [ 86 + "arm64" 87 + ], 88 + "dev": true, 89 + "optional": true, 90 + "os": [ 91 + "android" 92 + ], 93 + "engines": { 94 + "node": ">=12" 95 + } 96 + }, 97 + "node_modules/@esbuild/android-x64": { 98 + "version": "0.18.20", 99 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", 100 + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", 101 + "cpu": [ 102 + "x64" 103 + ], 104 + "dev": true, 105 + "optional": true, 106 + "os": [ 107 + "android" 108 + ], 109 + "engines": { 110 + "node": ">=12" 111 + } 112 + }, 113 + "node_modules/@esbuild/darwin-arm64": { 114 + "version": "0.18.20", 115 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", 116 + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", 117 + "cpu": [ 118 + "arm64" 119 + ], 120 + "dev": true, 121 + "optional": true, 122 + "os": [ 123 + "darwin" 124 + ], 125 + "engines": { 126 + "node": ">=12" 127 + } 128 + }, 129 + "node_modules/@esbuild/darwin-x64": { 130 + "version": "0.18.20", 131 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", 132 + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", 133 + "cpu": [ 134 + "x64" 135 + ], 136 + "dev": true, 137 + "optional": true, 138 + "os": [ 139 + "darwin" 140 + ], 141 + "engines": { 142 + "node": ">=12" 143 + } 144 + }, 145 + "node_modules/@esbuild/freebsd-arm64": { 146 + "version": "0.18.20", 147 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", 148 + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", 149 + "cpu": [ 150 + "arm64" 151 + ], 152 + "dev": true, 153 + "optional": true, 154 + "os": [ 155 + "freebsd" 156 + ], 157 + "engines": { 158 + "node": ">=12" 159 + } 160 + }, 161 + "node_modules/@esbuild/freebsd-x64": { 162 + "version": "0.18.20", 163 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", 164 + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", 165 + "cpu": [ 166 + "x64" 167 + ], 168 + "dev": true, 169 + "optional": true, 170 + "os": [ 171 + "freebsd" 172 + ], 173 + "engines": { 174 + "node": ">=12" 175 + } 176 + }, 177 + "node_modules/@esbuild/linux-arm": { 178 + "version": "0.18.20", 179 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", 180 + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", 181 + "cpu": [ 182 + "arm" 183 + ], 184 + "dev": true, 185 + "optional": true, 186 + "os": [ 187 + "linux" 188 + ], 189 + "engines": { 190 + "node": ">=12" 191 + } 192 + }, 193 + "node_modules/@esbuild/linux-arm64": { 194 + "version": "0.18.20", 195 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", 196 + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", 197 + "cpu": [ 198 + "arm64" 199 + ], 200 + "dev": true, 201 + "optional": true, 202 + "os": [ 203 + "linux" 204 + ], 205 + "engines": { 206 + "node": ">=12" 207 + } 208 + }, 209 + "node_modules/@esbuild/linux-ia32": { 210 + "version": "0.18.20", 211 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", 212 + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", 213 + "cpu": [ 214 + "ia32" 215 + ], 216 + "dev": true, 217 + "optional": true, 218 + "os": [ 219 + "linux" 220 + ], 221 + "engines": { 222 + "node": ">=12" 223 + } 224 + }, 225 + "node_modules/@esbuild/linux-loong64": { 226 + "version": "0.18.20", 227 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", 228 + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", 229 + "cpu": [ 230 + "loong64" 231 + ], 232 + "dev": true, 233 + "optional": true, 234 + "os": [ 235 + "linux" 236 + ], 237 + "engines": { 238 + "node": ">=12" 239 + } 240 + }, 241 + "node_modules/@esbuild/linux-mips64el": { 242 + "version": "0.18.20", 243 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", 244 + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", 245 + "cpu": [ 246 + "mips64el" 247 + ], 248 + "dev": true, 249 + "optional": true, 250 + "os": [ 251 + "linux" 252 + ], 253 + "engines": { 254 + "node": ">=12" 255 + } 256 + }, 257 + "node_modules/@esbuild/linux-ppc64": { 258 + "version": "0.18.20", 259 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", 260 + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", 261 + "cpu": [ 262 + "ppc64" 263 + ], 264 + "dev": true, 265 + "optional": true, 266 + "os": [ 267 + "linux" 268 + ], 269 + "engines": { 270 + "node": ">=12" 271 + } 272 + }, 273 + "node_modules/@esbuild/linux-riscv64": { 274 + "version": "0.18.20", 275 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", 276 + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", 277 + "cpu": [ 278 + "riscv64" 279 + ], 280 + "dev": true, 281 + "optional": true, 282 + "os": [ 283 + "linux" 284 + ], 285 + "engines": { 286 + "node": ">=12" 287 + } 288 + }, 289 + "node_modules/@esbuild/linux-s390x": { 290 + "version": "0.18.20", 291 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", 292 + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", 293 + "cpu": [ 294 + "s390x" 295 + ], 296 + "dev": true, 297 + "optional": true, 298 + "os": [ 299 + "linux" 300 + ], 301 + "engines": { 302 + "node": ">=12" 303 + } 304 + }, 305 + "node_modules/@esbuild/linux-x64": { 306 + "version": "0.18.20", 307 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", 308 + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", 309 + "cpu": [ 310 + "x64" 311 + ], 312 + "dev": true, 313 + "optional": true, 314 + "os": [ 315 + "linux" 316 + ], 317 + "engines": { 318 + "node": ">=12" 319 + } 320 + }, 321 + "node_modules/@esbuild/netbsd-x64": { 322 + "version": "0.18.20", 323 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", 324 + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", 325 + "cpu": [ 326 + "x64" 327 + ], 328 + "dev": true, 329 + "optional": true, 330 + "os": [ 331 + "netbsd" 332 + ], 333 + "engines": { 334 + "node": ">=12" 335 + } 336 + }, 337 + "node_modules/@esbuild/openbsd-x64": { 338 + "version": "0.18.20", 339 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", 340 + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", 341 + "cpu": [ 342 + "x64" 343 + ], 344 + "dev": true, 345 + "optional": true, 346 + "os": [ 347 + "openbsd" 348 + ], 349 + "engines": { 350 + "node": ">=12" 351 + } 352 + }, 353 + "node_modules/@esbuild/sunos-x64": { 354 + "version": "0.18.20", 355 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", 356 + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", 357 + "cpu": [ 358 + "x64" 359 + ], 360 + "dev": true, 361 + "optional": true, 362 + "os": [ 363 + "sunos" 364 + ], 365 + "engines": { 366 + "node": ">=12" 367 + } 368 + }, 369 + "node_modules/@esbuild/win32-arm64": { 370 + "version": "0.18.20", 371 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", 372 + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", 373 + "cpu": [ 374 + "arm64" 375 + ], 376 + "dev": true, 377 + "optional": true, 378 + "os": [ 379 + "win32" 380 + ], 381 + "engines": { 382 + "node": ">=12" 383 + } 384 + }, 385 + "node_modules/@esbuild/win32-ia32": { 386 + "version": "0.18.20", 387 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", 388 + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", 389 + "cpu": [ 390 + "ia32" 391 + ], 392 + "dev": true, 393 + "optional": true, 394 + "os": [ 395 + "win32" 396 + ], 397 + "engines": { 398 + "node": ">=12" 399 + } 400 + }, 401 + "node_modules/@esbuild/win32-x64": { 402 + "version": "0.18.20", 403 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", 404 + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", 405 + "cpu": [ 406 + "x64" 407 + ], 408 + "dev": true, 409 + "optional": true, 410 + "os": [ 411 + "win32" 412 + ], 413 + "engines": { 414 + "node": ">=12" 415 + } 416 + }, 417 + "node_modules/@eslint-community/eslint-utils": { 418 + "version": "4.4.0", 419 + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", 420 + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", 421 + "dev": true, 422 + "dependencies": { 423 + "eslint-visitor-keys": "^3.3.0" 424 + }, 425 + "engines": { 426 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 427 + }, 428 + "peerDependencies": { 429 + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" 430 + } 431 + }, 432 + "node_modules/@eslint-community/regexpp": { 433 + "version": "4.10.0", 434 + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", 435 + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", 436 + "dev": true, 437 + "engines": { 438 + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" 439 + } 440 + }, 441 + "node_modules/@eslint/eslintrc": { 442 + "version": "2.1.3", 443 + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", 444 + "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", 445 + "dev": true, 446 + "dependencies": { 447 + "ajv": "^6.12.4", 448 + "debug": "^4.3.2", 449 + "espree": "^9.6.0", 450 + "globals": "^13.19.0", 451 + "ignore": "^5.2.0", 452 + "import-fresh": "^3.2.1", 453 + "js-yaml": "^4.1.0", 454 + "minimatch": "^3.1.2", 455 + "strip-json-comments": "^3.1.1" 456 + }, 457 + "engines": { 458 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 459 + }, 460 + "funding": { 461 + "url": "https://opencollective.com/eslint" 462 + } 463 + }, 464 + "node_modules/@eslint/js": { 465 + "version": "8.53.0", 466 + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.53.0.tgz", 467 + "integrity": "sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==", 468 + "dev": true, 469 + "engines": { 470 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 471 + } 472 + }, 473 + "node_modules/@fastify/busboy": { 474 + "version": "2.0.0", 475 + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.0.0.tgz", 476 + "integrity": "sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ==", 477 + "dev": true, 478 + "engines": { 479 + "node": ">=14" 480 + } 481 + }, 482 + "node_modules/@humanwhocodes/config-array": { 483 + "version": "0.11.13", 484 + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", 485 + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", 486 + "dev": true, 487 + "dependencies": { 488 + "@humanwhocodes/object-schema": "^2.0.1", 489 + "debug": "^4.1.1", 490 + "minimatch": "^3.0.5" 491 + }, 492 + "engines": { 493 + "node": ">=10.10.0" 494 + } 495 + }, 496 + "node_modules/@humanwhocodes/module-importer": { 497 + "version": "1.0.1", 498 + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", 499 + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", 500 + "dev": true, 501 + "engines": { 502 + "node": ">=12.22" 503 + }, 504 + "funding": { 505 + "type": "github", 506 + "url": "https://github.com/sponsors/nzakas" 507 + } 508 + }, 509 + "node_modules/@humanwhocodes/object-schema": { 510 + "version": "2.0.1", 511 + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", 512 + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", 513 + "dev": true 514 + }, 515 + "node_modules/@jridgewell/gen-mapping": { 516 + "version": "0.3.3", 517 + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", 518 + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", 519 + "dev": true, 520 + "dependencies": { 521 + "@jridgewell/set-array": "^1.0.1", 522 + "@jridgewell/sourcemap-codec": "^1.4.10", 523 + "@jridgewell/trace-mapping": "^0.3.9" 524 + }, 525 + "engines": { 526 + "node": ">=6.0.0" 527 + } 528 + }, 529 + "node_modules/@jridgewell/resolve-uri": { 530 + "version": "3.1.1", 531 + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", 532 + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", 533 + "dev": true, 534 + "engines": { 535 + "node": ">=6.0.0" 536 + } 537 + }, 538 + "node_modules/@jridgewell/set-array": { 539 + "version": "1.1.2", 540 + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", 541 + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", 542 + "dev": true, 543 + "engines": { 544 + "node": ">=6.0.0" 545 + } 546 + }, 547 + "node_modules/@jridgewell/sourcemap-codec": { 548 + "version": "1.4.15", 549 + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 550 + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", 551 + "dev": true 552 + }, 553 + "node_modules/@jridgewell/trace-mapping": { 554 + "version": "0.3.20", 555 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", 556 + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", 557 + "dev": true, 558 + "dependencies": { 559 + "@jridgewell/resolve-uri": "^3.1.0", 560 + "@jridgewell/sourcemap-codec": "^1.4.14" 561 + } 562 + }, 563 + "node_modules/@nodelib/fs.scandir": { 564 + "version": "2.1.5", 565 + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 566 + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 567 + "dev": true, 568 + "dependencies": { 569 + "@nodelib/fs.stat": "2.0.5", 570 + "run-parallel": "^1.1.9" 571 + }, 572 + "engines": { 573 + "node": ">= 8" 574 + } 575 + }, 576 + "node_modules/@nodelib/fs.stat": { 577 + "version": "2.0.5", 578 + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 579 + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 580 + "dev": true, 581 + "engines": { 582 + "node": ">= 8" 583 + } 584 + }, 585 + "node_modules/@nodelib/fs.walk": { 586 + "version": "1.2.8", 587 + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 588 + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 589 + "dev": true, 590 + "dependencies": { 591 + "@nodelib/fs.scandir": "2.1.5", 592 + "fastq": "^1.6.0" 593 + }, 594 + "engines": { 595 + "node": ">= 8" 596 + } 597 + }, 598 + "node_modules/@octokit/auth-token": { 599 + "version": "4.0.0", 600 + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", 601 + "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", 602 + "dev": true, 603 + "peer": true, 604 + "engines": { 605 + "node": ">= 18" 606 + } 607 + }, 608 + "node_modules/@octokit/core": { 609 + "version": "5.0.1", 610 + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.0.1.tgz", 611 + "integrity": "sha512-lyeeeZyESFo+ffI801SaBKmCfsvarO+dgV8/0gD8u1d87clbEdWsP5yC+dSj3zLhb2eIf5SJrn6vDz9AheETHw==", 612 + "dev": true, 613 + "peer": true, 614 + "dependencies": { 615 + "@octokit/auth-token": "^4.0.0", 616 + "@octokit/graphql": "^7.0.0", 617 + "@octokit/request": "^8.0.2", 618 + "@octokit/request-error": "^5.0.0", 619 + "@octokit/types": "^12.0.0", 620 + "before-after-hook": "^2.2.0", 621 + "universal-user-agent": "^6.0.0" 622 + }, 623 + "engines": { 624 + "node": ">= 18" 625 + } 626 + }, 627 + "node_modules/@octokit/endpoint": { 628 + "version": "9.0.2", 629 + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.2.tgz", 630 + "integrity": "sha512-qhKW8YLIi+Kmc92FQUFGr++DYtkx/1fBv+Thua6baqnjnOsgBYJDCvWZR1YcINuHGOEQt416WOfE+A/oG60NBQ==", 631 + "dev": true, 632 + "peer": true, 633 + "dependencies": { 634 + "@octokit/types": "^12.0.0", 635 + "is-plain-object": "^5.0.0", 636 + "universal-user-agent": "^6.0.0" 637 + }, 638 + "engines": { 639 + "node": ">= 18" 640 + } 641 + }, 642 + "node_modules/@octokit/graphql": { 643 + "version": "7.0.2", 644 + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.0.2.tgz", 645 + "integrity": "sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==", 646 + "dev": true, 647 + "peer": true, 648 + "dependencies": { 649 + "@octokit/request": "^8.0.1", 650 + "@octokit/types": "^12.0.0", 651 + "universal-user-agent": "^6.0.0" 652 + }, 653 + "engines": { 654 + "node": ">= 18" 655 + } 656 + }, 657 + "node_modules/@octokit/openapi-types": { 658 + "version": "19.0.2", 659 + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-19.0.2.tgz", 660 + "integrity": "sha512-8li32fUDUeml/ACRp/njCWTsk5t17cfTM1jp9n08pBrqs5cDFJubtjsSnuz56r5Tad6jdEPJld7LxNp9dNcyjQ==", 661 + "dev": true 662 + }, 663 + "node_modules/@octokit/plugin-rest-endpoint-methods": { 664 + "version": "10.1.2", 665 + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.1.2.tgz", 666 + "integrity": "sha512-JztgZ82CY4JNlPTuF0jh4iWuuGpEi5czFCoXyAbMg4F2XyFBbG5DWAKfa3odRvdZww6Df1tQgBKnqpd9X0WF9g==", 667 + "dev": true, 668 + "dependencies": { 669 + "@octokit/types": "^12.1.1" 670 + }, 671 + "engines": { 672 + "node": ">= 18" 673 + }, 674 + "peerDependencies": { 675 + "@octokit/core": ">=5" 676 + } 677 + }, 678 + "node_modules/@octokit/request": { 679 + "version": "8.1.4", 680 + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.1.4.tgz", 681 + "integrity": "sha512-M0aaFfpGPEKrg7XoA/gwgRvc9MSXHRO2Ioki1qrPDbl1e9YhjIwVoHE7HIKmv/m3idzldj//xBujcFNqGX6ENA==", 682 + "dev": true, 683 + "peer": true, 684 + "dependencies": { 685 + "@octokit/endpoint": "^9.0.0", 686 + "@octokit/request-error": "^5.0.0", 687 + "@octokit/types": "^12.0.0", 688 + "is-plain-object": "^5.0.0", 689 + "universal-user-agent": "^6.0.0" 690 + }, 691 + "engines": { 692 + "node": ">= 18" 693 + } 694 + }, 695 + "node_modules/@octokit/request-error": { 696 + "version": "5.0.1", 697 + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.0.1.tgz", 698 + "integrity": "sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==", 699 + "dev": true, 700 + "peer": true, 701 + "dependencies": { 702 + "@octokit/types": "^12.0.0", 703 + "deprecation": "^2.0.0", 704 + "once": "^1.4.0" 705 + }, 706 + "engines": { 707 + "node": ">= 18" 708 + } 709 + }, 710 + "node_modules/@octokit/types": { 711 + "version": "12.1.1", 712 + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.1.1.tgz", 713 + "integrity": "sha512-qnJTldJ1NyGT5MTsCg/Zi+y2IFHZ1Jo5+njNCjJ9FcainV7LjuHgmB697kA0g4MjZeDAJsM3B45iqCVsCLVFZg==", 714 + "dev": true, 715 + "dependencies": { 716 + "@octokit/openapi-types": "^19.0.2" 717 + } 718 + }, 719 + "node_modules/@polka/url": { 720 + "version": "1.0.0-next.23", 721 + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.23.tgz", 722 + "integrity": "sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==", 723 + "dev": true 724 + }, 725 + "node_modules/@sveltejs/adapter-auto": { 726 + "version": "2.1.1", 727 + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-2.1.1.tgz", 728 + "integrity": "sha512-nzi6x/7/3Axh5VKQ8Eed3pYxastxoa06Y/bFhWb7h3Nu+nGRVxKAy3+hBJgmPCwWScy8n0TsstZjSVKfyrIHkg==", 729 + "dev": true, 730 + "dependencies": { 731 + "import-meta-resolve": "^4.0.0" 732 + }, 733 + "peerDependencies": { 734 + "@sveltejs/kit": "^1.0.0" 735 + } 736 + }, 737 + "node_modules/@sveltejs/kit": { 738 + "version": "1.27.3", 739 + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.27.3.tgz", 740 + "integrity": "sha512-pd7qwX6ww5noA0/FLk45B0aKUeOXWR+pfZsGTrv3dRmj3lTmnki9UTmTdWzHJGrje+BBkGUZHfgGrsSOQQBQpQ==", 741 + "dev": true, 742 + "hasInstallScript": true, 743 + "dependencies": { 744 + "@sveltejs/vite-plugin-svelte": "^2.4.1", 745 + "@types/cookie": "^0.5.1", 746 + "cookie": "^0.5.0", 747 + "devalue": "^4.3.1", 748 + "esm-env": "^1.0.0", 749 + "kleur": "^4.1.5", 750 + "magic-string": "^0.30.0", 751 + "mrmime": "^1.0.1", 752 + "sade": "^1.8.1", 753 + "set-cookie-parser": "^2.6.0", 754 + "sirv": "^2.0.2", 755 + "tiny-glob": "^0.2.9", 756 + "undici": "~5.26.2" 757 + }, 758 + "bin": { 759 + "svelte-kit": "svelte-kit.js" 760 + }, 761 + "engines": { 762 + "node": "^16.14 || >=18" 763 + }, 764 + "peerDependencies": { 765 + "svelte": "^3.54.0 || ^4.0.0-next.0", 766 + "vite": "^4.0.0" 767 + } 768 + }, 769 + "node_modules/@sveltejs/vite-plugin-svelte": { 770 + "version": "2.4.6", 771 + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-2.4.6.tgz", 772 + "integrity": "sha512-zO79p0+DZnXPnF0ltIigWDx/ux7Ni+HRaFOw720Qeivc1azFUrJxTl0OryXVibYNx1hCboGia1NRV3x8RNv4cA==", 773 + "dev": true, 774 + "dependencies": { 775 + "@sveltejs/vite-plugin-svelte-inspector": "^1.0.4", 776 + "debug": "^4.3.4", 777 + "deepmerge": "^4.3.1", 778 + "kleur": "^4.1.5", 779 + "magic-string": "^0.30.3", 780 + "svelte-hmr": "^0.15.3", 781 + "vitefu": "^0.2.4" 782 + }, 783 + "engines": { 784 + "node": "^14.18.0 || >= 16" 785 + }, 786 + "peerDependencies": { 787 + "svelte": "^3.54.0 || ^4.0.0", 788 + "vite": "^4.0.0" 789 + } 790 + }, 791 + "node_modules/@sveltejs/vite-plugin-svelte-inspector": { 792 + "version": "1.0.4", 793 + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-1.0.4.tgz", 794 + "integrity": "sha512-zjiuZ3yydBtwpF3bj0kQNV0YXe+iKE545QGZVTaylW3eAzFr+pJ/cwK8lZEaRp4JtaJXhD5DyWAV4AxLh6DgaQ==", 795 + "dev": true, 796 + "dependencies": { 797 + "debug": "^4.3.4" 798 + }, 799 + "engines": { 800 + "node": "^14.18.0 || >= 16" 801 + }, 802 + "peerDependencies": { 803 + "@sveltejs/vite-plugin-svelte": "^2.2.0", 804 + "svelte": "^3.54.0 || ^4.0.0", 805 + "vite": "^4.0.0" 806 + } 807 + }, 808 + "node_modules/@tailwindcss/forms": { 809 + "version": "0.5.6", 810 + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.6.tgz", 811 + "integrity": "sha512-Fw+2BJ0tmAwK/w01tEFL5TiaJBX1NLT1/YbWgvm7ws3Qcn11kiXxzNTEQDMs5V3mQemhB56l3u0i9dwdzSQldA==", 812 + "dev": true, 813 + "dependencies": { 814 + "mini-svg-data-uri": "^1.2.3" 815 + }, 816 + "peerDependencies": { 817 + "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1" 818 + } 819 + }, 820 + "node_modules/@types/cookie": { 821 + "version": "0.5.3", 822 + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.5.3.tgz", 823 + "integrity": "sha512-SLg07AS9z1Ab2LU+QxzU8RCmzsja80ywjf/t5oqw+4NSH20gIGlhLOrBDm1L3PBWzPa4+wkgFQVZAjE6Ioj2ug==", 824 + "dev": true 825 + }, 826 + "node_modules/@types/estree": { 827 + "version": "1.0.4", 828 + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.4.tgz", 829 + "integrity": "sha512-2JwWnHK9H+wUZNorf2Zr6ves96WHoWDJIftkcxPKsS7Djta6Zu519LarhRNljPXkpsZR2ZMwNCPeW7omW07BJw==", 830 + "dev": true 831 + }, 832 + "node_modules/@types/json-schema": { 833 + "version": "7.0.14", 834 + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", 835 + "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==", 836 + "dev": true 837 + }, 838 + "node_modules/@types/pug": { 839 + "version": "2.0.8", 840 + "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.8.tgz", 841 + "integrity": "sha512-QzhsZ1dMGyJbn/D9V80zp4GIA4J4rfAjCCxc3MP+new0E8dyVdSkR735Lx+n3LIaHNFcjHL5+TbziccuT+fdoQ==", 842 + "dev": true 843 + }, 844 + "node_modules/@types/semver": { 845 + "version": "7.5.4", 846 + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz", 847 + "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==", 848 + "dev": true 849 + }, 850 + "node_modules/@types/unist": { 851 + "version": "2.0.9", 852 + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.9.tgz", 853 + "integrity": "sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==", 854 + "dev": true 855 + }, 856 + "node_modules/@typescript-eslint/eslint-plugin": { 857 + "version": "6.9.1", 858 + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.9.1.tgz", 859 + "integrity": "sha512-w0tiiRc9I4S5XSXXrMHOWgHgxbrBn1Ro+PmiYhSg2ZVdxrAJtQgzU5o2m1BfP6UOn7Vxcc6152vFjQfmZR4xEg==", 860 + "dev": true, 861 + "dependencies": { 862 + "@eslint-community/regexpp": "^4.5.1", 863 + "@typescript-eslint/scope-manager": "6.9.1", 864 + "@typescript-eslint/type-utils": "6.9.1", 865 + "@typescript-eslint/utils": "6.9.1", 866 + "@typescript-eslint/visitor-keys": "6.9.1", 867 + "debug": "^4.3.4", 868 + "graphemer": "^1.4.0", 869 + "ignore": "^5.2.4", 870 + "natural-compare": "^1.4.0", 871 + "semver": "^7.5.4", 872 + "ts-api-utils": "^1.0.1" 873 + }, 874 + "engines": { 875 + "node": "^16.0.0 || >=18.0.0" 876 + }, 877 + "funding": { 878 + "type": "opencollective", 879 + "url": "https://opencollective.com/typescript-eslint" 880 + }, 881 + "peerDependencies": { 882 + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", 883 + "eslint": "^7.0.0 || ^8.0.0" 884 + }, 885 + "peerDependenciesMeta": { 886 + "typescript": { 887 + "optional": true 888 + } 889 + } 890 + }, 891 + "node_modules/@typescript-eslint/parser": { 892 + "version": "6.9.1", 893 + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.9.1.tgz", 894 + "integrity": "sha512-C7AK2wn43GSaCUZ9do6Ksgi2g3mwFkMO3Cis96kzmgudoVaKyt62yNzJOktP0HDLb/iO2O0n2lBOzJgr6Q/cyg==", 895 + "dev": true, 896 + "dependencies": { 897 + "@typescript-eslint/scope-manager": "6.9.1", 898 + "@typescript-eslint/types": "6.9.1", 899 + "@typescript-eslint/typescript-estree": "6.9.1", 900 + "@typescript-eslint/visitor-keys": "6.9.1", 901 + "debug": "^4.3.4" 902 + }, 903 + "engines": { 904 + "node": "^16.0.0 || >=18.0.0" 905 + }, 906 + "funding": { 907 + "type": "opencollective", 908 + "url": "https://opencollective.com/typescript-eslint" 909 + }, 910 + "peerDependencies": { 911 + "eslint": "^7.0.0 || ^8.0.0" 912 + }, 913 + "peerDependenciesMeta": { 914 + "typescript": { 915 + "optional": true 916 + } 917 + } 918 + }, 919 + "node_modules/@typescript-eslint/scope-manager": { 920 + "version": "6.9.1", 921 + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.9.1.tgz", 922 + "integrity": "sha512-38IxvKB6NAne3g/+MyXMs2Cda/Sz+CEpmm+KLGEM8hx/CvnSRuw51i8ukfwB/B/sESdeTGet1NH1Wj7I0YXswg==", 923 + "dev": true, 924 + "dependencies": { 925 + "@typescript-eslint/types": "6.9.1", 926 + "@typescript-eslint/visitor-keys": "6.9.1" 927 + }, 928 + "engines": { 929 + "node": "^16.0.0 || >=18.0.0" 930 + }, 931 + "funding": { 932 + "type": "opencollective", 933 + "url": "https://opencollective.com/typescript-eslint" 934 + } 935 + }, 936 + "node_modules/@typescript-eslint/type-utils": { 937 + "version": "6.9.1", 938 + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.9.1.tgz", 939 + "integrity": "sha512-eh2oHaUKCK58qIeYp19F5V5TbpM52680sB4zNSz29VBQPTWIlE/hCj5P5B1AChxECe/fmZlspAWFuRniep1Skg==", 940 + "dev": true, 941 + "dependencies": { 942 + "@typescript-eslint/typescript-estree": "6.9.1", 943 + "@typescript-eslint/utils": "6.9.1", 944 + "debug": "^4.3.4", 945 + "ts-api-utils": "^1.0.1" 946 + }, 947 + "engines": { 948 + "node": "^16.0.0 || >=18.0.0" 949 + }, 950 + "funding": { 951 + "type": "opencollective", 952 + "url": "https://opencollective.com/typescript-eslint" 953 + }, 954 + "peerDependencies": { 955 + "eslint": "^7.0.0 || ^8.0.0" 956 + }, 957 + "peerDependenciesMeta": { 958 + "typescript": { 959 + "optional": true 960 + } 961 + } 962 + }, 963 + "node_modules/@typescript-eslint/types": { 964 + "version": "6.9.1", 965 + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.9.1.tgz", 966 + "integrity": "sha512-BUGslGOb14zUHOUmDB2FfT6SI1CcZEJYfF3qFwBeUrU6srJfzANonwRYHDpLBuzbq3HaoF2XL2hcr01c8f8OaQ==", 967 + "dev": true, 968 + "engines": { 969 + "node": "^16.0.0 || >=18.0.0" 970 + }, 971 + "funding": { 972 + "type": "opencollective", 973 + "url": "https://opencollective.com/typescript-eslint" 974 + } 975 + }, 976 + "node_modules/@typescript-eslint/typescript-estree": { 977 + "version": "6.9.1", 978 + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.9.1.tgz", 979 + "integrity": "sha512-U+mUylTHfcqeO7mLWVQ5W/tMLXqVpRv61wm9ZtfE5egz7gtnmqVIw9ryh0mgIlkKk9rZLY3UHygsBSdB9/ftyw==", 980 + "dev": true, 981 + "dependencies": { 982 + "@typescript-eslint/types": "6.9.1", 983 + "@typescript-eslint/visitor-keys": "6.9.1", 984 + "debug": "^4.3.4", 985 + "globby": "^11.1.0", 986 + "is-glob": "^4.0.3", 987 + "semver": "^7.5.4", 988 + "ts-api-utils": "^1.0.1" 989 + }, 990 + "engines": { 991 + "node": "^16.0.0 || >=18.0.0" 992 + }, 993 + "funding": { 994 + "type": "opencollective", 995 + "url": "https://opencollective.com/typescript-eslint" 996 + }, 997 + "peerDependenciesMeta": { 998 + "typescript": { 999 + "optional": true 1000 + } 1001 + } 1002 + }, 1003 + "node_modules/@typescript-eslint/utils": { 1004 + "version": "6.9.1", 1005 + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.9.1.tgz", 1006 + "integrity": "sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA==", 1007 + "dev": true, 1008 + "dependencies": { 1009 + "@eslint-community/eslint-utils": "^4.4.0", 1010 + "@types/json-schema": "^7.0.12", 1011 + "@types/semver": "^7.5.0", 1012 + "@typescript-eslint/scope-manager": "6.9.1", 1013 + "@typescript-eslint/types": "6.9.1", 1014 + "@typescript-eslint/typescript-estree": "6.9.1", 1015 + "semver": "^7.5.4" 1016 + }, 1017 + "engines": { 1018 + "node": "^16.0.0 || >=18.0.0" 1019 + }, 1020 + "funding": { 1021 + "type": "opencollective", 1022 + "url": "https://opencollective.com/typescript-eslint" 1023 + }, 1024 + "peerDependencies": { 1025 + "eslint": "^7.0.0 || ^8.0.0" 1026 + } 1027 + }, 1028 + "node_modules/@typescript-eslint/visitor-keys": { 1029 + "version": "6.9.1", 1030 + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.9.1.tgz", 1031 + "integrity": "sha512-MUaPUe/QRLEffARsmNfmpghuQkW436DvESW+h+M52w0coICHRfD6Np9/K6PdACwnrq1HmuLl+cSPZaJmeVPkSw==", 1032 + "dev": true, 1033 + "dependencies": { 1034 + "@typescript-eslint/types": "6.9.1", 1035 + "eslint-visitor-keys": "^3.4.1" 1036 + }, 1037 + "engines": { 1038 + "node": "^16.0.0 || >=18.0.0" 1039 + }, 1040 + "funding": { 1041 + "type": "opencollective", 1042 + "url": "https://opencollective.com/typescript-eslint" 1043 + } 1044 + }, 1045 + "node_modules/@ungap/structured-clone": { 1046 + "version": "1.2.0", 1047 + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", 1048 + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", 1049 + "dev": true 1050 + }, 1051 + "node_modules/acorn": { 1052 + "version": "8.11.2", 1053 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", 1054 + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", 1055 + "dev": true, 1056 + "bin": { 1057 + "acorn": "bin/acorn" 1058 + }, 1059 + "engines": { 1060 + "node": ">=0.4.0" 1061 + } 1062 + }, 1063 + "node_modules/acorn-jsx": { 1064 + "version": "5.3.2", 1065 + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 1066 + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 1067 + "dev": true, 1068 + "peerDependencies": { 1069 + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" 1070 + } 1071 + }, 1072 + "node_modules/ajv": { 1073 + "version": "6.12.6", 1074 + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 1075 + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 1076 + "dev": true, 1077 + "dependencies": { 1078 + "fast-deep-equal": "^3.1.1", 1079 + "fast-json-stable-stringify": "^2.0.0", 1080 + "json-schema-traverse": "^0.4.1", 1081 + "uri-js": "^4.2.2" 1082 + }, 1083 + "funding": { 1084 + "type": "github", 1085 + "url": "https://github.com/sponsors/epoberezkin" 1086 + } 1087 + }, 1088 + "node_modules/ansi-regex": { 1089 + "version": "5.0.1", 1090 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 1091 + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 1092 + "dev": true, 1093 + "engines": { 1094 + "node": ">=8" 1095 + } 1096 + }, 1097 + "node_modules/ansi-styles": { 1098 + "version": "4.3.0", 1099 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 1100 + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 1101 + "dev": true, 1102 + "dependencies": { 1103 + "color-convert": "^2.0.1" 1104 + }, 1105 + "engines": { 1106 + "node": ">=8" 1107 + }, 1108 + "funding": { 1109 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 1110 + } 1111 + }, 1112 + "node_modules/any-promise": { 1113 + "version": "1.3.0", 1114 + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 1115 + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", 1116 + "dev": true, 1117 + "peer": true 1118 + }, 1119 + "node_modules/anymatch": { 1120 + "version": "3.1.3", 1121 + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 1122 + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 1123 + "dev": true, 1124 + "dependencies": { 1125 + "normalize-path": "^3.0.0", 1126 + "picomatch": "^2.0.4" 1127 + }, 1128 + "engines": { 1129 + "node": ">= 8" 1130 + } 1131 + }, 1132 + "node_modules/arg": { 1133 + "version": "5.0.2", 1134 + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", 1135 + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", 1136 + "dev": true, 1137 + "peer": true 1138 + }, 1139 + "node_modules/argparse": { 1140 + "version": "2.0.1", 1141 + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 1142 + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 1143 + "dev": true 1144 + }, 1145 + "node_modules/aria-query": { 1146 + "version": "5.3.0", 1147 + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", 1148 + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", 1149 + "dev": true, 1150 + "dependencies": { 1151 + "dequal": "^2.0.3" 1152 + } 1153 + }, 1154 + "node_modules/array-union": { 1155 + "version": "2.1.0", 1156 + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", 1157 + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", 1158 + "dev": true, 1159 + "engines": { 1160 + "node": ">=8" 1161 + } 1162 + }, 1163 + "node_modules/autoprefixer": { 1164 + "version": "10.4.16", 1165 + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", 1166 + "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", 1167 + "dev": true, 1168 + "funding": [ 1169 + { 1170 + "type": "opencollective", 1171 + "url": "https://opencollective.com/postcss/" 1172 + }, 1173 + { 1174 + "type": "tidelift", 1175 + "url": "https://tidelift.com/funding/github/npm/autoprefixer" 1176 + }, 1177 + { 1178 + "type": "github", 1179 + "url": "https://github.com/sponsors/ai" 1180 + } 1181 + ], 1182 + "dependencies": { 1183 + "browserslist": "^4.21.10", 1184 + "caniuse-lite": "^1.0.30001538", 1185 + "fraction.js": "^4.3.6", 1186 + "normalize-range": "^0.1.2", 1187 + "picocolors": "^1.0.0", 1188 + "postcss-value-parser": "^4.2.0" 1189 + }, 1190 + "bin": { 1191 + "autoprefixer": "bin/autoprefixer" 1192 + }, 1193 + "engines": { 1194 + "node": "^10 || ^12 || >=14" 1195 + }, 1196 + "peerDependencies": { 1197 + "postcss": "^8.1.0" 1198 + } 1199 + }, 1200 + "node_modules/axobject-query": { 1201 + "version": "3.2.1", 1202 + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", 1203 + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", 1204 + "dev": true, 1205 + "dependencies": { 1206 + "dequal": "^2.0.3" 1207 + } 1208 + }, 1209 + "node_modules/balanced-match": { 1210 + "version": "1.0.2", 1211 + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1212 + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 1213 + "dev": true 1214 + }, 1215 + "node_modules/before-after-hook": { 1216 + "version": "2.2.3", 1217 + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", 1218 + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", 1219 + "dev": true, 1220 + "peer": true 1221 + }, 1222 + "node_modules/binary-extensions": { 1223 + "version": "2.2.0", 1224 + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 1225 + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 1226 + "dev": true, 1227 + "engines": { 1228 + "node": ">=8" 1229 + } 1230 + }, 1231 + "node_modules/bowser": { 1232 + "version": "2.11.0", 1233 + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", 1234 + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==", 1235 + "dev": true 1236 + }, 1237 + "node_modules/brace-expansion": { 1238 + "version": "1.1.11", 1239 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1240 + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1241 + "dev": true, 1242 + "dependencies": { 1243 + "balanced-match": "^1.0.0", 1244 + "concat-map": "0.0.1" 1245 + } 1246 + }, 1247 + "node_modules/braces": { 1248 + "version": "3.0.2", 1249 + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 1250 + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 1251 + "dev": true, 1252 + "dependencies": { 1253 + "fill-range": "^7.0.1" 1254 + }, 1255 + "engines": { 1256 + "node": ">=8" 1257 + } 1258 + }, 1259 + "node_modules/browserslist": { 1260 + "version": "4.22.1", 1261 + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", 1262 + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", 1263 + "dev": true, 1264 + "funding": [ 1265 + { 1266 + "type": "opencollective", 1267 + "url": "https://opencollective.com/browserslist" 1268 + }, 1269 + { 1270 + "type": "tidelift", 1271 + "url": "https://tidelift.com/funding/github/npm/browserslist" 1272 + }, 1273 + { 1274 + "type": "github", 1275 + "url": "https://github.com/sponsors/ai" 1276 + } 1277 + ], 1278 + "dependencies": { 1279 + "caniuse-lite": "^1.0.30001541", 1280 + "electron-to-chromium": "^1.4.535", 1281 + "node-releases": "^2.0.13", 1282 + "update-browserslist-db": "^1.0.13" 1283 + }, 1284 + "bin": { 1285 + "browserslist": "cli.js" 1286 + }, 1287 + "engines": { 1288 + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 1289 + } 1290 + }, 1291 + "node_modules/buffer-crc32": { 1292 + "version": "0.2.13", 1293 + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", 1294 + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", 1295 + "dev": true, 1296 + "engines": { 1297 + "node": "*" 1298 + } 1299 + }, 1300 + "node_modules/callsites": { 1301 + "version": "3.1.0", 1302 + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 1303 + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 1304 + "dev": true, 1305 + "engines": { 1306 + "node": ">=6" 1307 + } 1308 + }, 1309 + "node_modules/camelcase-css": { 1310 + "version": "2.0.1", 1311 + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 1312 + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", 1313 + "dev": true, 1314 + "peer": true, 1315 + "engines": { 1316 + "node": ">= 6" 1317 + } 1318 + }, 1319 + "node_modules/caniuse-lite": { 1320 + "version": "1.0.30001561", 1321 + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001561.tgz", 1322 + "integrity": "sha512-NTt0DNoKe958Q0BE0j0c1V9jbUzhBxHIEJy7asmGrpE0yG63KTV7PLHPnK2E1O9RsQrQ081I3NLuXGS6zht3cw==", 1323 + "dev": true, 1324 + "funding": [ 1325 + { 1326 + "type": "opencollective", 1327 + "url": "https://opencollective.com/browserslist" 1328 + }, 1329 + { 1330 + "type": "tidelift", 1331 + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 1332 + }, 1333 + { 1334 + "type": "github", 1335 + "url": "https://github.com/sponsors/ai" 1336 + } 1337 + ] 1338 + }, 1339 + "node_modules/chalk": { 1340 + "version": "4.1.2", 1341 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 1342 + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 1343 + "dev": true, 1344 + "dependencies": { 1345 + "ansi-styles": "^4.1.0", 1346 + "supports-color": "^7.1.0" 1347 + }, 1348 + "engines": { 1349 + "node": ">=10" 1350 + }, 1351 + "funding": { 1352 + "url": "https://github.com/chalk/chalk?sponsor=1" 1353 + } 1354 + }, 1355 + "node_modules/chokidar": { 1356 + "version": "3.5.3", 1357 + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 1358 + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 1359 + "dev": true, 1360 + "funding": [ 1361 + { 1362 + "type": "individual", 1363 + "url": "https://paulmillr.com/funding/" 1364 + } 1365 + ], 1366 + "dependencies": { 1367 + "anymatch": "~3.1.2", 1368 + "braces": "~3.0.2", 1369 + "glob-parent": "~5.1.2", 1370 + "is-binary-path": "~2.1.0", 1371 + "is-glob": "~4.0.1", 1372 + "normalize-path": "~3.0.0", 1373 + "readdirp": "~3.6.0" 1374 + }, 1375 + "engines": { 1376 + "node": ">= 8.10.0" 1377 + }, 1378 + "optionalDependencies": { 1379 + "fsevents": "~2.3.2" 1380 + } 1381 + }, 1382 + "node_modules/chokidar/node_modules/glob-parent": { 1383 + "version": "5.1.2", 1384 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1385 + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1386 + "dev": true, 1387 + "dependencies": { 1388 + "is-glob": "^4.0.1" 1389 + }, 1390 + "engines": { 1391 + "node": ">= 6" 1392 + } 1393 + }, 1394 + "node_modules/code-red": { 1395 + "version": "1.0.4", 1396 + "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz", 1397 + "integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==", 1398 + "dev": true, 1399 + "dependencies": { 1400 + "@jridgewell/sourcemap-codec": "^1.4.15", 1401 + "@types/estree": "^1.0.1", 1402 + "acorn": "^8.10.0", 1403 + "estree-walker": "^3.0.3", 1404 + "periscopic": "^3.1.0" 1405 + } 1406 + }, 1407 + "node_modules/color-convert": { 1408 + "version": "2.0.1", 1409 + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1410 + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1411 + "dev": true, 1412 + "dependencies": { 1413 + "color-name": "~1.1.4" 1414 + }, 1415 + "engines": { 1416 + "node": ">=7.0.0" 1417 + } 1418 + }, 1419 + "node_modules/color-name": { 1420 + "version": "1.1.4", 1421 + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1422 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 1423 + "dev": true 1424 + }, 1425 + "node_modules/commander": { 1426 + "version": "4.1.1", 1427 + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 1428 + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", 1429 + "dev": true, 1430 + "peer": true, 1431 + "engines": { 1432 + "node": ">= 6" 1433 + } 1434 + }, 1435 + "node_modules/concat-map": { 1436 + "version": "0.0.1", 1437 + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1438 + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 1439 + "dev": true 1440 + }, 1441 + "node_modules/cookie": { 1442 + "version": "0.5.0", 1443 + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", 1444 + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", 1445 + "dev": true, 1446 + "engines": { 1447 + "node": ">= 0.6" 1448 + } 1449 + }, 1450 + "node_modules/cross-spawn": { 1451 + "version": "7.0.3", 1452 + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 1453 + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 1454 + "dev": true, 1455 + "dependencies": { 1456 + "path-key": "^3.1.0", 1457 + "shebang-command": "^2.0.0", 1458 + "which": "^2.0.1" 1459 + }, 1460 + "engines": { 1461 + "node": ">= 8" 1462 + } 1463 + }, 1464 + "node_modules/css-tree": { 1465 + "version": "2.3.1", 1466 + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", 1467 + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", 1468 + "dev": true, 1469 + "dependencies": { 1470 + "mdn-data": "2.0.30", 1471 + "source-map-js": "^1.0.1" 1472 + }, 1473 + "engines": { 1474 + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" 1475 + } 1476 + }, 1477 + "node_modules/cssesc": { 1478 + "version": "3.0.0", 1479 + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 1480 + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 1481 + "dev": true, 1482 + "bin": { 1483 + "cssesc": "bin/cssesc" 1484 + }, 1485 + "engines": { 1486 + "node": ">=4" 1487 + } 1488 + }, 1489 + "node_modules/debug": { 1490 + "version": "4.3.4", 1491 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 1492 + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 1493 + "dev": true, 1494 + "dependencies": { 1495 + "ms": "2.1.2" 1496 + }, 1497 + "engines": { 1498 + "node": ">=6.0" 1499 + }, 1500 + "peerDependenciesMeta": { 1501 + "supports-color": { 1502 + "optional": true 1503 + } 1504 + } 1505 + }, 1506 + "node_modules/deep-is": { 1507 + "version": "0.1.4", 1508 + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 1509 + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 1510 + "dev": true 1511 + }, 1512 + "node_modules/deepmerge": { 1513 + "version": "4.3.1", 1514 + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", 1515 + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", 1516 + "dev": true, 1517 + "engines": { 1518 + "node": ">=0.10.0" 1519 + } 1520 + }, 1521 + "node_modules/deprecation": { 1522 + "version": "2.3.1", 1523 + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", 1524 + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", 1525 + "dev": true, 1526 + "peer": true 1527 + }, 1528 + "node_modules/dequal": { 1529 + "version": "2.0.3", 1530 + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", 1531 + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", 1532 + "dev": true, 1533 + "engines": { 1534 + "node": ">=6" 1535 + } 1536 + }, 1537 + "node_modules/detect-indent": { 1538 + "version": "6.1.0", 1539 + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", 1540 + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", 1541 + "dev": true, 1542 + "engines": { 1543 + "node": ">=8" 1544 + } 1545 + }, 1546 + "node_modules/devalue": { 1547 + "version": "4.3.2", 1548 + "resolved": "https://registry.npmjs.org/devalue/-/devalue-4.3.2.tgz", 1549 + "integrity": "sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==", 1550 + "dev": true 1551 + }, 1552 + "node_modules/didyoumean": { 1553 + "version": "1.2.2", 1554 + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 1555 + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", 1556 + "dev": true, 1557 + "peer": true 1558 + }, 1559 + "node_modules/dir-glob": { 1560 + "version": "3.0.1", 1561 + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", 1562 + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", 1563 + "dev": true, 1564 + "dependencies": { 1565 + "path-type": "^4.0.0" 1566 + }, 1567 + "engines": { 1568 + "node": ">=8" 1569 + } 1570 + }, 1571 + "node_modules/dlv": { 1572 + "version": "1.1.3", 1573 + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 1574 + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", 1575 + "dev": true, 1576 + "peer": true 1577 + }, 1578 + "node_modules/doctrine": { 1579 + "version": "3.0.0", 1580 + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 1581 + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 1582 + "dev": true, 1583 + "dependencies": { 1584 + "esutils": "^2.0.2" 1585 + }, 1586 + "engines": { 1587 + "node": ">=6.0.0" 1588 + } 1589 + }, 1590 + "node_modules/electron-to-chromium": { 1591 + "version": "1.4.576", 1592 + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.576.tgz", 1593 + "integrity": "sha512-yXsZyXJfAqzWk1WKryr0Wl0MN2D47xodPvEEwlVePBnhU5E7raevLQR+E6b9JAD3GfL/7MbAL9ZtWQQPcLx7wA==", 1594 + "dev": true 1595 + }, 1596 + "node_modules/es6-promise": { 1597 + "version": "3.3.1", 1598 + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", 1599 + "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==", 1600 + "dev": true 1601 + }, 1602 + "node_modules/esbuild": { 1603 + "version": "0.18.20", 1604 + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", 1605 + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", 1606 + "dev": true, 1607 + "hasInstallScript": true, 1608 + "bin": { 1609 + "esbuild": "bin/esbuild" 1610 + }, 1611 + "engines": { 1612 + "node": ">=12" 1613 + }, 1614 + "optionalDependencies": { 1615 + "@esbuild/android-arm": "0.18.20", 1616 + "@esbuild/android-arm64": "0.18.20", 1617 + "@esbuild/android-x64": "0.18.20", 1618 + "@esbuild/darwin-arm64": "0.18.20", 1619 + "@esbuild/darwin-x64": "0.18.20", 1620 + "@esbuild/freebsd-arm64": "0.18.20", 1621 + "@esbuild/freebsd-x64": "0.18.20", 1622 + "@esbuild/linux-arm": "0.18.20", 1623 + "@esbuild/linux-arm64": "0.18.20", 1624 + "@esbuild/linux-ia32": "0.18.20", 1625 + "@esbuild/linux-loong64": "0.18.20", 1626 + "@esbuild/linux-mips64el": "0.18.20", 1627 + "@esbuild/linux-ppc64": "0.18.20", 1628 + "@esbuild/linux-riscv64": "0.18.20", 1629 + "@esbuild/linux-s390x": "0.18.20", 1630 + "@esbuild/linux-x64": "0.18.20", 1631 + "@esbuild/netbsd-x64": "0.18.20", 1632 + "@esbuild/openbsd-x64": "0.18.20", 1633 + "@esbuild/sunos-x64": "0.18.20", 1634 + "@esbuild/win32-arm64": "0.18.20", 1635 + "@esbuild/win32-ia32": "0.18.20", 1636 + "@esbuild/win32-x64": "0.18.20" 1637 + } 1638 + }, 1639 + "node_modules/escalade": { 1640 + "version": "3.1.1", 1641 + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 1642 + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 1643 + "dev": true, 1644 + "engines": { 1645 + "node": ">=6" 1646 + } 1647 + }, 1648 + "node_modules/escape-string-regexp": { 1649 + "version": "4.0.0", 1650 + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 1651 + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 1652 + "dev": true, 1653 + "engines": { 1654 + "node": ">=10" 1655 + }, 1656 + "funding": { 1657 + "url": "https://github.com/sponsors/sindresorhus" 1658 + } 1659 + }, 1660 + "node_modules/eslint": { 1661 + "version": "8.53.0", 1662 + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.53.0.tgz", 1663 + "integrity": "sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==", 1664 + "dev": true, 1665 + "dependencies": { 1666 + "@eslint-community/eslint-utils": "^4.2.0", 1667 + "@eslint-community/regexpp": "^4.6.1", 1668 + "@eslint/eslintrc": "^2.1.3", 1669 + "@eslint/js": "8.53.0", 1670 + "@humanwhocodes/config-array": "^0.11.13", 1671 + "@humanwhocodes/module-importer": "^1.0.1", 1672 + "@nodelib/fs.walk": "^1.2.8", 1673 + "@ungap/structured-clone": "^1.2.0", 1674 + "ajv": "^6.12.4", 1675 + "chalk": "^4.0.0", 1676 + "cross-spawn": "^7.0.2", 1677 + "debug": "^4.3.2", 1678 + "doctrine": "^3.0.0", 1679 + "escape-string-regexp": "^4.0.0", 1680 + "eslint-scope": "^7.2.2", 1681 + "eslint-visitor-keys": "^3.4.3", 1682 + "espree": "^9.6.1", 1683 + "esquery": "^1.4.2", 1684 + "esutils": "^2.0.2", 1685 + "fast-deep-equal": "^3.1.3", 1686 + "file-entry-cache": "^6.0.1", 1687 + "find-up": "^5.0.0", 1688 + "glob-parent": "^6.0.2", 1689 + "globals": "^13.19.0", 1690 + "graphemer": "^1.4.0", 1691 + "ignore": "^5.2.0", 1692 + "imurmurhash": "^0.1.4", 1693 + "is-glob": "^4.0.0", 1694 + "is-path-inside": "^3.0.3", 1695 + "js-yaml": "^4.1.0", 1696 + "json-stable-stringify-without-jsonify": "^1.0.1", 1697 + "levn": "^0.4.1", 1698 + "lodash.merge": "^4.6.2", 1699 + "minimatch": "^3.1.2", 1700 + "natural-compare": "^1.4.0", 1701 + "optionator": "^0.9.3", 1702 + "strip-ansi": "^6.0.1", 1703 + "text-table": "^0.2.0" 1704 + }, 1705 + "bin": { 1706 + "eslint": "bin/eslint.js" 1707 + }, 1708 + "engines": { 1709 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1710 + }, 1711 + "funding": { 1712 + "url": "https://opencollective.com/eslint" 1713 + } 1714 + }, 1715 + "node_modules/eslint-config-prettier": { 1716 + "version": "8.10.0", 1717 + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", 1718 + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", 1719 + "dev": true, 1720 + "bin": { 1721 + "eslint-config-prettier": "bin/cli.js" 1722 + }, 1723 + "peerDependencies": { 1724 + "eslint": ">=7.0.0" 1725 + } 1726 + }, 1727 + "node_modules/eslint-plugin-svelte": { 1728 + "version": "2.34.1", 1729 + "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-2.34.1.tgz", 1730 + "integrity": "sha512-HnLzYevh9bLL0Rj2d4dmZY9EutN0BL5JsJRHqtJFIyaEmdxxd3ZuY5zNoSjIFhctFMSntsClbd6TwYjgaOY0Xw==", 1731 + "dev": true, 1732 + "dependencies": { 1733 + "@eslint-community/eslint-utils": "^4.2.0", 1734 + "@jridgewell/sourcemap-codec": "^1.4.14", 1735 + "debug": "^4.3.1", 1736 + "esutils": "^2.0.3", 1737 + "known-css-properties": "^0.29.0", 1738 + "postcss": "^8.4.5", 1739 + "postcss-load-config": "^3.1.4", 1740 + "postcss-safe-parser": "^6.0.0", 1741 + "postcss-selector-parser": "^6.0.11", 1742 + "semver": "^7.5.3", 1743 + "svelte-eslint-parser": ">=0.33.0 <1.0.0" 1744 + }, 1745 + "engines": { 1746 + "node": "^14.17.0 || >=16.0.0" 1747 + }, 1748 + "funding": { 1749 + "url": "https://github.com/sponsors/ota-meshi" 1750 + }, 1751 + "peerDependencies": { 1752 + "eslint": "^7.0.0 || ^8.0.0-0", 1753 + "svelte": "^3.37.0 || ^4.0.0" 1754 + }, 1755 + "peerDependenciesMeta": { 1756 + "svelte": { 1757 + "optional": true 1758 + } 1759 + } 1760 + }, 1761 + "node_modules/eslint-scope": { 1762 + "version": "7.2.2", 1763 + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", 1764 + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", 1765 + "dev": true, 1766 + "dependencies": { 1767 + "esrecurse": "^4.3.0", 1768 + "estraverse": "^5.2.0" 1769 + }, 1770 + "engines": { 1771 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1772 + }, 1773 + "funding": { 1774 + "url": "https://opencollective.com/eslint" 1775 + } 1776 + }, 1777 + "node_modules/eslint-visitor-keys": { 1778 + "version": "3.4.3", 1779 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", 1780 + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", 1781 + "dev": true, 1782 + "engines": { 1783 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1784 + }, 1785 + "funding": { 1786 + "url": "https://opencollective.com/eslint" 1787 + } 1788 + }, 1789 + "node_modules/esm-env": { 1790 + "version": "1.0.0", 1791 + "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.0.0.tgz", 1792 + "integrity": "sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==", 1793 + "dev": true 1794 + }, 1795 + "node_modules/espree": { 1796 + "version": "9.6.1", 1797 + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", 1798 + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", 1799 + "dev": true, 1800 + "dependencies": { 1801 + "acorn": "^8.9.0", 1802 + "acorn-jsx": "^5.3.2", 1803 + "eslint-visitor-keys": "^3.4.1" 1804 + }, 1805 + "engines": { 1806 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1807 + }, 1808 + "funding": { 1809 + "url": "https://opencollective.com/eslint" 1810 + } 1811 + }, 1812 + "node_modules/esquery": { 1813 + "version": "1.5.0", 1814 + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", 1815 + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", 1816 + "dev": true, 1817 + "dependencies": { 1818 + "estraverse": "^5.1.0" 1819 + }, 1820 + "engines": { 1821 + "node": ">=0.10" 1822 + } 1823 + }, 1824 + "node_modules/esrecurse": { 1825 + "version": "4.3.0", 1826 + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 1827 + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 1828 + "dev": true, 1829 + "dependencies": { 1830 + "estraverse": "^5.2.0" 1831 + }, 1832 + "engines": { 1833 + "node": ">=4.0" 1834 + } 1835 + }, 1836 + "node_modules/estraverse": { 1837 + "version": "5.3.0", 1838 + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 1839 + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 1840 + "dev": true, 1841 + "engines": { 1842 + "node": ">=4.0" 1843 + } 1844 + }, 1845 + "node_modules/estree-walker": { 1846 + "version": "3.0.3", 1847 + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", 1848 + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", 1849 + "dev": true, 1850 + "dependencies": { 1851 + "@types/estree": "^1.0.0" 1852 + } 1853 + }, 1854 + "node_modules/esutils": { 1855 + "version": "2.0.3", 1856 + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 1857 + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 1858 + "dev": true, 1859 + "engines": { 1860 + "node": ">=0.10.0" 1861 + } 1862 + }, 1863 + "node_modules/fast-deep-equal": { 1864 + "version": "3.1.3", 1865 + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 1866 + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 1867 + "dev": true 1868 + }, 1869 + "node_modules/fast-glob": { 1870 + "version": "3.3.1", 1871 + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", 1872 + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", 1873 + "dev": true, 1874 + "dependencies": { 1875 + "@nodelib/fs.stat": "^2.0.2", 1876 + "@nodelib/fs.walk": "^1.2.3", 1877 + "glob-parent": "^5.1.2", 1878 + "merge2": "^1.3.0", 1879 + "micromatch": "^4.0.4" 1880 + }, 1881 + "engines": { 1882 + "node": ">=8.6.0" 1883 + } 1884 + }, 1885 + "node_modules/fast-glob/node_modules/glob-parent": { 1886 + "version": "5.1.2", 1887 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1888 + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1889 + "dev": true, 1890 + "dependencies": { 1891 + "is-glob": "^4.0.1" 1892 + }, 1893 + "engines": { 1894 + "node": ">= 6" 1895 + } 1896 + }, 1897 + "node_modules/fast-json-stable-stringify": { 1898 + "version": "2.1.0", 1899 + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 1900 + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 1901 + "dev": true 1902 + }, 1903 + "node_modules/fast-levenshtein": { 1904 + "version": "2.0.6", 1905 + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 1906 + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 1907 + "dev": true 1908 + }, 1909 + "node_modules/fastq": { 1910 + "version": "1.15.0", 1911 + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", 1912 + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", 1913 + "dev": true, 1914 + "dependencies": { 1915 + "reusify": "^1.0.4" 1916 + } 1917 + }, 1918 + "node_modules/file-entry-cache": { 1919 + "version": "6.0.1", 1920 + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", 1921 + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", 1922 + "dev": true, 1923 + "dependencies": { 1924 + "flat-cache": "^3.0.4" 1925 + }, 1926 + "engines": { 1927 + "node": "^10.12.0 || >=12.0.0" 1928 + } 1929 + }, 1930 + "node_modules/fill-range": { 1931 + "version": "7.0.1", 1932 + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 1933 + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 1934 + "dev": true, 1935 + "dependencies": { 1936 + "to-regex-range": "^5.0.1" 1937 + }, 1938 + "engines": { 1939 + "node": ">=8" 1940 + } 1941 + }, 1942 + "node_modules/find-up": { 1943 + "version": "5.0.0", 1944 + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", 1945 + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", 1946 + "dev": true, 1947 + "dependencies": { 1948 + "locate-path": "^6.0.0", 1949 + "path-exists": "^4.0.0" 1950 + }, 1951 + "engines": { 1952 + "node": ">=10" 1953 + }, 1954 + "funding": { 1955 + "url": "https://github.com/sponsors/sindresorhus" 1956 + } 1957 + }, 1958 + "node_modules/flat-cache": { 1959 + "version": "3.1.1", 1960 + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", 1961 + "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", 1962 + "dev": true, 1963 + "dependencies": { 1964 + "flatted": "^3.2.9", 1965 + "keyv": "^4.5.3", 1966 + "rimraf": "^3.0.2" 1967 + }, 1968 + "engines": { 1969 + "node": ">=12.0.0" 1970 + } 1971 + }, 1972 + "node_modules/flatted": { 1973 + "version": "3.2.9", 1974 + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", 1975 + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", 1976 + "dev": true 1977 + }, 1978 + "node_modules/fraction.js": { 1979 + "version": "4.3.7", 1980 + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", 1981 + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", 1982 + "dev": true, 1983 + "engines": { 1984 + "node": "*" 1985 + }, 1986 + "funding": { 1987 + "type": "patreon", 1988 + "url": "https://github.com/sponsors/rawify" 1989 + } 1990 + }, 1991 + "node_modules/fs.realpath": { 1992 + "version": "1.0.0", 1993 + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1994 + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 1995 + "dev": true 1996 + }, 1997 + "node_modules/fsevents": { 1998 + "version": "2.3.3", 1999 + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 2000 + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 2001 + "dev": true, 2002 + "hasInstallScript": true, 2003 + "optional": true, 2004 + "os": [ 2005 + "darwin" 2006 + ], 2007 + "engines": { 2008 + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 2009 + } 2010 + }, 2011 + "node_modules/function-bind": { 2012 + "version": "1.1.2", 2013 + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 2014 + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 2015 + "dev": true, 2016 + "peer": true, 2017 + "funding": { 2018 + "url": "https://github.com/sponsors/ljharb" 2019 + } 2020 + }, 2021 + "node_modules/glob": { 2022 + "version": "7.2.3", 2023 + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 2024 + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 2025 + "dev": true, 2026 + "dependencies": { 2027 + "fs.realpath": "^1.0.0", 2028 + "inflight": "^1.0.4", 2029 + "inherits": "2", 2030 + "minimatch": "^3.1.1", 2031 + "once": "^1.3.0", 2032 + "path-is-absolute": "^1.0.0" 2033 + }, 2034 + "engines": { 2035 + "node": "*" 2036 + }, 2037 + "funding": { 2038 + "url": "https://github.com/sponsors/isaacs" 2039 + } 2040 + }, 2041 + "node_modules/glob-parent": { 2042 + "version": "6.0.2", 2043 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 2044 + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 2045 + "dev": true, 2046 + "dependencies": { 2047 + "is-glob": "^4.0.3" 2048 + }, 2049 + "engines": { 2050 + "node": ">=10.13.0" 2051 + } 2052 + }, 2053 + "node_modules/globals": { 2054 + "version": "13.23.0", 2055 + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", 2056 + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", 2057 + "dev": true, 2058 + "dependencies": { 2059 + "type-fest": "^0.20.2" 2060 + }, 2061 + "engines": { 2062 + "node": ">=8" 2063 + }, 2064 + "funding": { 2065 + "url": "https://github.com/sponsors/sindresorhus" 2066 + } 2067 + }, 2068 + "node_modules/globalyzer": { 2069 + "version": "0.1.0", 2070 + "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", 2071 + "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", 2072 + "dev": true 2073 + }, 2074 + "node_modules/globby": { 2075 + "version": "11.1.0", 2076 + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", 2077 + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", 2078 + "dev": true, 2079 + "dependencies": { 2080 + "array-union": "^2.1.0", 2081 + "dir-glob": "^3.0.1", 2082 + "fast-glob": "^3.2.9", 2083 + "ignore": "^5.2.0", 2084 + "merge2": "^1.4.1", 2085 + "slash": "^3.0.0" 2086 + }, 2087 + "engines": { 2088 + "node": ">=10" 2089 + }, 2090 + "funding": { 2091 + "url": "https://github.com/sponsors/sindresorhus" 2092 + } 2093 + }, 2094 + "node_modules/globrex": { 2095 + "version": "0.1.2", 2096 + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", 2097 + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", 2098 + "dev": true 2099 + }, 2100 + "node_modules/graceful-fs": { 2101 + "version": "4.2.11", 2102 + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 2103 + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", 2104 + "dev": true 2105 + }, 2106 + "node_modules/graphemer": { 2107 + "version": "1.4.0", 2108 + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", 2109 + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", 2110 + "dev": true 2111 + }, 2112 + "node_modules/has-flag": { 2113 + "version": "4.0.0", 2114 + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 2115 + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 2116 + "dev": true, 2117 + "engines": { 2118 + "node": ">=8" 2119 + } 2120 + }, 2121 + "node_modules/hasown": { 2122 + "version": "2.0.0", 2123 + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", 2124 + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", 2125 + "dev": true, 2126 + "peer": true, 2127 + "dependencies": { 2128 + "function-bind": "^1.1.2" 2129 + }, 2130 + "engines": { 2131 + "node": ">= 0.4" 2132 + } 2133 + }, 2134 + "node_modules/ignore": { 2135 + "version": "5.2.4", 2136 + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", 2137 + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", 2138 + "dev": true, 2139 + "engines": { 2140 + "node": ">= 4" 2141 + } 2142 + }, 2143 + "node_modules/import-fresh": { 2144 + "version": "3.3.0", 2145 + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 2146 + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 2147 + "dev": true, 2148 + "dependencies": { 2149 + "parent-module": "^1.0.0", 2150 + "resolve-from": "^4.0.0" 2151 + }, 2152 + "engines": { 2153 + "node": ">=6" 2154 + }, 2155 + "funding": { 2156 + "url": "https://github.com/sponsors/sindresorhus" 2157 + } 2158 + }, 2159 + "node_modules/import-meta-resolve": { 2160 + "version": "4.0.0", 2161 + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz", 2162 + "integrity": "sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==", 2163 + "dev": true, 2164 + "funding": { 2165 + "type": "github", 2166 + "url": "https://github.com/sponsors/wooorm" 2167 + } 2168 + }, 2169 + "node_modules/imurmurhash": { 2170 + "version": "0.1.4", 2171 + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 2172 + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 2173 + "dev": true, 2174 + "engines": { 2175 + "node": ">=0.8.19" 2176 + } 2177 + }, 2178 + "node_modules/inflight": { 2179 + "version": "1.0.6", 2180 + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 2181 + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 2182 + "dev": true, 2183 + "dependencies": { 2184 + "once": "^1.3.0", 2185 + "wrappy": "1" 2186 + } 2187 + }, 2188 + "node_modules/inherits": { 2189 + "version": "2.0.4", 2190 + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 2191 + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 2192 + "dev": true 2193 + }, 2194 + "node_modules/is-binary-path": { 2195 + "version": "2.1.0", 2196 + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 2197 + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 2198 + "dev": true, 2199 + "dependencies": { 2200 + "binary-extensions": "^2.0.0" 2201 + }, 2202 + "engines": { 2203 + "node": ">=8" 2204 + } 2205 + }, 2206 + "node_modules/is-core-module": { 2207 + "version": "2.13.1", 2208 + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", 2209 + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", 2210 + "dev": true, 2211 + "peer": true, 2212 + "dependencies": { 2213 + "hasown": "^2.0.0" 2214 + }, 2215 + "funding": { 2216 + "url": "https://github.com/sponsors/ljharb" 2217 + } 2218 + }, 2219 + "node_modules/is-extglob": { 2220 + "version": "2.1.1", 2221 + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 2222 + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 2223 + "dev": true, 2224 + "engines": { 2225 + "node": ">=0.10.0" 2226 + } 2227 + }, 2228 + "node_modules/is-glob": { 2229 + "version": "4.0.3", 2230 + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 2231 + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 2232 + "dev": true, 2233 + "dependencies": { 2234 + "is-extglob": "^2.1.1" 2235 + }, 2236 + "engines": { 2237 + "node": ">=0.10.0" 2238 + } 2239 + }, 2240 + "node_modules/is-number": { 2241 + "version": "7.0.0", 2242 + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 2243 + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 2244 + "dev": true, 2245 + "engines": { 2246 + "node": ">=0.12.0" 2247 + } 2248 + }, 2249 + "node_modules/is-path-inside": { 2250 + "version": "3.0.3", 2251 + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", 2252 + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", 2253 + "dev": true, 2254 + "engines": { 2255 + "node": ">=8" 2256 + } 2257 + }, 2258 + "node_modules/is-plain-object": { 2259 + "version": "5.0.0", 2260 + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", 2261 + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", 2262 + "dev": true, 2263 + "peer": true, 2264 + "engines": { 2265 + "node": ">=0.10.0" 2266 + } 2267 + }, 2268 + "node_modules/is-reference": { 2269 + "version": "3.0.2", 2270 + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", 2271 + "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", 2272 + "dev": true, 2273 + "dependencies": { 2274 + "@types/estree": "*" 2275 + } 2276 + }, 2277 + "node_modules/isexe": { 2278 + "version": "2.0.0", 2279 + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 2280 + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 2281 + "dev": true 2282 + }, 2283 + "node_modules/jiti": { 2284 + "version": "1.21.0", 2285 + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", 2286 + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", 2287 + "dev": true, 2288 + "peer": true, 2289 + "bin": { 2290 + "jiti": "bin/jiti.js" 2291 + } 2292 + }, 2293 + "node_modules/js-yaml": { 2294 + "version": "4.1.0", 2295 + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 2296 + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 2297 + "dev": true, 2298 + "dependencies": { 2299 + "argparse": "^2.0.1" 2300 + }, 2301 + "bin": { 2302 + "js-yaml": "bin/js-yaml.js" 2303 + } 2304 + }, 2305 + "node_modules/json-buffer": { 2306 + "version": "3.0.1", 2307 + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", 2308 + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", 2309 + "dev": true 2310 + }, 2311 + "node_modules/json-schema-traverse": { 2312 + "version": "0.4.1", 2313 + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 2314 + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 2315 + "dev": true 2316 + }, 2317 + "node_modules/json-stable-stringify-without-jsonify": { 2318 + "version": "1.0.1", 2319 + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 2320 + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", 2321 + "dev": true 2322 + }, 2323 + "node_modules/keyv": { 2324 + "version": "4.5.4", 2325 + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", 2326 + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", 2327 + "dev": true, 2328 + "dependencies": { 2329 + "json-buffer": "3.0.1" 2330 + } 2331 + }, 2332 + "node_modules/kleur": { 2333 + "version": "4.1.5", 2334 + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", 2335 + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", 2336 + "dev": true, 2337 + "engines": { 2338 + "node": ">=6" 2339 + } 2340 + }, 2341 + "node_modules/known-css-properties": { 2342 + "version": "0.29.0", 2343 + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz", 2344 + "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==", 2345 + "dev": true 2346 + }, 2347 + "node_modules/levn": { 2348 + "version": "0.4.1", 2349 + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 2350 + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 2351 + "dev": true, 2352 + "dependencies": { 2353 + "prelude-ls": "^1.2.1", 2354 + "type-check": "~0.4.0" 2355 + }, 2356 + "engines": { 2357 + "node": ">= 0.8.0" 2358 + } 2359 + }, 2360 + "node_modules/lilconfig": { 2361 + "version": "2.1.0", 2362 + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", 2363 + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", 2364 + "dev": true, 2365 + "engines": { 2366 + "node": ">=10" 2367 + } 2368 + }, 2369 + "node_modules/lines-and-columns": { 2370 + "version": "1.2.4", 2371 + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 2372 + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", 2373 + "dev": true, 2374 + "peer": true 2375 + }, 2376 + "node_modules/locate-character": { 2377 + "version": "3.0.0", 2378 + "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", 2379 + "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", 2380 + "dev": true 2381 + }, 2382 + "node_modules/locate-path": { 2383 + "version": "6.0.0", 2384 + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", 2385 + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", 2386 + "dev": true, 2387 + "dependencies": { 2388 + "p-locate": "^5.0.0" 2389 + }, 2390 + "engines": { 2391 + "node": ">=10" 2392 + }, 2393 + "funding": { 2394 + "url": "https://github.com/sponsors/sindresorhus" 2395 + } 2396 + }, 2397 + "node_modules/lodash.merge": { 2398 + "version": "4.6.2", 2399 + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 2400 + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 2401 + "dev": true 2402 + }, 2403 + "node_modules/lru-cache": { 2404 + "version": "6.0.0", 2405 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 2406 + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 2407 + "dev": true, 2408 + "dependencies": { 2409 + "yallist": "^4.0.0" 2410 + }, 2411 + "engines": { 2412 + "node": ">=10" 2413 + } 2414 + }, 2415 + "node_modules/magic-string": { 2416 + "version": "0.30.5", 2417 + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", 2418 + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", 2419 + "dev": true, 2420 + "dependencies": { 2421 + "@jridgewell/sourcemap-codec": "^1.4.15" 2422 + }, 2423 + "engines": { 2424 + "node": ">=12" 2425 + } 2426 + }, 2427 + "node_modules/mdn-data": { 2428 + "version": "2.0.30", 2429 + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", 2430 + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", 2431 + "dev": true 2432 + }, 2433 + "node_modules/mdsvex": { 2434 + "version": "0.11.0", 2435 + "resolved": "https://registry.npmjs.org/mdsvex/-/mdsvex-0.11.0.tgz", 2436 + "integrity": "sha512-gJF1s0N2nCmdxcKn8HDn0LKrN8poStqAicp6bBcsKFd/zkUBGLP5e7vnxu+g0pjBbDFOscUyI1mtHz+YK2TCDw==", 2437 + "dev": true, 2438 + "dependencies": { 2439 + "@types/unist": "^2.0.3", 2440 + "prism-svelte": "^0.4.7", 2441 + "prismjs": "^1.17.1", 2442 + "vfile-message": "^2.0.4" 2443 + }, 2444 + "peerDependencies": { 2445 + "svelte": ">=3 <5" 2446 + } 2447 + }, 2448 + "node_modules/merge2": { 2449 + "version": "1.4.1", 2450 + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 2451 + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 2452 + "dev": true, 2453 + "engines": { 2454 + "node": ">= 8" 2455 + } 2456 + }, 2457 + "node_modules/micromatch": { 2458 + "version": "4.0.5", 2459 + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 2460 + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 2461 + "dev": true, 2462 + "dependencies": { 2463 + "braces": "^3.0.2", 2464 + "picomatch": "^2.3.1" 2465 + }, 2466 + "engines": { 2467 + "node": ">=8.6" 2468 + } 2469 + }, 2470 + "node_modules/min-indent": { 2471 + "version": "1.0.1", 2472 + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", 2473 + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", 2474 + "dev": true, 2475 + "engines": { 2476 + "node": ">=4" 2477 + } 2478 + }, 2479 + "node_modules/mini-svg-data-uri": { 2480 + "version": "1.4.4", 2481 + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", 2482 + "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", 2483 + "dev": true, 2484 + "bin": { 2485 + "mini-svg-data-uri": "cli.js" 2486 + } 2487 + }, 2488 + "node_modules/minimatch": { 2489 + "version": "3.1.2", 2490 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 2491 + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 2492 + "dev": true, 2493 + "dependencies": { 2494 + "brace-expansion": "^1.1.7" 2495 + }, 2496 + "engines": { 2497 + "node": "*" 2498 + } 2499 + }, 2500 + "node_modules/minimist": { 2501 + "version": "1.2.8", 2502 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 2503 + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 2504 + "dev": true, 2505 + "funding": { 2506 + "url": "https://github.com/sponsors/ljharb" 2507 + } 2508 + }, 2509 + "node_modules/mkdirp": { 2510 + "version": "0.5.6", 2511 + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", 2512 + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", 2513 + "dev": true, 2514 + "dependencies": { 2515 + "minimist": "^1.2.6" 2516 + }, 2517 + "bin": { 2518 + "mkdirp": "bin/cmd.js" 2519 + } 2520 + }, 2521 + "node_modules/mri": { 2522 + "version": "1.2.0", 2523 + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", 2524 + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", 2525 + "dev": true, 2526 + "engines": { 2527 + "node": ">=4" 2528 + } 2529 + }, 2530 + "node_modules/mrmime": { 2531 + "version": "1.0.1", 2532 + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", 2533 + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", 2534 + "dev": true, 2535 + "engines": { 2536 + "node": ">=10" 2537 + } 2538 + }, 2539 + "node_modules/ms": { 2540 + "version": "2.1.2", 2541 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 2542 + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 2543 + "dev": true 2544 + }, 2545 + "node_modules/mz": { 2546 + "version": "2.7.0", 2547 + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", 2548 + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", 2549 + "dev": true, 2550 + "peer": true, 2551 + "dependencies": { 2552 + "any-promise": "^1.0.0", 2553 + "object-assign": "^4.0.1", 2554 + "thenify-all": "^1.0.0" 2555 + } 2556 + }, 2557 + "node_modules/nanoid": { 2558 + "version": "3.3.6", 2559 + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", 2560 + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", 2561 + "dev": true, 2562 + "funding": [ 2563 + { 2564 + "type": "github", 2565 + "url": "https://github.com/sponsors/ai" 2566 + } 2567 + ], 2568 + "bin": { 2569 + "nanoid": "bin/nanoid.cjs" 2570 + }, 2571 + "engines": { 2572 + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 2573 + } 2574 + }, 2575 + "node_modules/natural-compare": { 2576 + "version": "1.4.0", 2577 + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 2578 + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 2579 + "dev": true 2580 + }, 2581 + "node_modules/node-releases": { 2582 + "version": "2.0.13", 2583 + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", 2584 + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", 2585 + "dev": true 2586 + }, 2587 + "node_modules/normalize-path": { 2588 + "version": "3.0.0", 2589 + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 2590 + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 2591 + "dev": true, 2592 + "engines": { 2593 + "node": ">=0.10.0" 2594 + } 2595 + }, 2596 + "node_modules/normalize-range": { 2597 + "version": "0.1.2", 2598 + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 2599 + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", 2600 + "dev": true, 2601 + "engines": { 2602 + "node": ">=0.10.0" 2603 + } 2604 + }, 2605 + "node_modules/object-assign": { 2606 + "version": "4.1.1", 2607 + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2608 + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 2609 + "dev": true, 2610 + "peer": true, 2611 + "engines": { 2612 + "node": ">=0.10.0" 2613 + } 2614 + }, 2615 + "node_modules/object-hash": { 2616 + "version": "3.0.0", 2617 + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", 2618 + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", 2619 + "dev": true, 2620 + "peer": true, 2621 + "engines": { 2622 + "node": ">= 6" 2623 + } 2624 + }, 2625 + "node_modules/once": { 2626 + "version": "1.4.0", 2627 + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2628 + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 2629 + "dev": true, 2630 + "dependencies": { 2631 + "wrappy": "1" 2632 + } 2633 + }, 2634 + "node_modules/optionator": { 2635 + "version": "0.9.3", 2636 + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", 2637 + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", 2638 + "dev": true, 2639 + "dependencies": { 2640 + "@aashutoshrathi/word-wrap": "^1.2.3", 2641 + "deep-is": "^0.1.3", 2642 + "fast-levenshtein": "^2.0.6", 2643 + "levn": "^0.4.1", 2644 + "prelude-ls": "^1.2.1", 2645 + "type-check": "^0.4.0" 2646 + }, 2647 + "engines": { 2648 + "node": ">= 0.8.0" 2649 + } 2650 + }, 2651 + "node_modules/p-limit": { 2652 + "version": "3.1.0", 2653 + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", 2654 + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", 2655 + "dev": true, 2656 + "dependencies": { 2657 + "yocto-queue": "^0.1.0" 2658 + }, 2659 + "engines": { 2660 + "node": ">=10" 2661 + }, 2662 + "funding": { 2663 + "url": "https://github.com/sponsors/sindresorhus" 2664 + } 2665 + }, 2666 + "node_modules/p-locate": { 2667 + "version": "5.0.0", 2668 + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", 2669 + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", 2670 + "dev": true, 2671 + "dependencies": { 2672 + "p-limit": "^3.0.2" 2673 + }, 2674 + "engines": { 2675 + "node": ">=10" 2676 + }, 2677 + "funding": { 2678 + "url": "https://github.com/sponsors/sindresorhus" 2679 + } 2680 + }, 2681 + "node_modules/parent-module": { 2682 + "version": "1.0.1", 2683 + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 2684 + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 2685 + "dev": true, 2686 + "dependencies": { 2687 + "callsites": "^3.0.0" 2688 + }, 2689 + "engines": { 2690 + "node": ">=6" 2691 + } 2692 + }, 2693 + "node_modules/path-exists": { 2694 + "version": "4.0.0", 2695 + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 2696 + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 2697 + "dev": true, 2698 + "engines": { 2699 + "node": ">=8" 2700 + } 2701 + }, 2702 + "node_modules/path-is-absolute": { 2703 + "version": "1.0.1", 2704 + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2705 + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 2706 + "dev": true, 2707 + "engines": { 2708 + "node": ">=0.10.0" 2709 + } 2710 + }, 2711 + "node_modules/path-key": { 2712 + "version": "3.1.1", 2713 + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 2714 + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 2715 + "dev": true, 2716 + "engines": { 2717 + "node": ">=8" 2718 + } 2719 + }, 2720 + "node_modules/path-parse": { 2721 + "version": "1.0.7", 2722 + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 2723 + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 2724 + "dev": true, 2725 + "peer": true 2726 + }, 2727 + "node_modules/path-type": { 2728 + "version": "4.0.0", 2729 + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 2730 + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 2731 + "dev": true, 2732 + "engines": { 2733 + "node": ">=8" 2734 + } 2735 + }, 2736 + "node_modules/periscopic": { 2737 + "version": "3.1.0", 2738 + "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", 2739 + "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", 2740 + "dev": true, 2741 + "dependencies": { 2742 + "@types/estree": "^1.0.0", 2743 + "estree-walker": "^3.0.0", 2744 + "is-reference": "^3.0.0" 2745 + } 2746 + }, 2747 + "node_modules/picocolors": { 2748 + "version": "1.0.0", 2749 + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 2750 + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 2751 + "dev": true 2752 + }, 2753 + "node_modules/picomatch": { 2754 + "version": "2.3.1", 2755 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 2756 + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 2757 + "dev": true, 2758 + "engines": { 2759 + "node": ">=8.6" 2760 + }, 2761 + "funding": { 2762 + "url": "https://github.com/sponsors/jonschlinkert" 2763 + } 2764 + }, 2765 + "node_modules/pify": { 2766 + "version": "2.3.0", 2767 + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 2768 + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", 2769 + "dev": true, 2770 + "peer": true, 2771 + "engines": { 2772 + "node": ">=0.10.0" 2773 + } 2774 + }, 2775 + "node_modules/pirates": { 2776 + "version": "4.0.6", 2777 + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", 2778 + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", 2779 + "dev": true, 2780 + "peer": true, 2781 + "engines": { 2782 + "node": ">= 6" 2783 + } 2784 + }, 2785 + "node_modules/postcss": { 2786 + "version": "8.4.31", 2787 + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", 2788 + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", 2789 + "dev": true, 2790 + "funding": [ 2791 + { 2792 + "type": "opencollective", 2793 + "url": "https://opencollective.com/postcss/" 2794 + }, 2795 + { 2796 + "type": "tidelift", 2797 + "url": "https://tidelift.com/funding/github/npm/postcss" 2798 + }, 2799 + { 2800 + "type": "github", 2801 + "url": "https://github.com/sponsors/ai" 2802 + } 2803 + ], 2804 + "dependencies": { 2805 + "nanoid": "^3.3.6", 2806 + "picocolors": "^1.0.0", 2807 + "source-map-js": "^1.0.2" 2808 + }, 2809 + "engines": { 2810 + "node": "^10 || ^12 || >=14" 2811 + } 2812 + }, 2813 + "node_modules/postcss-import": { 2814 + "version": "15.1.0", 2815 + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", 2816 + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", 2817 + "dev": true, 2818 + "peer": true, 2819 + "dependencies": { 2820 + "postcss-value-parser": "^4.0.0", 2821 + "read-cache": "^1.0.0", 2822 + "resolve": "^1.1.7" 2823 + }, 2824 + "engines": { 2825 + "node": ">=14.0.0" 2826 + }, 2827 + "peerDependencies": { 2828 + "postcss": "^8.0.0" 2829 + } 2830 + }, 2831 + "node_modules/postcss-js": { 2832 + "version": "4.0.1", 2833 + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", 2834 + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", 2835 + "dev": true, 2836 + "peer": true, 2837 + "dependencies": { 2838 + "camelcase-css": "^2.0.1" 2839 + }, 2840 + "engines": { 2841 + "node": "^12 || ^14 || >= 16" 2842 + }, 2843 + "funding": { 2844 + "type": "opencollective", 2845 + "url": "https://opencollective.com/postcss/" 2846 + }, 2847 + "peerDependencies": { 2848 + "postcss": "^8.4.21" 2849 + } 2850 + }, 2851 + "node_modules/postcss-load-config": { 2852 + "version": "3.1.4", 2853 + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", 2854 + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", 2855 + "dev": true, 2856 + "dependencies": { 2857 + "lilconfig": "^2.0.5", 2858 + "yaml": "^1.10.2" 2859 + }, 2860 + "engines": { 2861 + "node": ">= 10" 2862 + }, 2863 + "funding": { 2864 + "type": "opencollective", 2865 + "url": "https://opencollective.com/postcss/" 2866 + }, 2867 + "peerDependencies": { 2868 + "postcss": ">=8.0.9", 2869 + "ts-node": ">=9.0.0" 2870 + }, 2871 + "peerDependenciesMeta": { 2872 + "postcss": { 2873 + "optional": true 2874 + }, 2875 + "ts-node": { 2876 + "optional": true 2877 + } 2878 + } 2879 + }, 2880 + "node_modules/postcss-nested": { 2881 + "version": "6.0.1", 2882 + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", 2883 + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", 2884 + "dev": true, 2885 + "peer": true, 2886 + "dependencies": { 2887 + "postcss-selector-parser": "^6.0.11" 2888 + }, 2889 + "engines": { 2890 + "node": ">=12.0" 2891 + }, 2892 + "funding": { 2893 + "type": "opencollective", 2894 + "url": "https://opencollective.com/postcss/" 2895 + }, 2896 + "peerDependencies": { 2897 + "postcss": "^8.2.14" 2898 + } 2899 + }, 2900 + "node_modules/postcss-safe-parser": { 2901 + "version": "6.0.0", 2902 + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", 2903 + "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", 2904 + "dev": true, 2905 + "engines": { 2906 + "node": ">=12.0" 2907 + }, 2908 + "funding": { 2909 + "type": "opencollective", 2910 + "url": "https://opencollective.com/postcss/" 2911 + }, 2912 + "peerDependencies": { 2913 + "postcss": "^8.3.3" 2914 + } 2915 + }, 2916 + "node_modules/postcss-scss": { 2917 + "version": "4.0.9", 2918 + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz", 2919 + "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==", 2920 + "dev": true, 2921 + "funding": [ 2922 + { 2923 + "type": "opencollective", 2924 + "url": "https://opencollective.com/postcss/" 2925 + }, 2926 + { 2927 + "type": "tidelift", 2928 + "url": "https://tidelift.com/funding/github/npm/postcss-scss" 2929 + }, 2930 + { 2931 + "type": "github", 2932 + "url": "https://github.com/sponsors/ai" 2933 + } 2934 + ], 2935 + "engines": { 2936 + "node": ">=12.0" 2937 + }, 2938 + "peerDependencies": { 2939 + "postcss": "^8.4.29" 2940 + } 2941 + }, 2942 + "node_modules/postcss-selector-parser": { 2943 + "version": "6.0.13", 2944 + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", 2945 + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", 2946 + "dev": true, 2947 + "dependencies": { 2948 + "cssesc": "^3.0.0", 2949 + "util-deprecate": "^1.0.2" 2950 + }, 2951 + "engines": { 2952 + "node": ">=4" 2953 + } 2954 + }, 2955 + "node_modules/postcss-value-parser": { 2956 + "version": "4.2.0", 2957 + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 2958 + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", 2959 + "dev": true 2960 + }, 2961 + "node_modules/prelude-ls": { 2962 + "version": "1.2.1", 2963 + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 2964 + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 2965 + "dev": true, 2966 + "engines": { 2967 + "node": ">= 0.8.0" 2968 + } 2969 + }, 2970 + "node_modules/prettier": { 2971 + "version": "3.0.3", 2972 + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", 2973 + "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", 2974 + "dev": true, 2975 + "bin": { 2976 + "prettier": "bin/prettier.cjs" 2977 + }, 2978 + "engines": { 2979 + "node": ">=14" 2980 + }, 2981 + "funding": { 2982 + "url": "https://github.com/prettier/prettier?sponsor=1" 2983 + } 2984 + }, 2985 + "node_modules/prettier-plugin-svelte": { 2986 + "version": "2.10.1", 2987 + "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-2.10.1.tgz", 2988 + "integrity": "sha512-Wlq7Z5v2ueCubWo0TZzKc9XHcm7TDxqcuzRuGd0gcENfzfT4JZ9yDlCbEgxWgiPmLHkBjfOtpAWkcT28MCDpUQ==", 2989 + "dev": true, 2990 + "peerDependencies": { 2991 + "prettier": "^1.16.4 || ^2.0.0", 2992 + "svelte": "^3.2.0 || ^4.0.0-next.0" 2993 + } 2994 + }, 2995 + "node_modules/prism-svelte": { 2996 + "version": "0.4.7", 2997 + "resolved": "https://registry.npmjs.org/prism-svelte/-/prism-svelte-0.4.7.tgz", 2998 + "integrity": "sha512-yABh19CYbM24V7aS7TuPYRNMqthxwbvx6FF/Rw920YbyBWO3tnyPIqRMgHuSVsLmuHkkBS1Akyof463FVdkeDQ==", 2999 + "dev": true 3000 + }, 3001 + "node_modules/prismjs": { 3002 + "version": "1.29.0", 3003 + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", 3004 + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", 3005 + "dev": true, 3006 + "engines": { 3007 + "node": ">=6" 3008 + } 3009 + }, 3010 + "node_modules/punycode": { 3011 + "version": "2.3.1", 3012 + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", 3013 + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", 3014 + "dev": true, 3015 + "engines": { 3016 + "node": ">=6" 3017 + } 3018 + }, 3019 + "node_modules/queue-microtask": { 3020 + "version": "1.2.3", 3021 + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 3022 + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 3023 + "dev": true, 3024 + "funding": [ 3025 + { 3026 + "type": "github", 3027 + "url": "https://github.com/sponsors/feross" 3028 + }, 3029 + { 3030 + "type": "patreon", 3031 + "url": "https://www.patreon.com/feross" 3032 + }, 3033 + { 3034 + "type": "consulting", 3035 + "url": "https://feross.org/support" 3036 + } 3037 + ] 3038 + }, 3039 + "node_modules/read-cache": { 3040 + "version": "1.0.0", 3041 + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", 3042 + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", 3043 + "dev": true, 3044 + "peer": true, 3045 + "dependencies": { 3046 + "pify": "^2.3.0" 3047 + } 3048 + }, 3049 + "node_modules/readdirp": { 3050 + "version": "3.6.0", 3051 + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 3052 + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 3053 + "dev": true, 3054 + "dependencies": { 3055 + "picomatch": "^2.2.1" 3056 + }, 3057 + "engines": { 3058 + "node": ">=8.10.0" 3059 + } 3060 + }, 3061 + "node_modules/resolve": { 3062 + "version": "1.22.8", 3063 + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", 3064 + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", 3065 + "dev": true, 3066 + "peer": true, 3067 + "dependencies": { 3068 + "is-core-module": "^2.13.0", 3069 + "path-parse": "^1.0.7", 3070 + "supports-preserve-symlinks-flag": "^1.0.0" 3071 + }, 3072 + "bin": { 3073 + "resolve": "bin/resolve" 3074 + }, 3075 + "funding": { 3076 + "url": "https://github.com/sponsors/ljharb" 3077 + } 3078 + }, 3079 + "node_modules/resolve-from": { 3080 + "version": "4.0.0", 3081 + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 3082 + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 3083 + "dev": true, 3084 + "engines": { 3085 + "node": ">=4" 3086 + } 3087 + }, 3088 + "node_modules/reusify": { 3089 + "version": "1.0.4", 3090 + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 3091 + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 3092 + "dev": true, 3093 + "engines": { 3094 + "iojs": ">=1.0.0", 3095 + "node": ">=0.10.0" 3096 + } 3097 + }, 3098 + "node_modules/rimraf": { 3099 + "version": "3.0.2", 3100 + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 3101 + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 3102 + "dev": true, 3103 + "dependencies": { 3104 + "glob": "^7.1.3" 3105 + }, 3106 + "bin": { 3107 + "rimraf": "bin.js" 3108 + }, 3109 + "funding": { 3110 + "url": "https://github.com/sponsors/isaacs" 3111 + } 3112 + }, 3113 + "node_modules/rollup": { 3114 + "version": "3.29.4", 3115 + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", 3116 + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", 3117 + "dev": true, 3118 + "bin": { 3119 + "rollup": "dist/bin/rollup" 3120 + }, 3121 + "engines": { 3122 + "node": ">=14.18.0", 3123 + "npm": ">=8.0.0" 3124 + }, 3125 + "optionalDependencies": { 3126 + "fsevents": "~2.3.2" 3127 + } 3128 + }, 3129 + "node_modules/run-parallel": { 3130 + "version": "1.2.0", 3131 + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 3132 + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 3133 + "dev": true, 3134 + "funding": [ 3135 + { 3136 + "type": "github", 3137 + "url": "https://github.com/sponsors/feross" 3138 + }, 3139 + { 3140 + "type": "patreon", 3141 + "url": "https://www.patreon.com/feross" 3142 + }, 3143 + { 3144 + "type": "consulting", 3145 + "url": "https://feross.org/support" 3146 + } 3147 + ], 3148 + "dependencies": { 3149 + "queue-microtask": "^1.2.2" 3150 + } 3151 + }, 3152 + "node_modules/sade": { 3153 + "version": "1.8.1", 3154 + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", 3155 + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", 3156 + "dev": true, 3157 + "dependencies": { 3158 + "mri": "^1.1.0" 3159 + }, 3160 + "engines": { 3161 + "node": ">=6" 3162 + } 3163 + }, 3164 + "node_modules/sander": { 3165 + "version": "0.5.1", 3166 + "resolved": "https://registry.npmjs.org/sander/-/sander-0.5.1.tgz", 3167 + "integrity": "sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==", 3168 + "dev": true, 3169 + "dependencies": { 3170 + "es6-promise": "^3.1.2", 3171 + "graceful-fs": "^4.1.3", 3172 + "mkdirp": "^0.5.1", 3173 + "rimraf": "^2.5.2" 3174 + } 3175 + }, 3176 + "node_modules/sander/node_modules/rimraf": { 3177 + "version": "2.7.1", 3178 + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", 3179 + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", 3180 + "dev": true, 3181 + "dependencies": { 3182 + "glob": "^7.1.3" 3183 + }, 3184 + "bin": { 3185 + "rimraf": "bin.js" 3186 + } 3187 + }, 3188 + "node_modules/semver": { 3189 + "version": "7.5.4", 3190 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", 3191 + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", 3192 + "dev": true, 3193 + "dependencies": { 3194 + "lru-cache": "^6.0.0" 3195 + }, 3196 + "bin": { 3197 + "semver": "bin/semver.js" 3198 + }, 3199 + "engines": { 3200 + "node": ">=10" 3201 + } 3202 + }, 3203 + "node_modules/set-cookie-parser": { 3204 + "version": "2.6.0", 3205 + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz", 3206 + "integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==", 3207 + "dev": true 3208 + }, 3209 + "node_modules/shebang-command": { 3210 + "version": "2.0.0", 3211 + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 3212 + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 3213 + "dev": true, 3214 + "dependencies": { 3215 + "shebang-regex": "^3.0.0" 3216 + }, 3217 + "engines": { 3218 + "node": ">=8" 3219 + } 3220 + }, 3221 + "node_modules/shebang-regex": { 3222 + "version": "3.0.0", 3223 + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 3224 + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 3225 + "dev": true, 3226 + "engines": { 3227 + "node": ">=8" 3228 + } 3229 + }, 3230 + "node_modules/sirv": { 3231 + "version": "2.0.3", 3232 + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.3.tgz", 3233 + "integrity": "sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==", 3234 + "dev": true, 3235 + "dependencies": { 3236 + "@polka/url": "^1.0.0-next.20", 3237 + "mrmime": "^1.0.0", 3238 + "totalist": "^3.0.0" 3239 + }, 3240 + "engines": { 3241 + "node": ">= 10" 3242 + } 3243 + }, 3244 + "node_modules/slash": { 3245 + "version": "3.0.0", 3246 + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", 3247 + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", 3248 + "dev": true, 3249 + "engines": { 3250 + "node": ">=8" 3251 + } 3252 + }, 3253 + "node_modules/sorcery": { 3254 + "version": "0.11.0", 3255 + "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.11.0.tgz", 3256 + "integrity": "sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==", 3257 + "dev": true, 3258 + "dependencies": { 3259 + "@jridgewell/sourcemap-codec": "^1.4.14", 3260 + "buffer-crc32": "^0.2.5", 3261 + "minimist": "^1.2.0", 3262 + "sander": "^0.5.0" 3263 + }, 3264 + "bin": { 3265 + "sorcery": "bin/sorcery" 3266 + } 3267 + }, 3268 + "node_modules/source-map-js": { 3269 + "version": "1.0.2", 3270 + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 3271 + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 3272 + "dev": true, 3273 + "engines": { 3274 + "node": ">=0.10.0" 3275 + } 3276 + }, 3277 + "node_modules/strip-ansi": { 3278 + "version": "6.0.1", 3279 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 3280 + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 3281 + "dev": true, 3282 + "dependencies": { 3283 + "ansi-regex": "^5.0.1" 3284 + }, 3285 + "engines": { 3286 + "node": ">=8" 3287 + } 3288 + }, 3289 + "node_modules/strip-indent": { 3290 + "version": "3.0.0", 3291 + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", 3292 + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", 3293 + "dev": true, 3294 + "dependencies": { 3295 + "min-indent": "^1.0.0" 3296 + }, 3297 + "engines": { 3298 + "node": ">=8" 3299 + } 3300 + }, 3301 + "node_modules/strip-json-comments": { 3302 + "version": "3.1.1", 3303 + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 3304 + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 3305 + "dev": true, 3306 + "engines": { 3307 + "node": ">=8" 3308 + }, 3309 + "funding": { 3310 + "url": "https://github.com/sponsors/sindresorhus" 3311 + } 3312 + }, 3313 + "node_modules/sucrase": { 3314 + "version": "3.34.0", 3315 + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", 3316 + "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", 3317 + "dev": true, 3318 + "peer": true, 3319 + "dependencies": { 3320 + "@jridgewell/gen-mapping": "^0.3.2", 3321 + "commander": "^4.0.0", 3322 + "glob": "7.1.6", 3323 + "lines-and-columns": "^1.1.6", 3324 + "mz": "^2.7.0", 3325 + "pirates": "^4.0.1", 3326 + "ts-interface-checker": "^0.1.9" 3327 + }, 3328 + "bin": { 3329 + "sucrase": "bin/sucrase", 3330 + "sucrase-node": "bin/sucrase-node" 3331 + }, 3332 + "engines": { 3333 + "node": ">=8" 3334 + } 3335 + }, 3336 + "node_modules/sucrase/node_modules/glob": { 3337 + "version": "7.1.6", 3338 + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", 3339 + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", 3340 + "dev": true, 3341 + "peer": true, 3342 + "dependencies": { 3343 + "fs.realpath": "^1.0.0", 3344 + "inflight": "^1.0.4", 3345 + "inherits": "2", 3346 + "minimatch": "^3.0.4", 3347 + "once": "^1.3.0", 3348 + "path-is-absolute": "^1.0.0" 3349 + }, 3350 + "engines": { 3351 + "node": "*" 3352 + }, 3353 + "funding": { 3354 + "url": "https://github.com/sponsors/isaacs" 3355 + } 3356 + }, 3357 + "node_modules/supports-color": { 3358 + "version": "7.2.0", 3359 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 3360 + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 3361 + "dev": true, 3362 + "dependencies": { 3363 + "has-flag": "^4.0.0" 3364 + }, 3365 + "engines": { 3366 + "node": ">=8" 3367 + } 3368 + }, 3369 + "node_modules/supports-preserve-symlinks-flag": { 3370 + "version": "1.0.0", 3371 + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 3372 + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 3373 + "dev": true, 3374 + "peer": true, 3375 + "engines": { 3376 + "node": ">= 0.4" 3377 + }, 3378 + "funding": { 3379 + "url": "https://github.com/sponsors/ljharb" 3380 + } 3381 + }, 3382 + "node_modules/svelte": { 3383 + "version": "4.2.2", 3384 + "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.2.tgz", 3385 + "integrity": "sha512-My2tytF2e2NnHSpn2M7/3VdXT4JdTglYVUuSuK/mXL2XtulPYbeBfl8Dm1QiaKRn0zoULRnL+EtfZHHP0k4H3A==", 3386 + "dev": true, 3387 + "dependencies": { 3388 + "@ampproject/remapping": "^2.2.1", 3389 + "@jridgewell/sourcemap-codec": "^1.4.15", 3390 + "@jridgewell/trace-mapping": "^0.3.18", 3391 + "acorn": "^8.9.0", 3392 + "aria-query": "^5.3.0", 3393 + "axobject-query": "^3.2.1", 3394 + "code-red": "^1.0.3", 3395 + "css-tree": "^2.3.1", 3396 + "estree-walker": "^3.0.3", 3397 + "is-reference": "^3.0.1", 3398 + "locate-character": "^3.0.0", 3399 + "magic-string": "^0.30.4", 3400 + "periscopic": "^3.1.0" 3401 + }, 3402 + "engines": { 3403 + "node": ">=16" 3404 + } 3405 + }, 3406 + "node_modules/svelte-check": { 3407 + "version": "3.5.2", 3408 + "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.5.2.tgz", 3409 + "integrity": "sha512-5a/YWbiH4c+AqAUP+0VneiV5bP8YOk9JL3jwvN+k2PEPLgpu85bjQc5eE67+eIZBBwUEJzmO3I92OqKcqbp3fw==", 3410 + "dev": true, 3411 + "dependencies": { 3412 + "@jridgewell/trace-mapping": "^0.3.17", 3413 + "chokidar": "^3.4.1", 3414 + "fast-glob": "^3.2.7", 3415 + "import-fresh": "^3.2.1", 3416 + "picocolors": "^1.0.0", 3417 + "sade": "^1.7.4", 3418 + "svelte-preprocess": "^5.0.4", 3419 + "typescript": "^5.0.3" 3420 + }, 3421 + "bin": { 3422 + "svelte-check": "bin/svelte-check" 3423 + }, 3424 + "peerDependencies": { 3425 + "svelte": "^3.55.0 || ^4.0.0-next.0 || ^4.0.0" 3426 + } 3427 + }, 3428 + "node_modules/svelte-eslint-parser": { 3429 + "version": "0.33.1", 3430 + "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-0.33.1.tgz", 3431 + "integrity": "sha512-vo7xPGTlKBGdLH8T5L64FipvTrqv3OQRx9d2z5X05KKZDlF4rQk8KViZO4flKERY+5BiVdOh7zZ7JGJWo5P0uA==", 3432 + "dev": true, 3433 + "dependencies": { 3434 + "eslint-scope": "^7.0.0", 3435 + "eslint-visitor-keys": "^3.0.0", 3436 + "espree": "^9.0.0", 3437 + "postcss": "^8.4.29", 3438 + "postcss-scss": "^4.0.8" 3439 + }, 3440 + "engines": { 3441 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 3442 + }, 3443 + "funding": { 3444 + "url": "https://github.com/sponsors/ota-meshi" 3445 + }, 3446 + "peerDependencies": { 3447 + "svelte": "^3.37.0 || ^4.0.0" 3448 + }, 3449 + "peerDependenciesMeta": { 3450 + "svelte": { 3451 + "optional": true 3452 + } 3453 + } 3454 + }, 3455 + "node_modules/svelte-hmr": { 3456 + "version": "0.15.3", 3457 + "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.15.3.tgz", 3458 + "integrity": "sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==", 3459 + "dev": true, 3460 + "engines": { 3461 + "node": "^12.20 || ^14.13.1 || >= 16" 3462 + }, 3463 + "peerDependencies": { 3464 + "svelte": "^3.19.0 || ^4.0.0" 3465 + } 3466 + }, 3467 + "node_modules/svelte-preprocess": { 3468 + "version": "5.0.4", 3469 + "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-5.0.4.tgz", 3470 + "integrity": "sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==", 3471 + "dev": true, 3472 + "hasInstallScript": true, 3473 + "dependencies": { 3474 + "@types/pug": "^2.0.6", 3475 + "detect-indent": "^6.1.0", 3476 + "magic-string": "^0.27.0", 3477 + "sorcery": "^0.11.0", 3478 + "strip-indent": "^3.0.0" 3479 + }, 3480 + "engines": { 3481 + "node": ">= 14.10.0" 3482 + }, 3483 + "peerDependencies": { 3484 + "@babel/core": "^7.10.2", 3485 + "coffeescript": "^2.5.1", 3486 + "less": "^3.11.3 || ^4.0.0", 3487 + "postcss": "^7 || ^8", 3488 + "postcss-load-config": "^2.1.0 || ^3.0.0 || ^4.0.0", 3489 + "pug": "^3.0.0", 3490 + "sass": "^1.26.8", 3491 + "stylus": "^0.55.0", 3492 + "sugarss": "^2.0.0 || ^3.0.0 || ^4.0.0", 3493 + "svelte": "^3.23.0 || ^4.0.0-next.0 || ^4.0.0", 3494 + "typescript": ">=3.9.5 || ^4.0.0 || ^5.0.0" 3495 + }, 3496 + "peerDependenciesMeta": { 3497 + "@babel/core": { 3498 + "optional": true 3499 + }, 3500 + "coffeescript": { 3501 + "optional": true 3502 + }, 3503 + "less": { 3504 + "optional": true 3505 + }, 3506 + "postcss": { 3507 + "optional": true 3508 + }, 3509 + "postcss-load-config": { 3510 + "optional": true 3511 + }, 3512 + "pug": { 3513 + "optional": true 3514 + }, 3515 + "sass": { 3516 + "optional": true 3517 + }, 3518 + "stylus": { 3519 + "optional": true 3520 + }, 3521 + "sugarss": { 3522 + "optional": true 3523 + }, 3524 + "typescript": { 3525 + "optional": true 3526 + } 3527 + } 3528 + }, 3529 + "node_modules/svelte-preprocess/node_modules/magic-string": { 3530 + "version": "0.27.0", 3531 + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", 3532 + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", 3533 + "dev": true, 3534 + "dependencies": { 3535 + "@jridgewell/sourcemap-codec": "^1.4.13" 3536 + }, 3537 + "engines": { 3538 + "node": ">=12" 3539 + } 3540 + }, 3541 + "node_modules/tailwindcss": { 3542 + "version": "3.3.5", 3543 + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.5.tgz", 3544 + "integrity": "sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==", 3545 + "dev": true, 3546 + "peer": true, 3547 + "dependencies": { 3548 + "@alloc/quick-lru": "^5.2.0", 3549 + "arg": "^5.0.2", 3550 + "chokidar": "^3.5.3", 3551 + "didyoumean": "^1.2.2", 3552 + "dlv": "^1.1.3", 3553 + "fast-glob": "^3.3.0", 3554 + "glob-parent": "^6.0.2", 3555 + "is-glob": "^4.0.3", 3556 + "jiti": "^1.19.1", 3557 + "lilconfig": "^2.1.0", 3558 + "micromatch": "^4.0.5", 3559 + "normalize-path": "^3.0.0", 3560 + "object-hash": "^3.0.0", 3561 + "picocolors": "^1.0.0", 3562 + "postcss": "^8.4.23", 3563 + "postcss-import": "^15.1.0", 3564 + "postcss-js": "^4.0.1", 3565 + "postcss-load-config": "^4.0.1", 3566 + "postcss-nested": "^6.0.1", 3567 + "postcss-selector-parser": "^6.0.11", 3568 + "resolve": "^1.22.2", 3569 + "sucrase": "^3.32.0" 3570 + }, 3571 + "bin": { 3572 + "tailwind": "lib/cli.js", 3573 + "tailwindcss": "lib/cli.js" 3574 + }, 3575 + "engines": { 3576 + "node": ">=14.0.0" 3577 + } 3578 + }, 3579 + "node_modules/tailwindcss/node_modules/postcss-load-config": { 3580 + "version": "4.0.1", 3581 + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", 3582 + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", 3583 + "dev": true, 3584 + "peer": true, 3585 + "dependencies": { 3586 + "lilconfig": "^2.0.5", 3587 + "yaml": "^2.1.1" 3588 + }, 3589 + "engines": { 3590 + "node": ">= 14" 3591 + }, 3592 + "funding": { 3593 + "type": "opencollective", 3594 + "url": "https://opencollective.com/postcss/" 3595 + }, 3596 + "peerDependencies": { 3597 + "postcss": ">=8.0.9", 3598 + "ts-node": ">=9.0.0" 3599 + }, 3600 + "peerDependenciesMeta": { 3601 + "postcss": { 3602 + "optional": true 3603 + }, 3604 + "ts-node": { 3605 + "optional": true 3606 + } 3607 + } 3608 + }, 3609 + "node_modules/tailwindcss/node_modules/yaml": { 3610 + "version": "2.3.4", 3611 + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", 3612 + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", 3613 + "dev": true, 3614 + "peer": true, 3615 + "engines": { 3616 + "node": ">= 14" 3617 + } 3618 + }, 3619 + "node_modules/text-table": { 3620 + "version": "0.2.0", 3621 + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 3622 + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", 3623 + "dev": true 3624 + }, 3625 + "node_modules/thenify": { 3626 + "version": "3.3.1", 3627 + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", 3628 + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", 3629 + "dev": true, 3630 + "peer": true, 3631 + "dependencies": { 3632 + "any-promise": "^1.0.0" 3633 + } 3634 + }, 3635 + "node_modules/thenify-all": { 3636 + "version": "1.6.0", 3637 + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", 3638 + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", 3639 + "dev": true, 3640 + "peer": true, 3641 + "dependencies": { 3642 + "thenify": ">= 3.1.0 < 4" 3643 + }, 3644 + "engines": { 3645 + "node": ">=0.8" 3646 + } 3647 + }, 3648 + "node_modules/tiny-glob": { 3649 + "version": "0.2.9", 3650 + "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", 3651 + "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", 3652 + "dev": true, 3653 + "dependencies": { 3654 + "globalyzer": "0.1.0", 3655 + "globrex": "^0.1.2" 3656 + } 3657 + }, 3658 + "node_modules/to-regex-range": { 3659 + "version": "5.0.1", 3660 + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 3661 + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 3662 + "dev": true, 3663 + "dependencies": { 3664 + "is-number": "^7.0.0" 3665 + }, 3666 + "engines": { 3667 + "node": ">=8.0" 3668 + } 3669 + }, 3670 + "node_modules/totalist": { 3671 + "version": "3.0.1", 3672 + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", 3673 + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", 3674 + "dev": true, 3675 + "engines": { 3676 + "node": ">=6" 3677 + } 3678 + }, 3679 + "node_modules/ts-api-utils": { 3680 + "version": "1.0.3", 3681 + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", 3682 + "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", 3683 + "dev": true, 3684 + "engines": { 3685 + "node": ">=16.13.0" 3686 + }, 3687 + "peerDependencies": { 3688 + "typescript": ">=4.2.0" 3689 + } 3690 + }, 3691 + "node_modules/ts-interface-checker": { 3692 + "version": "0.1.13", 3693 + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", 3694 + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", 3695 + "dev": true, 3696 + "peer": true 3697 + }, 3698 + "node_modules/tslib": { 3699 + "version": "2.6.2", 3700 + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", 3701 + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", 3702 + "dev": true 3703 + }, 3704 + "node_modules/type-check": { 3705 + "version": "0.4.0", 3706 + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 3707 + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 3708 + "dev": true, 3709 + "dependencies": { 3710 + "prelude-ls": "^1.2.1" 3711 + }, 3712 + "engines": { 3713 + "node": ">= 0.8.0" 3714 + } 3715 + }, 3716 + "node_modules/type-fest": { 3717 + "version": "0.20.2", 3718 + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", 3719 + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", 3720 + "dev": true, 3721 + "engines": { 3722 + "node": ">=10" 3723 + }, 3724 + "funding": { 3725 + "url": "https://github.com/sponsors/sindresorhus" 3726 + } 3727 + }, 3728 + "node_modules/typescript": { 3729 + "version": "5.2.2", 3730 + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", 3731 + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", 3732 + "dev": true, 3733 + "bin": { 3734 + "tsc": "bin/tsc", 3735 + "tsserver": "bin/tsserver" 3736 + }, 3737 + "engines": { 3738 + "node": ">=14.17" 3739 + } 3740 + }, 3741 + "node_modules/undici": { 3742 + "version": "5.26.5", 3743 + "resolved": "https://registry.npmjs.org/undici/-/undici-5.26.5.tgz", 3744 + "integrity": "sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==", 3745 + "dev": true, 3746 + "dependencies": { 3747 + "@fastify/busboy": "^2.0.0" 3748 + }, 3749 + "engines": { 3750 + "node": ">=14.0" 3751 + } 3752 + }, 3753 + "node_modules/unist-util-stringify-position": { 3754 + "version": "2.0.3", 3755 + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", 3756 + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", 3757 + "dev": true, 3758 + "dependencies": { 3759 + "@types/unist": "^2.0.2" 3760 + }, 3761 + "funding": { 3762 + "type": "opencollective", 3763 + "url": "https://opencollective.com/unified" 3764 + } 3765 + }, 3766 + "node_modules/universal-user-agent": { 3767 + "version": "6.0.1", 3768 + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", 3769 + "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==", 3770 + "dev": true, 3771 + "peer": true 3772 + }, 3773 + "node_modules/update-browserslist-db": { 3774 + "version": "1.0.13", 3775 + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", 3776 + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", 3777 + "dev": true, 3778 + "funding": [ 3779 + { 3780 + "type": "opencollective", 3781 + "url": "https://opencollective.com/browserslist" 3782 + }, 3783 + { 3784 + "type": "tidelift", 3785 + "url": "https://tidelift.com/funding/github/npm/browserslist" 3786 + }, 3787 + { 3788 + "type": "github", 3789 + "url": "https://github.com/sponsors/ai" 3790 + } 3791 + ], 3792 + "dependencies": { 3793 + "escalade": "^3.1.1", 3794 + "picocolors": "^1.0.0" 3795 + }, 3796 + "bin": { 3797 + "update-browserslist-db": "cli.js" 3798 + }, 3799 + "peerDependencies": { 3800 + "browserslist": ">= 4.21.0" 3801 + } 3802 + }, 3803 + "node_modules/uri-js": { 3804 + "version": "4.4.1", 3805 + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 3806 + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 3807 + "dev": true, 3808 + "dependencies": { 3809 + "punycode": "^2.1.0" 3810 + } 3811 + }, 3812 + "node_modules/util-deprecate": { 3813 + "version": "1.0.2", 3814 + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 3815 + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 3816 + "dev": true 3817 + }, 3818 + "node_modules/vfile-message": { 3819 + "version": "2.0.4", 3820 + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", 3821 + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", 3822 + "dev": true, 3823 + "dependencies": { 3824 + "@types/unist": "^2.0.0", 3825 + "unist-util-stringify-position": "^2.0.0" 3826 + }, 3827 + "funding": { 3828 + "type": "opencollective", 3829 + "url": "https://opencollective.com/unified" 3830 + } 3831 + }, 3832 + "node_modules/vite": { 3833 + "version": "4.5.0", 3834 + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz", 3835 + "integrity": "sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==", 3836 + "dev": true, 3837 + "dependencies": { 3838 + "esbuild": "^0.18.10", 3839 + "postcss": "^8.4.27", 3840 + "rollup": "^3.27.1" 3841 + }, 3842 + "bin": { 3843 + "vite": "bin/vite.js" 3844 + }, 3845 + "engines": { 3846 + "node": "^14.18.0 || >=16.0.0" 3847 + }, 3848 + "funding": { 3849 + "url": "https://github.com/vitejs/vite?sponsor=1" 3850 + }, 3851 + "optionalDependencies": { 3852 + "fsevents": "~2.3.2" 3853 + }, 3854 + "peerDependencies": { 3855 + "@types/node": ">= 14", 3856 + "less": "*", 3857 + "lightningcss": "^1.21.0", 3858 + "sass": "*", 3859 + "stylus": "*", 3860 + "sugarss": "*", 3861 + "terser": "^5.4.0" 3862 + }, 3863 + "peerDependenciesMeta": { 3864 + "@types/node": { 3865 + "optional": true 3866 + }, 3867 + "less": { 3868 + "optional": true 3869 + }, 3870 + "lightningcss": { 3871 + "optional": true 3872 + }, 3873 + "sass": { 3874 + "optional": true 3875 + }, 3876 + "stylus": { 3877 + "optional": true 3878 + }, 3879 + "sugarss": { 3880 + "optional": true 3881 + }, 3882 + "terser": { 3883 + "optional": true 3884 + } 3885 + } 3886 + }, 3887 + "node_modules/vitefu": { 3888 + "version": "0.2.5", 3889 + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz", 3890 + "integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==", 3891 + "dev": true, 3892 + "peerDependencies": { 3893 + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" 3894 + }, 3895 + "peerDependenciesMeta": { 3896 + "vite": { 3897 + "optional": true 3898 + } 3899 + } 3900 + }, 3901 + "node_modules/which": { 3902 + "version": "2.0.2", 3903 + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 3904 + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 3905 + "dev": true, 3906 + "dependencies": { 3907 + "isexe": "^2.0.0" 3908 + }, 3909 + "bin": { 3910 + "node-which": "bin/node-which" 3911 + }, 3912 + "engines": { 3913 + "node": ">= 8" 3914 + } 3915 + }, 3916 + "node_modules/wrappy": { 3917 + "version": "1.0.2", 3918 + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 3919 + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 3920 + "dev": true 3921 + }, 3922 + "node_modules/yallist": { 3923 + "version": "4.0.0", 3924 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 3925 + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 3926 + "dev": true 3927 + }, 3928 + "node_modules/yaml": { 3929 + "version": "1.10.2", 3930 + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 3931 + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", 3932 + "dev": true, 3933 + "engines": { 3934 + "node": ">= 6" 3935 + } 3936 + }, 3937 + "node_modules/yocto-queue": { 3938 + "version": "0.1.0", 3939 + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", 3940 + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", 3941 + "dev": true, 3942 + "engines": { 3943 + "node": ">=10" 3944 + }, 3945 + "funding": { 3946 + "url": "https://github.com/sponsors/sindresorhus" 3947 + } 3948 + } 3949 + } 3950 + }
+43
website/package.json
··· 1 + { 2 + "private": true, 3 + "type": "module", 4 + "scripts": { 5 + "dev": "vite dev", 6 + "build": "vite build", 7 + "preview": "vite preview", 8 + "lint": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json && eslint src && prettier --check src", 9 + "format": "eslint --fix src && prettier --write src" 10 + }, 11 + "devDependencies": { 12 + "@octokit/plugin-rest-endpoint-methods": "^10.1.2", 13 + "@sveltejs/adapter-auto": "^2.0.0", 14 + "@sveltejs/kit": "^1.27.3", 15 + "@tailwindcss/forms": "^0.5.6", 16 + "@typescript-eslint/eslint-plugin": "^6.0.0", 17 + "@typescript-eslint/parser": "^6.0.0", 18 + "autoprefixer": "^10.4.16", 19 + "bowser": "^2.11.0", 20 + "eslint": "^8.28.0", 21 + "eslint-config-prettier": "^8.5.0", 22 + "eslint-plugin-svelte": "^2.30.0", 23 + "mdsvex": "^0.11.0", 24 + "prettier": "^3.0.3", 25 + "prettier-plugin-svelte": "^2.10.1", 26 + "prettier-plugin-tailwindcss": "^0.5.6", 27 + "sass": "^1.69.5", 28 + "svelte": "^4.0.5", 29 + "svelte-check": "^3.4.3", 30 + "typescript": "^5.0.0", 31 + "vite": "^4.4.2" 32 + }, 33 + "prettier": { 34 + "useTabs": true, 35 + "printWidth": 100, 36 + "semi": false, 37 + "singleQuote": true, 38 + "plugins": [ 39 + "prettier-plugin-svelte", 40 + "prettier-plugin-tailwindcss" 41 + ] 42 + } 43 + }
+6
website/postcss.config.cjs
··· 1 + const tailwindcss = require('tailwindcss') 2 + const autoprefixer = require('autoprefixer') 3 + 4 + module.exports = { 5 + plugins: [tailwindcss(), autoprefixer], 6 + }
+4
website/src/app.css
··· 1 + /* Write your global styles here, in PostCSS syntax */ 2 + @tailwind base; 3 + @tailwind components; 4 + @tailwind utilities;
+12
website/src/app.d.ts
··· 1 + // See https://kit.svelte.dev/docs/types#app 2 + // for information about these interfaces 3 + declare global { 4 + namespace App { 5 + // interface Error {} 6 + // interface Locals {} 7 + // interface PageData {} 8 + // interface Platform {} 9 + } 10 + } 11 + 12 + export {}
+20
website/src/app.html
··· 1 + <!doctype html> 2 + <html lang="en"> 3 + <head> 4 + <meta charset="utf-8" /> 5 + <meta name="viewport" content="width=device-width, initial-scale=1" /> 6 + 7 + <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" /> 8 + <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" /> 9 + <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" /> 10 + <link rel="manifest" href="/site.webmanifest" /> 11 + <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#2055e5" /> 12 + <meta name="msapplication-TileColor" content="#061a3c" /> 13 + <meta name="theme-color" content="#ffffff" /> 14 + 15 + %sveltekit.head% 16 + </head> 17 + <body data-sveltekit-preload-data="hover"> 18 + <div style="display: contents">%sveltekit.body%</div> 19 + </body> 20 + </html>
+61
website/src/routes/+error.svelte
··· 1 + <script lang="ts"> 2 + import Revealed from './Revealed.svelte' 3 + import { page } from '$app/stores' 4 + </script> 5 + 6 + <svelte:head> 7 + <title>Changelog • Kadium</title> 8 + </svelte:head> 9 + 10 + <main class="relative mx-auto mb-24 max-w-3xl p-6"> 11 + <Revealed 12 + class="mb-4 mt-20 text-center transition-all ease-out" 13 + options={{ opacity: 0, scale: 0.9, duration: 1000 }} 14 + > 15 + <h1 class="text-7xl font-extrabold">{$page.status}</h1> 16 + </Revealed> 17 + <Revealed 18 + class="mb-12 text-center transition-all ease-out" 19 + options={{ opacity: 0, y: -10, duration: 750, delay: 500 }} 20 + > 21 + <p class="text-xl text-green-100 opacity-60 transition-all duration-500 ease-out"> 22 + {#if $page.status === 404} 23 + This page did not survive the nuclear fallout 24 + {:else} 25 + {$page.error?.message || 'Something went wrong'} 26 + {/if} 27 + </p> 28 + </Revealed> 29 + </main> 30 + 31 + <style lang="sass"> 32 + h1 33 + margin: auto 34 + font-size: 3rem 35 + font-weight: 800 36 + background: linear-gradient(130deg,#44bff8 10%,#3afd7b 90%) 37 + background-clip: text 38 + text-fill-color: transparent 39 + -webkit-text-fill-color: transparent 40 + position: relative 41 + 42 + h1::before 43 + content: '' 44 + pointer-events: none 45 + position: absolute 46 + inset: 0 47 + will-change: contents 48 + animation: show-gradient 1s ease-out forwards 49 + opacity: 0 50 + animation-delay: 300ms 51 + @keyframes show-gradient 52 + 0% 53 + opacity: 0 54 + 100% 55 + opacity: 0.7 56 + width: 100% 57 + height: 100% 58 + filter: blur(80px) 59 + transform: scale(1.2) 60 + background: conic-gradient(from 150deg at 50% 50%,#00ff4d 0deg,#19e7f5 90deg,#1fa2ff 180deg,#00ffee 270deg,#1fffbf 360deg) 61 + </style>
+94
website/src/routes/+layout.svelte
··· 1 + <script lang="ts"> 2 + import { page } from '$app/stores' 3 + import '../app.css' 4 + import Revealed from './Revealed.svelte' 5 + </script> 6 + 7 + <svelte:head> 8 + <title>Kadium</title> 9 + <meta name="description" content="An app for staying ontop of YouTube channels' uploads" /> 10 + 11 + <meta property="og:type" content="website" /> 12 + <meta property="og:url" content="https://kadium.kasper.space/" /> 13 + <meta property="og:title" content="Kadium" /> 14 + <meta property="og:description" content="An app for staying ontop of YouTube channels' uploads" /> 15 + <meta property="og:image" content="https://kadium.kasper.space/website-screenshot.jpg" /> 16 + 17 + <meta name="twitter:card" content="summary_large_image" /> 18 + <meta property="twitter:domain" content="kadium.kasper.space" /> 19 + <meta property="twitter:url" content="https://kadium.kasper.space/" /> 20 + <meta name="twitter:title" content="Kadium" /> 21 + <meta 22 + name="twitter:description" 23 + content="An app for staying ontop of YouTube channels' uploads" 24 + /> 25 + <meta name="twitter:image" content="https://kadium.kasper.space/website-screenshot.jpg" /> 26 + </svelte:head> 27 + 28 + <nav 29 + class="mx-auto flex max-w-5xl items-center px-3 py-4 text-base text-white text-opacity-60 sm:justify-between sm:px-6" 30 + > 31 + <Revealed 32 + class="ease-out-cubic sm:w-32" 33 + options={{ opacity: 0, x: -10, duration: 1000, delay: 300 }} 34 + > 35 + <a 36 + href="/" 37 + class="flex items-center text-lg font-medium text-white sm:p-1.5 sm:text-xl" 38 + style="-webkit-tap-highlight-color: hsla(0, 0%, 100%, 0.1);" 39 + > 40 + <img class="mr-2 h-8" src="/android-chrome-192x192.png" alt="" /> 41 + <span class="mr-1.5 max-[350px]:hidden">Kadium</span> 42 + </a> 43 + </Revealed> 44 + <Revealed 45 + class="ease-out-cubic mx-1.5" 46 + options={{ opacity: 0, y: -10, duration: 1000, delay: 500 }} 47 + > 48 + <a 49 + class="mx-1.5 py-2 text-sm transition-colors duration-150 hover:text-white sm:text-base" 50 + class:font-medium={$page.url.pathname === '/'} 51 + class:text-white={$page.url.pathname === '/'} 52 + href="/">Overview</a 53 + > 54 + <a 55 + class="mx-1.5 py-2 text-sm transition-colors duration-150 hover:text-white sm:text-base" 56 + class:font-medium={$page.url.pathname === '/changelog'} 57 + class:text-white={$page.url.pathname === '/changelog'} 58 + href="/changelog">Changelog</a 59 + > 60 + </Revealed> 61 + <Revealed 62 + class="ease-out-cubic ml-auto flex justify-end sm:ml-0 sm:w-32" 63 + options={{ opacity: 0, x: 10, duration: 1000, delay: 300 }} 64 + > 65 + <a 66 + class="icon github sm:p-1.5" 67 + href="https://github.com/probablykasper/kadium" 68 + aria-label="GitHub" 69 + style="-webkit-tap-highlight-color: hsla(0, 0%, 100%, 0.1);" 70 + ><svg height="24" width="24" viewBox="-2 -2 28 28" xmlns="http://www.w3.org/2000/svg" 71 + ><path 72 + d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22" 73 + fill="none" 74 + stroke="#ffffff" 75 + stroke-linecap="round" 76 + stroke-linejoin="round" 77 + stroke-width="2" 78 + /></svg 79 + ></a 80 + > 81 + </Revealed> 82 + </nav> 83 + 84 + <slot /> 85 + 86 + <style lang="sass"> 87 + :global(html) 88 + background-color: #000000 89 + -webkit-tap-highlight-color: transparent 90 + :global(body) 91 + font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji 92 + font-size: 18px 93 + color: #f2f2f2 94 + </style>
+1
website/src/routes/+layout.ts
··· 1 + export const prerender = true
+79
website/src/routes/+page.svelte
··· 1 + <script lang="ts"> 2 + import Revealed from './Revealed.svelte' 3 + import Download from './Download.svelte' 4 + </script> 5 + 6 + <svelte:head> 7 + <title>Kadium</title> 8 + </svelte:head> 9 + 10 + <Revealed 11 + class="ease-out-cubic mx-2 mb-4 mt-20 text-center transition-all" 12 + options={{ opacity: 0, scale: 0.9, duration: 750 }} 13 + > 14 + <h1 class="inline-block text-7xl font-extrabold">Kadium</h1> 15 + </Revealed> 16 + <Revealed 17 + class="ease-out-cubic mx-2 mb-12 text-center transition-all" 18 + options={{ opacity: 0, y: -10, duration: 550, delay: 250 }} 19 + > 20 + <p class="ease-out-cubic text-xl text-blue-100 opacity-60 transition-all duration-500"> 21 + An app for staying ontop of YouTube channels' uploads 22 + </p> 23 + </Revealed> 24 + 25 + <Revealed 26 + class="ease-out-cubic mb-24 flex justify-center transition-all" 27 + options={{ opacity: 0, scale: 0.9, duration: 550, delay: 450 }} 28 + > 29 + <div> 30 + <Download /> 31 + </div> 32 + </Revealed> 33 + 34 + <Revealed 35 + class="relative mx-auto mb-24 max-w-5xl px-6 transition-[transform,opacity] will-change-contents sm:px-8" 36 + options={{ opacity: 0, y: 10, duration: 750, delay: 350 }} 37 + > 38 + <div class="gradient gradient-1 show-gradient absolute inset-0 -z-10 blur-[160px]" /> 39 + <div class="relative"> 40 + <div class="ripple absolute inset-0 -z-10 rounded-[5px]" /> 41 + <img src="/screenshot-1.webp" alt="" /> 42 + </div> 43 + </Revealed> 44 + <Revealed 45 + class="relative mx-auto mb-24 max-w-5xl px-6 transition-[transform,opacity] will-change-contents sm:px-8" 46 + options={{ opacity: 0, y: 10, duration: 750 }} 47 + > 48 + <div class="gradient gradient-2 absolute inset-0 -z-10 blur-[160px]" /> 49 + <div class="relative"> 50 + <div class="ripple absolute inset-0 -z-10 rounded-[5px]" /> 51 + <img src="/screenshot-2.webp" alt="" /> 52 + </div> 53 + </Revealed> 54 + 55 + <style lang="sass"> 56 + h1 57 + background: linear-gradient(130deg,#09cff6 10%,#3159f6 90%) 58 + background-clip: text 59 + text-fill-color: transparent 60 + -webkit-text-fill-color: transparent 61 + .gradient 62 + will-change: contents 63 + &.gradient-1 64 + background: conic-gradient(from 230.29deg at 50% 50%,#2400ff 0deg,#199af5 90deg,#691eff 180deg,#00d4ff 270deg,#1fff8b 360deg) 65 + &.gradient-2 66 + background: conic-gradient(from 230.29deg at 50% 50%,#311bf3 0deg,#f5198f 90deg,#691eff 180deg,#2400ff 270deg,#199af5 360deg) 67 + .show-gradient 68 + animation: show-gradient 3s ease-in-out forwards 69 + opacity: 0 70 + @keyframes show-gradient 71 + 0% 72 + opacity: 0 73 + 50% 74 + opacity: 0.9 75 + 100% 76 + opacity: 0.7 77 + .ripple 78 + box-shadow: 0px 0px 0px 1px hsla(0, 0%, 100%, 0.1), 0px 0px 0px 4px hsla(0, 0%, 100%, 0.15) 79 + </style>
+33
website/src/routes/ButtonPopup.svelte
··· 1 + <script lang="ts"> 2 + export let isOpen = false 3 + 4 + function toggle() { 5 + isOpen = !isOpen 6 + } 7 + function close() { 8 + isOpen = false 9 + } 10 + 11 + let parent: HTMLDivElement 12 + function focusout(e: FocusEvent) { 13 + if (parent.contains(document.activeElement)) { 14 + return 15 + } else if (e.relatedTarget === null) { 16 + isOpen = false 17 + } else if (e.relatedTarget instanceof HTMLElement) { 18 + const stayingInParent = parent.contains(e.relatedTarget) 19 + if (!stayingInParent && !e.relatedTarget.isSameNode(parent)) { 20 + isOpen = false 21 + } 22 + } 23 + } 24 + </script> 25 + 26 + <div class="relative" bind:this={parent} on:focusout={focusout} tabindex="-1"> 27 + <slot {toggle} {isOpen} {close} /> 28 + {#if isOpen} 29 + <div class="absolute z-10 w-full divide-y divide-gray-100 text-sm text-gray-700 shadow"> 30 + <slot name="popup" /> 31 + </div> 32 + {/if} 33 + </div>
+178
website/src/routes/Download.svelte
··· 1 + <script lang="ts"> 2 + import { fly, scale } from 'svelte/transition' 3 + import ButtonPopup from './ButtonPopup.svelte' 4 + import Bowser from 'bowser' 5 + import { onMount } from 'svelte' 6 + import type { RestEndpointMethodTypes } from '@octokit/plugin-rest-endpoint-methods' 7 + 8 + type Version = { 9 + os: string 10 + arch: string 11 + ending: string 12 + } 13 + const macOS: Version = { 14 + os: 'macOS', 15 + arch: 'x64', 16 + ending: '.dmg', 17 + } 18 + const windows: Version = { 19 + os: 'Windows', 20 + arch: 'x64', 21 + ending: '.msi', 22 + } 23 + const linuxDeb: Version = { 24 + os: 'Linux .deb', 25 + arch: 'x64', 26 + ending: '.deb', 27 + } 28 + const linuxAppImage: Version = { 29 + os: 'Linux AppImage', 30 + arch: 'x64', 31 + ending: '.appimage', 32 + } 33 + const versionList: Version[] = [macOS, windows, linuxDeb, linuxAppImage] 34 + let suggestedVersion = windows 35 + onMount(() => { 36 + const browser = Bowser.getParser(window.navigator.userAgent) 37 + const osName = browser.getOSName() 38 + if (osName === 'macOS' || osName === 'iOS') { 39 + suggestedVersion = macOS 40 + } else if (osName === 'Windows') { 41 + suggestedVersion = windows 42 + } else if (osName === 'Linux' || osName === 'Chrome OS') { 43 + suggestedVersion = linuxDeb 44 + } 45 + }) 46 + 47 + let downloadError = '' 48 + let loading = false 49 + type LatestRelease = RestEndpointMethodTypes['repos']['getLatestRelease']['response']['data'] 50 + 51 + function getAsset(assets: LatestRelease['assets'], version: Version) { 52 + for (const asset of assets) { 53 + if (asset.name.toLowerCase().endsWith(version.ending)) { 54 + return asset 55 + } 56 + } 57 + return null 58 + } 59 + async function innerDownload(version: Version) { 60 + downloadError = '' 61 + try { 62 + const response = await fetch( 63 + `https://api.github.com/repos/probablykasper/kadium/releases/latest`, 64 + ) 65 + console.log(response) 66 + 67 + const json: LatestRelease = await response.json() 68 + console.log(json) 69 + 70 + if (response.status !== 200) { 71 + downloadError = 'Could not download' 72 + console.error('Error response from GitHub', json) 73 + return 74 + } 75 + 76 + const asset = getAsset(json.assets, version) 77 + if (asset === null) { 78 + downloadError = 'No file found' 79 + console.error('No file found') 80 + return 81 + } 82 + console.log(asset) 83 + location.href = asset.browser_download_url 84 + } catch (error) { 85 + downloadError = 'Network error' 86 + console.error(error) 87 + } 88 + } 89 + async function download(version: Version) { 90 + loading = true 91 + await innerDownload(version) 92 + loading = false 93 + } 94 + </script> 95 + 96 + <div class="mb-2 h-6"> 97 + {#if downloadError} 98 + <div 99 + class="error block text-center text-sm font-semibold text-red-500" 100 + transition:fly={{ y: 3, duration: 200 }} 101 + > 102 + {downloadError} 103 + </div> 104 + {/if} 105 + </div> 106 + 107 + <ButtonPopup let:toggle let:isOpen let:close> 108 + <div 109 + class="relative mx-auto flex h-9 cursor-default items-center border border-white border-opacity-10 bg-white bg-opacity-5 text-base font-medium transition-all duration-300 ease-in-out hover:border-opacity-20" 110 + class:rounded-2xl={!isOpen} 111 + class:rounded-lg={isOpen} 112 + class:pointer-events-none={loading} 113 + class:opacity-75={loading} 114 + > 115 + <button 116 + class="group relative flex h-full items-center pl-5 pr-4 text-white text-opacity-70 outline-none transition-all duration-300 hover:text-opacity-100" 117 + on:click={() => download(suggestedVersion)} 118 + class:opacity-50={loading} 119 + > 120 + <div 121 + class="ease-out-cubic opacity-0 transition-all duration-700 group-hover:opacity-40 group-focus:opacity-40" 122 + > 123 + <div 124 + class="gradient gradient-3 scale-80 ease-out-cubic absolute inset-0 -z-10 transition-all duration-700 group-hover:scale-100 group-hover:blur-md group-focus:scale-100 group-focus:blur-md" 125 + /> 126 + </div> 127 + Download for {suggestedVersion.os} 128 + </button> 129 + <div class="h-5 border-l border-white border-opacity-30" /> 130 + <button 131 + class="group relative h-full pl-4 pr-5 text-white text-opacity-70 outline-none transition-all duration-300 hover:text-opacity-100" 132 + on:click={toggle} 133 + aria-label="Download for other platforms" 134 + > 135 + <div 136 + class="ease-out-cubic opacity-0 transition-all duration-700 group-hover:opacity-40 group-focus:opacity-40" 137 + > 138 + <div 139 + class="gradient gradient-3 scale-80 ease-out-cubic absolute inset-0 -z-10 transition-all duration-700 group-hover:scale-100 group-hover:blur-md group-focus:scale-100 group-focus:blur-md" 140 + /> 141 + </div> 142 + <svg 143 + fill="currentColor" 144 + xmlns="http://www.w3.org/2000/svg" 145 + width="12" 146 + height="12" 147 + viewBox="0 0 24 24" 148 + ><path d="M0 7.33l2.829-2.83 9.175 9.339 9.167-9.339 2.829 2.83-11.996 12.17z" /></svg 149 + > 150 + </button> 151 + </div> 152 + <div 153 + slot="popup" 154 + class="mt-0.5 w-full divide-y divide-white divide-opacity-10 rounded-xl border border-white border-opacity-20 bg-white bg-opacity-5 text-white backdrop-blur-md will-change-contents" 155 + transition:scale={{ start: 0.9, opacity: 0, duration: 300 }} 156 + > 157 + {#each versionList as version} 158 + <button 159 + class="h-9 w-full bg-white bg-opacity-0 px-5 text-left outline-none hover:bg-opacity-5 focus:bg-opacity-5" 160 + on:click={() => { 161 + close() 162 + download(version) 163 + }} 164 + > 165 + {version.os} <span class="opacity-70">{version.arch}</span> 166 + </button> 167 + {/each} 168 + </div> 169 + </ButtonPopup> 170 + 171 + <style lang="sass"> 172 + .gradient 173 + will-change: contents 174 + .gradient-3 175 + background: linear-gradient(130deg,#09cff6 10%,#3159f6 90%) 176 + .error 177 + text-shadow: 0px 0px 7px hsl(0deg 100% 50% / 60%) 178 + </style>
+67
website/src/routes/Revealed.svelte
··· 1 + <script lang="ts"> 2 + import { onMount, tick } from 'svelte' 3 + 4 + export let loaded = false 5 + 6 + type Options = { 7 + repeat?: boolean 8 + duration?: number 9 + delay?: number 10 + threshold?: number 11 + opacity?: number 12 + x?: number 13 + y?: number 14 + scale?: number 15 + } 16 + export let options: Options = {} 17 + $: baseStyle = options.duration == null ? '' : `transition-duration: ${options.duration}ms;` 18 + $: baseStyle += options.delay == null ? '' : `transition-delay: ${options.delay}ms;` 19 + 20 + $: style = baseStyle || null 21 + $: if (loaded) { 22 + style = baseStyle || null 23 + } else { 24 + if (options.opacity != null) { 25 + style += `opacity: ${options.opacity};` 26 + } 27 + 28 + let transform = '' 29 + if (options.x) transform += `translateX(${options.x}px)` 30 + if (options.y) transform += `translateY(${options.y}px)` 31 + if (options.scale) transform += `scale(${options.scale})` 32 + if (transform !== '') { 33 + style += `transform: ${transform};` 34 + } 35 + } 36 + 37 + let classes = '' 38 + export { classes as class } 39 + 40 + $: currentClass = classes + (loaded === true ? '' : ' ') 41 + 42 + let observer: IntersectionObserver | undefined 43 + let element: HTMLElement 44 + 45 + onMount(() => { 46 + tick().then(() => { 47 + if (typeof IntersectionObserver === 'undefined') { 48 + return 49 + } 50 + observer = new IntersectionObserver((entries) => { 51 + entries.forEach((entry) => { 52 + if (entry.isIntersecting) { 53 + loaded = true 54 + } else if (options.repeat) { 55 + loaded = false 56 + } 57 + }) 58 + }, {}) 59 + observer.observe(element) 60 + }) 61 + return () => observer?.unobserve(element) 62 + }) 63 + </script> 64 + 65 + <div bind:this={element} class={currentClass} style={style === null ? '' : style}> 66 + <slot {loaded} /> 67 + </div>
+61
website/src/routes/changelog/+page.svelte
··· 1 + <script lang="ts"> 2 + // @ts-ignore 3 + import Changelog from '../../../../CHANGELOG.md' 4 + import Revealed from '../Revealed.svelte' 5 + </script> 6 + 7 + <svelte:head> 8 + <title>Changelog • Kadium</title> 9 + </svelte:head> 10 + 11 + <div class="changelog mx-auto mb-24 max-w-3xl p-6"> 12 + <Revealed options={{ duration: 1000, opacity: 0 }}> 13 + <Changelog /> 14 + </Revealed> 15 + </div> 16 + 17 + <style lang="sass"> 18 + .changelog 19 + :global(h1) 20 + text-align: center 21 + margin: auto 22 + margin-top: 2rem 23 + margin-bottom: 4rem 24 + font-size: 3rem 25 + font-weight: 800 26 + background: linear-gradient(130deg,#f844cb 10%,#fd713a 90%) 27 + background-clip: text 28 + text-fill-color: transparent 29 + -webkit-text-fill-color: transparent 30 + position: relative 31 + 32 + &::before 33 + content: '' 34 + pointer-events: none 35 + position: absolute 36 + inset: 0 37 + will-change: contents 38 + animation: show-gradient 1s ease-out forwards 39 + opacity: 0 40 + animation-delay: 200ms 41 + @keyframes show-gradient 42 + 0% 43 + opacity: 0 44 + 100% 45 + opacity: 0.7 46 + width: 100% 47 + height: 100% 48 + filter: blur(80px) 49 + transform: scale(1.2) 50 + background: conic-gradient(from 150deg at 50% 50%,#d000ff 0deg,#f51971 90deg,#ff781f 180deg,#ff0059 270deg,#6d1fff 360deg) 51 + :global(h2) 52 + font-size: 1.5rem 53 + font-weight: 500 54 + margin-top: 3rem 55 + margin-bottom: 1rem 56 + :global(li) 57 + font-size: 1rem 58 + line-height: 2 59 + list-style-type: disc 60 + margin-left: 2rem 61 + </style>
+26
website/svelte.config.js
··· 1 + import adapter from '@sveltejs/adapter-auto' 2 + import { vitePreprocess } from '@sveltejs/kit/vite' 3 + import { mdsvex, defineMDSveXConfig } from 'mdsvex' 4 + 5 + const mdsvexConfig = defineMDSveXConfig({ 6 + extensions: ['.svelte.md', '.md', '.svx'], 7 + 8 + smartypants: { 9 + dashes: 'oldschool', 10 + }, 11 + 12 + remarkPlugins: [], 13 + rehypePlugins: [], 14 + }) 15 + 16 + /** @type {import('@sveltejs/kit').Config} */ 17 + const config = { 18 + extensions: ['.svelte', ...mdsvexConfig.extensions], 19 + preprocess: [vitePreprocess(), mdsvex(mdsvexConfig)], 20 + 21 + kit: { 22 + adapter: adapter(), 23 + }, 24 + } 25 + 26 + export default config
+13
website/tailwind.config.cjs
··· 1 + module.exports = { 2 + content: ['./src/**/*.{html,js,svelte,ts}'], 3 + 4 + theme: { 5 + extend: { 6 + transitionTimingFunction: { 7 + 'out-cubic': 'cubic-bezier(0.33, 1, 0.68, 1)', 8 + }, 9 + }, 10 + }, 11 + 12 + plugins: [require('@tailwindcss/forms')], 13 + }
+17
website/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 + } 13 + // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias 14 + // 15 + // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes 16 + // from the referenced tsconfig.json - TypeScript does not merge them in 17 + }
+6
website/vite.config.ts
··· 1 + import { sveltekit } from '@sveltejs/kit/vite'; 2 + import { defineConfig } from 'vite'; 3 + 4 + export default defineConfig({ 5 + plugins: [sveltekit()] 6 + });