From 96494a99977585df6452cc6c4cefeb6a3f5f4f07 Mon Sep 17 00:00:00 2001 From: Naomi Carrigan Date: Wed, 21 Jan 2026 17:49:25 -0800 Subject: [PATCH] feat: prep the scaffolding --- .cargo/config.toml | 4 + .gitignore | 24 + .vscode/extensions.json | 3 + README.md | 16 +- build-all.sh | 89 + eslint.config.js | 3 + index.html | 14 + package.json | 33 + pnpm-lock.yaml | 3590 +++++++++++++++++ public/tauri.svg | 6 + public/vite.svg | 1 + src-tauri/.gitignore | 7 + src-tauri/Cargo.lock | 5198 +++++++++++++++++++++++++ src-tauri/Cargo.toml | 34 + src-tauri/build.rs | 3 + src-tauri/capabilities/default.json | 10 + src-tauri/icons/128x128.png | Bin 0 -> 3512 bytes src-tauri/icons/128x128@2x.png | Bin 0 -> 7012 bytes src-tauri/icons/32x32.png | Bin 0 -> 974 bytes src-tauri/icons/Square107x107Logo.png | Bin 0 -> 2863 bytes src-tauri/icons/Square142x142Logo.png | Bin 0 -> 3858 bytes src-tauri/icons/Square150x150Logo.png | Bin 0 -> 3966 bytes src-tauri/icons/Square284x284Logo.png | Bin 0 -> 7737 bytes src-tauri/icons/Square30x30Logo.png | Bin 0 -> 903 bytes src-tauri/icons/Square310x310Logo.png | Bin 0 -> 8591 bytes src-tauri/icons/Square44x44Logo.png | Bin 0 -> 1299 bytes src-tauri/icons/Square71x71Logo.png | Bin 0 -> 2011 bytes src-tauri/icons/Square89x89Logo.png | Bin 0 -> 2468 bytes src-tauri/icons/StoreLogo.png | Bin 0 -> 1523 bytes src-tauri/icons/icon.icns | Bin 0 -> 98446 bytes src-tauri/icons/icon.ico | Bin 0 -> 86641 bytes src-tauri/icons/icon.png | Bin 0 -> 14183 bytes src-tauri/src/lib.rs | 14 + src-tauri/src/main.rs | 6 + src-tauri/tauri.conf.json | 54 + src/App.css | 116 + src/App.tsx | 51 + src/assets/react.svg | 1 + src/main.tsx | 9 + src/vite-env.d.ts | 1 + tsconfig.json | 13 + tsconfig.node.json | 10 + vite.config.ts | 32 + 43 files changed, 9329 insertions(+), 13 deletions(-) create mode 100644 .cargo/config.toml create mode 100644 .gitignore create mode 100644 .vscode/extensions.json create mode 100755 build-all.sh create mode 100644 eslint.config.js create mode 100644 index.html create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 public/tauri.svg create mode 100644 public/vite.svg create mode 100644 src-tauri/.gitignore create mode 100644 src-tauri/Cargo.lock create mode 100644 src-tauri/Cargo.toml create mode 100644 src-tauri/build.rs create mode 100644 src-tauri/capabilities/default.json create mode 100644 src-tauri/icons/128x128.png create mode 100644 src-tauri/icons/128x128@2x.png create mode 100644 src-tauri/icons/32x32.png create mode 100644 src-tauri/icons/Square107x107Logo.png create mode 100644 src-tauri/icons/Square142x142Logo.png create mode 100644 src-tauri/icons/Square150x150Logo.png create mode 100644 src-tauri/icons/Square284x284Logo.png create mode 100644 src-tauri/icons/Square30x30Logo.png create mode 100644 src-tauri/icons/Square310x310Logo.png create mode 100644 src-tauri/icons/Square44x44Logo.png create mode 100644 src-tauri/icons/Square71x71Logo.png create mode 100644 src-tauri/icons/Square89x89Logo.png create mode 100644 src-tauri/icons/StoreLogo.png create mode 100644 src-tauri/icons/icon.icns create mode 100644 src-tauri/icons/icon.ico create mode 100644 src-tauri/icons/icon.png create mode 100644 src-tauri/src/lib.rs create mode 100644 src-tauri/src/main.rs create mode 100644 src-tauri/tauri.conf.json create mode 100644 src/App.css create mode 100644 src/App.tsx create mode 100644 src/assets/react.svg create mode 100644 src/main.tsx create mode 100644 src/vite-env.d.ts create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 0000000..bffe8e8 --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,4 @@ +[target.x86_64-pc-windows-gnu] +linker = "x86_64-w64-mingw32-gcc" +ar = "x86_64-w64-mingw32-ar" +rustflags = ["-C", "link-arg=-lws2_32", "-C", "link-arg=-lbcrypt", "-C", "link-arg=-lole32", "-C", "link-arg=-luuid"] \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..24d7cc6 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["tauri-apps.tauri-vscode", "rust-lang.rust-analyzer"] +} diff --git a/README.md b/README.md index 47a840e..76f5916 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,6 @@ -# New Repository Template +# Chronara -This template contains all of our basic files for a new GitHub repository. There is also a handy workflow that will create an issue on a new repository made from this template, with a checklist for the steps we usually take in setting up a new repository. - -If you're starting a Node.JS project with TypeScript, we have a [specific template](https://github.com/naomi-lgbt/nodejs-typescript-template) for that purpose. - -## Readme - -Delete all of the above text (including this line), and uncomment the below text to use our standard readme template. - - +We may be contacted through our [Chat Server](http://chat.nhcarrigan.com) or via email at `contact@nhcarrigan.com`. \ No newline at end of file diff --git a/build-all.sh b/build-all.sh new file mode 100755 index 0000000..865f82b --- /dev/null +++ b/build-all.sh @@ -0,0 +1,89 @@ +#!/bin/bash + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +echo -e "${BLUE}🚀 Building Chronara for all platforms...${NC}" + +# Function to run a build and check its status +run_build() { + local target=$1 + local desc=$2 + + echo -e "\n${YELLOW}Building: ${desc}${NC}" + + if pnpm tauri build --target "$target"; then + echo -e "${GREEN}✓ ${desc} build succeeded${NC}" + return 0 + else + echo -e "${RED}✗ ${desc} build failed${NC}" + return 1 + fi +} + +# Ensure we're using the correct Node version +source /home/naomi/.nvm/nvm.sh +nvm use 24.11.1 + +# Install dependencies if needed +echo -e "${YELLOW}Installing dependencies...${NC}" +pnpm install + +# Build frontend first +echo -e "${YELLOW}Building frontend...${NC}" +pnpm build + +# Track if any builds fail +failed=0 + +# Linux builds (native in WSL) +echo -e "\n${BLUE}Building Linux targets...${NC}" +run_build "x86_64-unknown-linux-gnu" "Linux AppImage/Deb/RPM" || failed=1 + +# Windows build (cross-compile from WSL) +echo -e "\n${BLUE}Building Windows target...${NC}" + +# Check if Windows target is installed +if ! rustup target list --installed | grep -q "x86_64-pc-windows-gnu"; then + echo -e "${YELLOW}Installing Windows target...${NC}" + rustup target add x86_64-pc-windows-gnu +fi + +# Check if full mingw-w64 toolchain is installed +if ! command -v x86_64-w64-mingw32-gcc &> /dev/null || ! command -v x86_64-w64-mingw32-dlltool &> /dev/null; then + echo -e "${RED}Windows cross-compilation tools are missing!${NC}" + echo -e "${YELLOW}Please install the full mingw-w64 toolchain:${NC}" + echo -e "${YELLOW} sudo apt-get update${NC}" + echo -e "${YELLOW} sudo apt-get install -y gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64-tools${NC}" + echo -e "${RED}Skipping Windows build...${NC}" + SKIP_WINDOWS=1 +fi + +# Set up environment for Windows cross-compilation +export CARGO_TARGET_X86_64_PC_WINDOWS_GNU_LINKER="x86_64-w64-mingw32-gcc" +export CC_x86_64_pc_windows_gnu="x86_64-w64-mingw32-gcc" +export CXX_x86_64_pc_windows_gnu="x86_64-w64-mingw32-g++" +export AR_x86_64_pc_windows_gnu="x86_64-w64-mingw32-ar" + +if [ -z "$SKIP_WINDOWS" ]; then + run_build "x86_64-pc-windows-gnu" "Windows NSIS" || failed=1 +fi + +# Summary +echo -e "\n${YELLOW}========================================${NC}" +if [ $failed -eq 0 ]; then + echo -e "${GREEN}✨ All builds completed successfully!${NC}" + echo -e "${GREEN}Build outputs:${NC}" + echo -e "${GREEN} Linux: src-tauri/target/release/bundle/appimage/chronara_*.AppImage${NC}" + echo -e "${GREEN} Linux: src-tauri/target/release/bundle/deb/chronara_*.deb${NC}" + echo -e "${GREEN} Linux: src-tauri/target/release/bundle/rpm/chronara-*.rpm${NC}" + echo -e "${GREEN} Windows: src-tauri/target/x86_64-pc-windows-gnu/release/bundle/nsis/Chronara_*.exe${NC}" + exit 0 +else + echo -e "${RED}❌ Some builds failed. Check the output above for details.${NC}" + exit 1 +fi \ No newline at end of file diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..a53f0ab --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,3 @@ +import nhcarriganConfig from "@nhcarrigan/eslint-config"; + +export default [...nhcarriganConfig]; \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..ff93803 --- /dev/null +++ b/index.html @@ -0,0 +1,14 @@ + + + + + + + Tauri + React + Typescript + + + +
+ + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..31e364b --- /dev/null +++ b/package.json @@ -0,0 +1,33 @@ +{ + "name": "chronara", + "private": true, + "version": "0.1.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "lint": "eslint .", + "preview": "vite preview", + "tauri": "tauri", + "tauri:dev": "tauri dev", + "tauri:build": "tauri build", + "build:all": "./build-all.sh" + }, + "dependencies": { + "@tauri-apps/api": "^2", + "@tauri-apps/plugin-opener": "^2", + "react": "^19.1.0", + "react-dom": "^19.1.0" + }, + "devDependencies": { + "@nhcarrigan/eslint-config": "2.0.0", + "@nhcarrigan/typescript-config": "4.0.0", + "@tauri-apps/cli": "^2", + "@types/react": "^19.1.8", + "@types/react-dom": "^19.1.6", + "@vitejs/plugin-react": "^4.6.0", + "eslint": "9.19.0", + "typescript": "~5.8.3", + "vite": "^7.0.4" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..9c816f0 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,3590 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@tauri-apps/api': + specifier: ^2 + version: 2.9.1 + '@tauri-apps/plugin-opener': + specifier: ^2 + version: 2.5.3 + react: + specifier: ^19.1.0 + version: 19.2.3 + react-dom: + specifier: ^19.1.0 + version: 19.2.3(react@19.2.3) + devDependencies: + '@nhcarrigan/eslint-config': + specifier: 2.0.0 + version: 2.0.0(eslint@9.19.0)(prettier@3.8.1)(typescript@5.8.3) + '@nhcarrigan/typescript-config': + specifier: 4.0.0 + version: 4.0.0(typescript@5.8.3) + '@tauri-apps/cli': + specifier: ^2 + version: 2.9.6 + '@types/react': + specifier: ^19.1.8 + version: 19.2.9 + '@types/react-dom': + specifier: ^19.1.6 + version: 19.2.3(@types/react@19.2.9) + '@vitejs/plugin-react': + specifier: ^4.6.0 + version: 4.7.0(vite@7.3.1) + eslint: + specifier: 9.19.0 + version: 9.19.0 + typescript: + specifier: ~5.8.3 + version: 5.8.3 + vite: + specifier: ^7.0.4 + version: 7.3.1 + +packages: + + '@babel/code-frame@7.28.6': + resolution: {integrity: sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.28.6': + resolution: {integrity: sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.28.6': + resolution: {integrity: sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.28.6': + resolution: {integrity: sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.28.6': + resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.28.6': + resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.28.6': + resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.28.6': + resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.27.1': + resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.28.6': + resolution: {integrity: sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.28.6': + resolution: {integrity: sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-transform-react-jsx-self@7.27.1': + resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-source@7.27.1': + resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/template@7.28.6': + resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.28.6': + resolution: {integrity: sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.28.6': + resolution: {integrity: sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==} + engines: {node: '>=6.9.0'} + + '@es-joy/jsdoccomment@0.37.1': + resolution: {integrity: sha512-5vxWJ1gEkEF0yRd0O+uK6dHJf7adrxwQSX8PuRiPfFSAbNLnY0ZJfXaZucoz14Jj2N11xn2DnlEPwWRpYpvRjg==} + engines: {node: ^14 || ^16 || ^17 || ^18 || ^19 || ^20} + + '@esbuild/aix-ppc64@0.27.2': + resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.27.2': + resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.27.2': + resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.27.2': + resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.27.2': + resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.27.2': + resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.27.2': + resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.27.2': + resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.27.2': + resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.27.2': + resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.27.2': + resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.27.2': + resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.27.2': + resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.27.2': + resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.27.2': + resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.27.2': + resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.27.2': + resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.27.2': + resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.27.2': + resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.27.2': + resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.27.2': + resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.27.2': + resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.27.2': + resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.27.2': + resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.27.2': + resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.27.2': + resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.9.1': + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.19.2': + resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.10.0': + resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.13.0': + resolution: {integrity: sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.3.3': + resolution: {integrity: sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.19.0': + resolution: {integrity: sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.7': + resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.2.8': + resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.7': + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@nhcarrigan/eslint-config@2.0.0': + resolution: {integrity: sha512-05R2ihuVx5n3JGkaBccAot7y8q1uvPekRcKwceqq0ySJOuiZb9lGDDJ9Xo1QqaTZRocwBtQOxjBuFBMDUJxz2A==} + peerDependencies: + eslint: '>=8' + + '@nhcarrigan/typescript-config@4.0.0': + resolution: {integrity: sha512-969HVha7A/Sg77fuMwOm6p14a+7C5iE6g55OD71srqwKIgksQl+Ex/hAI/pyzTQFDQ/FBJbpnHlR4Ov25QV/rw==} + engines: {node: '20', pnpm: '9'} + peerDependencies: + typescript: '>=5.5.2' + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@pkgr/core@0.1.2': + resolution: {integrity: sha512-fdDH1LSGfZdTH2sxdpVMw31BanV28K/Gry0cVFxaNP77neJSkd82mM8ErPNYs9e+0O7SdHBLTDzDgwUuy18RnQ==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + + '@rolldown/pluginutils@1.0.0-beta.27': + resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==} + + '@rollup/rollup-android-arm-eabi@4.55.3': + resolution: {integrity: sha512-qyX8+93kK/7R5BEXPC2PjUt0+fS/VO2BVHjEHyIEWiYn88rcRBHmdLgoJjktBltgAf+NY7RfCGB1SoyKS/p9kg==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.55.3': + resolution: {integrity: sha512-6sHrL42bjt5dHQzJ12Q4vMKfN+kUnZ0atHHnv4V0Wd9JMTk7FDzSY35+7qbz3ypQYMBPANbpGK7JpnWNnhGt8g==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.55.3': + resolution: {integrity: sha512-1ht2SpGIjEl2igJ9AbNpPIKzb1B5goXOcmtD0RFxnwNuMxqkR6AUaaErZz+4o+FKmzxcSNBOLrzsICZVNYa1Rw==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.55.3': + resolution: {integrity: sha512-FYZ4iVunXxtT+CZqQoPVwPhH7549e/Gy7PIRRtq4t5f/vt54pX6eG9ebttRH6QSH7r/zxAFA4EZGlQ0h0FvXiA==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.55.3': + resolution: {integrity: sha512-M/mwDCJ4wLsIgyxv2Lj7Len+UMHd4zAXu4GQ2UaCdksStglWhP61U3uowkaYBQBhVoNpwx5Hputo8eSqM7K82Q==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.55.3': + resolution: {integrity: sha512-5jZT2c7jBCrMegKYTYTpni8mg8y3uY8gzeq2ndFOANwNuC/xJbVAoGKR9LhMDA0H3nIhvaqUoBEuJoICBudFrA==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.55.3': + resolution: {integrity: sha512-YeGUhkN1oA+iSPzzhEjVPS29YbViOr8s4lSsFaZKLHswgqP911xx25fPOyE9+khmN6W4VeM0aevbDp4kkEoHiA==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.55.3': + resolution: {integrity: sha512-eo0iOIOvcAlWB3Z3eh8pVM8hZ0oVkK3AjEM9nSrkSug2l15qHzF3TOwT0747omI6+CJJvl7drwZepT+re6Fy/w==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.55.3': + resolution: {integrity: sha512-DJay3ep76bKUDImmn//W5SvpjRN5LmK/ntWyeJs/dcnwiiHESd3N4uteK9FDLf0S0W8E6Y0sVRXpOCoQclQqNg==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.55.3': + resolution: {integrity: sha512-BKKWQkY2WgJ5MC/ayvIJTHjy0JUGb5efaHCUiG/39sSUvAYRBaO3+/EK0AZT1RF3pSj86O24GLLik9mAYu0IJg==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loong64-gnu@4.55.3': + resolution: {integrity: sha512-Q9nVlWtKAG7ISW80OiZGxTr6rYtyDSkauHUtvkQI6TNOJjFvpj4gcH+KaJihqYInnAzEEUetPQubRwHef4exVg==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-loong64-musl@4.55.3': + resolution: {integrity: sha512-2H5LmhzrpC4fFRNwknzmmTvvyJPHwESoJgyReXeFoYYuIDfBhP29TEXOkCJE/KxHi27mj7wDUClNq78ue3QEBQ==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-ppc64-gnu@4.55.3': + resolution: {integrity: sha512-9S542V0ie9LCTznPYlvaeySwBeIEa7rDBgLHKZ5S9DBgcqdJYburabm8TqiqG6mrdTzfV5uttQRHcbKff9lWtA==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-ppc64-musl@4.55.3': + resolution: {integrity: sha512-ukxw+YH3XXpcezLgbJeasgxyTbdpnNAkrIlFGDl7t+pgCxZ89/6n1a+MxlY7CegU+nDgrgdqDelPRNQ/47zs0g==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.55.3': + resolution: {integrity: sha512-Iauw9UsTTvlF++FhghFJjqYxyXdggXsOqGpFBylaRopVpcbfyIIsNvkf9oGwfgIcf57z3m8+/oSYTo6HutBFNw==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-musl@4.55.3': + resolution: {integrity: sha512-3OqKAHSEQXKdq9mQ4eajqUgNIK27VZPW3I26EP8miIzuKzCJ3aW3oEn2pzF+4/Hj/Moc0YDsOtBgT5bZ56/vcA==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.55.3': + resolution: {integrity: sha512-0CM8dSVzVIaqMcXIFej8zZrSFLnGrAE8qlNbbHfTw1EEPnFTg1U1ekI0JdzjPyzSfUsHWtodilQQG/RA55berA==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.55.3': + resolution: {integrity: sha512-+fgJE12FZMIgBaKIAGd45rxf+5ftcycANJRWk8Vz0NnMTM5rADPGuRFTYar+Mqs560xuART7XsX2lSACa1iOmQ==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.55.3': + resolution: {integrity: sha512-tMD7NnbAolWPzQlJQJjVFh/fNH3K/KnA7K8gv2dJWCwwnaK6DFCYST1QXYWfu5V0cDwarWC8Sf/cfMHniNq21A==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-openbsd-x64@4.55.3': + resolution: {integrity: sha512-u5KsqxOxjEeIbn7bUK1MPM34jrnPwjeqgyin4/N6e/KzXKfpE9Mi0nCxcQjaM9lLmPcHmn/xx1yOjgTMtu1jWQ==} + cpu: [x64] + os: [openbsd] + + '@rollup/rollup-openharmony-arm64@4.55.3': + resolution: {integrity: sha512-vo54aXwjpTtsAnb3ca7Yxs9t2INZg7QdXN/7yaoG7nPGbOBXYXQY41Km+S1Ov26vzOAzLcAjmMdjyEqS1JkVhw==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.55.3': + resolution: {integrity: sha512-HI+PIVZ+m+9AgpnY3pt6rinUdRYrGHvmVdsNQ4odNqQ/eRF78DVpMR7mOq7nW06QxpczibwBmeQzB68wJ+4W4A==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.55.3': + resolution: {integrity: sha512-vRByotbdMo3Wdi+8oC2nVxtc3RkkFKrGaok+a62AT8lz/YBuQjaVYAS5Zcs3tPzW43Vsf9J0wehJbUY5xRSekA==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-gnu@4.55.3': + resolution: {integrity: sha512-POZHq7UeuzMJljC5NjKi8vKMFN6/5EOqcX1yGntNLp7rUTpBAXQ1hW8kWPFxYLv07QMcNM75xqVLGPWQq6TKFA==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.55.3': + resolution: {integrity: sha512-aPFONczE4fUFKNXszdvnd2GqKEYQdV5oEsIbKPujJmWlCI9zEsv1Otig8RKK+X9bed9gFUN6LAeN4ZcNuu4zjg==} + cpu: [x64] + os: [win32] + + '@tauri-apps/api@2.9.1': + resolution: {integrity: sha512-IGlhP6EivjXHepbBic618GOmiWe4URJiIeZFlB7x3czM0yDHHYviH1Xvoiv4FefdkQtn6v7TuwWCRfOGdnVUGw==} + + '@tauri-apps/cli-darwin-arm64@2.9.6': + resolution: {integrity: sha512-gf5no6N9FCk1qMrti4lfwP77JHP5haASZgVbBgpZG7BUepB3fhiLCXGUK8LvuOjP36HivXewjg72LTnPDScnQQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tauri-apps/cli-darwin-x64@2.9.6': + resolution: {integrity: sha512-oWh74WmqbERwwrwcueJyY6HYhgCksUc6NT7WKeXyrlY/FPmNgdyQAgcLuTSkhRFuQ6zh4Np1HZpOqCTpeZBDcw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tauri-apps/cli-linux-arm-gnueabihf@2.9.6': + resolution: {integrity: sha512-/zde3bFroFsNXOHN204DC2qUxAcAanUjVXXSdEGmhwMUZeAQalNj5cz2Qli2elsRjKN/hVbZOJj0gQ5zaYUjSg==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tauri-apps/cli-linux-arm64-gnu@2.9.6': + resolution: {integrity: sha512-pvbljdhp9VOo4RnID5ywSxgBs7qiylTPlK56cTk7InR3kYSTJKYMqv/4Q/4rGo/mG8cVppesKIeBMH42fw6wjg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tauri-apps/cli-linux-arm64-musl@2.9.6': + resolution: {integrity: sha512-02TKUndpodXBCR0oP//6dZWGYcc22Upf2eP27NvC6z0DIqvkBBFziQUcvi2n6SrwTRL0yGgQjkm9K5NIn8s6jw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tauri-apps/cli-linux-riscv64-gnu@2.9.6': + resolution: {integrity: sha512-fmp1hnulbqzl1GkXl4aTX9fV+ubHw2LqlLH1PE3BxZ11EQk+l/TmiEongjnxF0ie4kV8DQfDNJ1KGiIdWe1GvQ==} + engines: {node: '>= 10'} + cpu: [riscv64] + os: [linux] + + '@tauri-apps/cli-linux-x64-gnu@2.9.6': + resolution: {integrity: sha512-vY0le8ad2KaV1PJr+jCd8fUF9VOjwwQP/uBuTJvhvKTloEwxYA/kAjKK9OpIslGA9m/zcnSo74czI6bBrm2sYA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tauri-apps/cli-linux-x64-musl@2.9.6': + resolution: {integrity: sha512-TOEuB8YCFZTWVDzsO2yW0+zGcoMiPPwcUgdnW1ODnmgfwccpnihDRoks+ABT1e3fHb1ol8QQWsHSCovb3o2ENQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tauri-apps/cli-win32-arm64-msvc@2.9.6': + resolution: {integrity: sha512-ujmDGMRc4qRLAnj8nNG26Rlz9klJ0I0jmZs2BPpmNNf0gM/rcVHhqbEkAaHPTBVIrtUdf7bGvQAD2pyIiUrBHQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tauri-apps/cli-win32-ia32-msvc@2.9.6': + resolution: {integrity: sha512-S4pT0yAJgFX8QRCyKA1iKjZ9Q/oPjCZf66A/VlG5Yw54Nnr88J1uBpmenINbXxzyhduWrIXBaUbEY1K80ZbpMg==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@tauri-apps/cli-win32-x64-msvc@2.9.6': + resolution: {integrity: sha512-ldWuWSSkWbKOPjQMJoYVj9wLHcOniv7diyI5UAJ4XsBdtaFB0pKHQsqw/ItUma0VXGC7vB4E9fZjivmxur60aw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tauri-apps/cli@2.9.6': + resolution: {integrity: sha512-3xDdXL5omQ3sPfBfdC8fCtDKcnyV7OqyzQgfyT5P3+zY6lcPqIYKQBvUasNvppi21RSdfhy44ttvJmftb0PCDw==} + engines: {node: '>= 10'} + hasBin: true + + '@tauri-apps/plugin-opener@2.5.3': + resolution: {integrity: sha512-CCcUltXMOfUEArbf3db3kCE7Ggy1ExBEBl51Ko2ODJ6GDYHRp1nSNlQm5uNCFY5k7/ufaK5Ib3Du/Zir19IYQQ==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.27.0': + resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.28.0': + resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/json5@0.0.29': + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + + '@types/react-dom@19.2.3': + resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} + peerDependencies: + '@types/react': ^19.2.0 + + '@types/react@19.2.9': + resolution: {integrity: sha512-Lpo8kgb/igvMIPeNV2rsYKTgaORYdO1XGVZ4Qz3akwOj0ySGYMPlQWa8BaLn0G63D1aSaAQ5ldR06wCpChQCjA==} + + '@types/semver@7.7.1': + resolution: {integrity: sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==} + + '@typescript-eslint/eslint-plugin@5.62.0': + resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/parser@5.62.0': + resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/scope-manager@5.62.0': + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@typescript-eslint/type-utils@5.62.0': + resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/types@5.62.0': + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@typescript-eslint/typescript-estree@5.62.0': + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/utils@5.62.0': + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + + '@typescript-eslint/visitor-keys@5.62.0': + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@vitejs/plugin-react@4.7.0': + resolution: {integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + are-docs-informative@0.0.2: + resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} + engines: {node: '>=14'} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} + + array-includes@3.1.9: + resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==} + engines: {node: '>= 0.4'} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + array.prototype.findlastindex@1.2.6: + resolution: {integrity: sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==} + engines: {node: '>= 0.4'} + + array.prototype.flat@1.3.3: + resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} + engines: {node: '>= 0.4'} + + array.prototype.flatmap@1.3.3: + resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} + engines: {node: '>= 0.4'} + + arraybuffer.prototype.slice@1.0.4: + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} + engines: {node: '>= 0.4'} + + async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + baseline-browser-mapping@2.9.17: + resolution: {integrity: sha512-agD0MgJFUP/4nvjqzIB29zRPUuCF7Ge6mEv9s8dHrtYD7QWXRcx75rOADE/d5ah1NI+0vkDl0yorDd5U852IQQ==} + hasBin: true + + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.28.1: + resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + caniuse-lite@1.0.30001765: + resolution: {integrity: sha512-LWcNtSyZrakjECqmpP4qdg0MMGdN368D7X8XvvAqOcqMv0RxnlqVKZl2V6/mBR68oYMxOZPLw/gO7DuisMHUvQ==} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + comment-parser@1.3.1: + resolution: {integrity: sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==} + engines: {node: '>= 12.0.0'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + + data-view-buffer@1.0.2: + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.2: + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.1: + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} + engines: {node: '>= 0.4'} + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + electron-to-chromium@1.5.267: + resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==} + + es-abstract@1.24.1: + resolution: {integrity: sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.1.0: + resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} + engines: {node: '>= 0.4'} + + es-to-primitive@1.3.0: + resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} + engines: {node: '>= 0.4'} + + esbuild@0.27.2: + resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + eslint-config-prettier@9.0.0: + resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + + eslint-module-utils@2.12.1: + resolution: {integrity: sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + + eslint-plugin-import@2.28.0: + resolution: {integrity: sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + + eslint-plugin-jsdoc@41.1.2: + resolution: {integrity: sha512-MePJXdGiPW7AG06CU5GbKzYtKpoHwTq1lKijjq+RwL/cQkZtBZ59Zbv5Ep0RVxSMnq6242249/n+w4XrTZ1Afg==} + engines: {node: ^14 || ^16 || ^17 || ^18 || ^19} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + + eslint-plugin-no-only-tests@3.1.0: + resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} + engines: {node: '>=5.0.0'} + + eslint-plugin-prettier@5.0.0: + resolution: {integrity: sha512-AgaZCVuYDXHUGxj/ZGu1u8H8CYgDY3iG6w5kUFw4AzMVXzB7VvbKgYR4nATIN+OvUrghMbiDLeimVjVY5ilq3w==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '*' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': + optional: true + eslint-config-prettier: + optional: true + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + eslint-scope@8.4.0: + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.19.0: + resolution: {integrity: sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + esquery@1.7.0: + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flatted@3.3.3: + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + + for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.1.8: + resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + generator-function@2.0.1: + resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} + engines: {node: '>= 0.4'} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-symbol-description@1.1.0: + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} + engines: {node: '>= 0.4'} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.2.0: + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} + engines: {node: '>= 0.4'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + has@1.0.4: + resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} + engines: {node: '>= 0.4.0'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + internal-slot@1.1.0: + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} + engines: {node: '>= 0.4'} + + is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} + engines: {node: '>= 0.4'} + + is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} + engines: {node: '>= 0.4'} + + is-bigint@1.1.0: + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} + engines: {node: '>= 0.4'} + + is-boolean-object@1.2.2: + resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} + engines: {node: '>= 0.4'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.2: + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} + engines: {node: '>= 0.4'} + + is-date-object@1.1.0: + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} + engines: {node: '>= 0.4'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-finalizationregistry@1.1.1: + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} + engines: {node: '>= 0.4'} + + is-generator-function@1.1.2: + resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + + is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} + + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.4: + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} + engines: {node: '>= 0.4'} + + is-string@1.1.1: + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} + engines: {node: '>= 0.4'} + + is-symbol@1.1.1: + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} + + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + + is-weakref@1.1.1: + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} + engines: {node: '>= 0.4'} + + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} + hasBin: true + + jsdoc-type-pratt-parser@4.0.0: + resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==} + engines: {node: '>=12.0.0'} + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + natural-compare-lite@1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + node-releases@2.0.27: + resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} + + object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} + + object.values@1.2.1: + resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} + engines: {node: '>= 0.4'} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + own-keys@1.0.1: + resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} + engines: {node: '>= 0.4'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + + possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} + + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier-linter-helpers@1.0.1: + resolution: {integrity: sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==} + engines: {node: '>=6.0.0'} + + prettier@3.8.1: + resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} + engines: {node: '>=14'} + hasBin: true + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + react-dom@19.2.3: + resolution: {integrity: sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==} + peerDependencies: + react: ^19.2.3 + + react-refresh@0.17.0: + resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==} + engines: {node: '>=0.10.0'} + + react@19.2.3: + resolution: {integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==} + engines: {node: '>=0.10.0'} + + reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + engines: {node: '>= 0.4'} + + regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} + engines: {node: '>= 0.4'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve@1.22.11: + resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} + engines: {node: '>= 0.4'} + hasBin: true + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rollup@4.55.3: + resolution: {integrity: sha512-y9yUpfQvetAjiDLtNMf1hL9NXchIJgWt6zIKeoB+tCd3npX08Eqfzg60V9DhIGVMtQ0AlMkFw5xa+AQ37zxnAA==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-array-concat@1.1.3: + resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} + engines: {node: '>=0.4'} + + safe-push-apply@1.0.0: + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} + + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} + + scheduler@0.27.0: + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.7.3: + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + engines: {node: '>=10'} + hasBin: true + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-license-ids@3.0.22: + resolution: {integrity: sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==} + + stop-iteration-iterator@1.1.0: + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} + engines: {node: '>= 0.4'} + + string.prototype.trim@1.2.10: + resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.9: + resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} + engines: {node: '>= 0.4'} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + synckit@0.8.8: + resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} + engines: {node: ^14.18.0 || >=16.0.0} + + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tsutils@3.21.0: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.3: + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.4: + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.7: + resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} + engines: {node: '>= 0.4'} + + typescript@5.8.3: + resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} + engines: {node: '>=14.17'} + hasBin: true + + unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} + + update-browserslist-db@1.2.3: + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + vite@7.3.1: + resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + jiti: '>=1.21.0' + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} + + which-builtin-type@1.2.1: + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + + which-typed-array@1.1.20: + resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==} + engines: {node: '>= 0.4'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + +snapshots: + + '@babel/code-frame@7.28.6': + dependencies: + '@babel/helper-validator-identifier': 7.28.5 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.28.6': {} + + '@babel/core@7.28.6': + dependencies: + '@babel/code-frame': 7.28.6 + '@babel/generator': 7.28.6 + '@babel/helper-compilation-targets': 7.28.6 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.28.6) + '@babel/helpers': 7.28.6 + '@babel/parser': 7.28.6 + '@babel/template': 7.28.6 + '@babel/traverse': 7.28.6 + '@babel/types': 7.28.6 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.28.6': + dependencies: + '@babel/parser': 7.28.6 + '@babel/types': 7.28.6 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-compilation-targets@7.28.6': + dependencies: + '@babel/compat-data': 7.28.6 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.28.1 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-globals@7.28.0': {} + + '@babel/helper-module-imports@7.28.6': + dependencies: + '@babel/traverse': 7.28.6 + '@babel/types': 7.28.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.28.6(@babel/core@7.28.6)': + dependencies: + '@babel/core': 7.28.6 + '@babel/helper-module-imports': 7.28.6 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.28.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.28.6': {} + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.28.5': {} + + '@babel/helper-validator-option@7.27.1': {} + + '@babel/helpers@7.28.6': + dependencies: + '@babel/template': 7.28.6 + '@babel/types': 7.28.6 + + '@babel/parser@7.28.6': + dependencies: + '@babel/types': 7.28.6 + + '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.6)': + dependencies: + '@babel/core': 7.28.6 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.28.6)': + dependencies: + '@babel/core': 7.28.6 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/template@7.28.6': + dependencies: + '@babel/code-frame': 7.28.6 + '@babel/parser': 7.28.6 + '@babel/types': 7.28.6 + + '@babel/traverse@7.28.6': + dependencies: + '@babel/code-frame': 7.28.6 + '@babel/generator': 7.28.6 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.6 + '@babel/template': 7.28.6 + '@babel/types': 7.28.6 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.28.6': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + + '@es-joy/jsdoccomment@0.37.1': + dependencies: + comment-parser: 1.3.1 + esquery: 1.7.0 + jsdoc-type-pratt-parser: 4.0.0 + + '@esbuild/aix-ppc64@0.27.2': + optional: true + + '@esbuild/android-arm64@0.27.2': + optional: true + + '@esbuild/android-arm@0.27.2': + optional: true + + '@esbuild/android-x64@0.27.2': + optional: true + + '@esbuild/darwin-arm64@0.27.2': + optional: true + + '@esbuild/darwin-x64@0.27.2': + optional: true + + '@esbuild/freebsd-arm64@0.27.2': + optional: true + + '@esbuild/freebsd-x64@0.27.2': + optional: true + + '@esbuild/linux-arm64@0.27.2': + optional: true + + '@esbuild/linux-arm@0.27.2': + optional: true + + '@esbuild/linux-ia32@0.27.2': + optional: true + + '@esbuild/linux-loong64@0.27.2': + optional: true + + '@esbuild/linux-mips64el@0.27.2': + optional: true + + '@esbuild/linux-ppc64@0.27.2': + optional: true + + '@esbuild/linux-riscv64@0.27.2': + optional: true + + '@esbuild/linux-s390x@0.27.2': + optional: true + + '@esbuild/linux-x64@0.27.2': + optional: true + + '@esbuild/netbsd-arm64@0.27.2': + optional: true + + '@esbuild/netbsd-x64@0.27.2': + optional: true + + '@esbuild/openbsd-arm64@0.27.2': + optional: true + + '@esbuild/openbsd-x64@0.27.2': + optional: true + + '@esbuild/openharmony-arm64@0.27.2': + optional: true + + '@esbuild/sunos-x64@0.27.2': + optional: true + + '@esbuild/win32-arm64@0.27.2': + optional: true + + '@esbuild/win32-ia32@0.27.2': + optional: true + + '@esbuild/win32-x64@0.27.2': + optional: true + + '@eslint-community/eslint-utils@4.9.1(eslint@9.19.0)': + dependencies: + eslint: 9.19.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.2': {} + + '@eslint/config-array@0.19.2': + dependencies: + '@eslint/object-schema': 2.1.7 + debug: 4.4.3 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/core@0.10.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/core@0.13.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/eslintrc@3.3.3': + dependencies: + ajv: 6.12.6 + debug: 4.4.3 + espree: 10.4.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.1 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@9.19.0': {} + + '@eslint/object-schema@2.1.7': {} + + '@eslint/plugin-kit@0.2.8': + dependencies: + '@eslint/core': 0.13.0 + levn: 0.4.1 + + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.7': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.4.3 + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.4.3': {} + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@nhcarrigan/eslint-config@2.0.0(eslint@9.19.0)(prettier@3.8.1)(typescript@5.8.3)': + dependencies: + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.19.0)(typescript@5.8.3))(eslint@9.19.0)(typescript@5.8.3) + '@typescript-eslint/parser': 5.62.0(eslint@9.19.0)(typescript@5.8.3) + eslint: 9.19.0 + eslint-config-prettier: 9.0.0(eslint@9.19.0) + eslint-plugin-import: 2.28.0(@typescript-eslint/parser@5.62.0(eslint@9.19.0)(typescript@5.8.3))(eslint@9.19.0) + eslint-plugin-jsdoc: 41.1.2(eslint@9.19.0) + eslint-plugin-no-only-tests: 3.1.0 + eslint-plugin-prettier: 5.0.0(eslint-config-prettier@9.0.0(eslint@9.19.0))(eslint@9.19.0)(prettier@3.8.1) + transitivePeerDependencies: + - '@types/eslint' + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - prettier + - supports-color + - typescript + + '@nhcarrigan/typescript-config@4.0.0(typescript@5.8.3)': + dependencies: + typescript: 5.8.3 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.20.1 + + '@pkgr/core@0.1.2': {} + + '@rolldown/pluginutils@1.0.0-beta.27': {} + + '@rollup/rollup-android-arm-eabi@4.55.3': + optional: true + + '@rollup/rollup-android-arm64@4.55.3': + optional: true + + '@rollup/rollup-darwin-arm64@4.55.3': + optional: true + + '@rollup/rollup-darwin-x64@4.55.3': + optional: true + + '@rollup/rollup-freebsd-arm64@4.55.3': + optional: true + + '@rollup/rollup-freebsd-x64@4.55.3': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.55.3': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.55.3': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.55.3': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.55.3': + optional: true + + '@rollup/rollup-linux-loong64-gnu@4.55.3': + optional: true + + '@rollup/rollup-linux-loong64-musl@4.55.3': + optional: true + + '@rollup/rollup-linux-ppc64-gnu@4.55.3': + optional: true + + '@rollup/rollup-linux-ppc64-musl@4.55.3': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.55.3': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.55.3': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.55.3': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.55.3': + optional: true + + '@rollup/rollup-linux-x64-musl@4.55.3': + optional: true + + '@rollup/rollup-openbsd-x64@4.55.3': + optional: true + + '@rollup/rollup-openharmony-arm64@4.55.3': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.55.3': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.55.3': + optional: true + + '@rollup/rollup-win32-x64-gnu@4.55.3': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.55.3': + optional: true + + '@tauri-apps/api@2.9.1': {} + + '@tauri-apps/cli-darwin-arm64@2.9.6': + optional: true + + '@tauri-apps/cli-darwin-x64@2.9.6': + optional: true + + '@tauri-apps/cli-linux-arm-gnueabihf@2.9.6': + optional: true + + '@tauri-apps/cli-linux-arm64-gnu@2.9.6': + optional: true + + '@tauri-apps/cli-linux-arm64-musl@2.9.6': + optional: true + + '@tauri-apps/cli-linux-riscv64-gnu@2.9.6': + optional: true + + '@tauri-apps/cli-linux-x64-gnu@2.9.6': + optional: true + + '@tauri-apps/cli-linux-x64-musl@2.9.6': + optional: true + + '@tauri-apps/cli-win32-arm64-msvc@2.9.6': + optional: true + + '@tauri-apps/cli-win32-ia32-msvc@2.9.6': + optional: true + + '@tauri-apps/cli-win32-x64-msvc@2.9.6': + optional: true + + '@tauri-apps/cli@2.9.6': + optionalDependencies: + '@tauri-apps/cli-darwin-arm64': 2.9.6 + '@tauri-apps/cli-darwin-x64': 2.9.6 + '@tauri-apps/cli-linux-arm-gnueabihf': 2.9.6 + '@tauri-apps/cli-linux-arm64-gnu': 2.9.6 + '@tauri-apps/cli-linux-arm64-musl': 2.9.6 + '@tauri-apps/cli-linux-riscv64-gnu': 2.9.6 + '@tauri-apps/cli-linux-x64-gnu': 2.9.6 + '@tauri-apps/cli-linux-x64-musl': 2.9.6 + '@tauri-apps/cli-win32-arm64-msvc': 2.9.6 + '@tauri-apps/cli-win32-ia32-msvc': 2.9.6 + '@tauri-apps/cli-win32-x64-msvc': 2.9.6 + + '@tauri-apps/plugin-opener@2.5.3': + dependencies: + '@tauri-apps/api': 2.9.1 + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.28.6 + '@babel/types': 7.28.6 + '@types/babel__generator': 7.27.0 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.28.0 + + '@types/babel__generator@7.27.0': + dependencies: + '@babel/types': 7.28.6 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.28.6 + '@babel/types': 7.28.6 + + '@types/babel__traverse@7.28.0': + dependencies: + '@babel/types': 7.28.6 + + '@types/estree@1.0.8': {} + + '@types/json-schema@7.0.15': {} + + '@types/json5@0.0.29': {} + + '@types/react-dom@19.2.3(@types/react@19.2.9)': + dependencies: + '@types/react': 19.2.9 + + '@types/react@19.2.9': + dependencies: + csstype: 3.2.3 + + '@types/semver@7.7.1': {} + + '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.19.0)(typescript@5.8.3))(eslint@9.19.0)(typescript@5.8.3)': + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 5.62.0(eslint@9.19.0)(typescript@5.8.3) + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/type-utils': 5.62.0(eslint@9.19.0)(typescript@5.8.3) + '@typescript-eslint/utils': 5.62.0(eslint@9.19.0)(typescript@5.8.3) + debug: 4.4.3 + eslint: 9.19.0 + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare-lite: 1.4.0 + semver: 7.7.3 + tsutils: 3.21.0(typescript@5.8.3) + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@5.62.0(eslint@9.19.0)(typescript@5.8.3)': + dependencies: + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.8.3) + debug: 4.4.3 + eslint: 9.19.0 + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@5.62.0': + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + + '@typescript-eslint/type-utils@5.62.0(eslint@9.19.0)(typescript@5.8.3)': + dependencies: + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.8.3) + '@typescript-eslint/utils': 5.62.0(eslint@9.19.0)(typescript@5.8.3) + debug: 4.4.3 + eslint: 9.19.0 + tsutils: 3.21.0(typescript@5.8.3) + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@5.62.0': {} + + '@typescript-eslint/typescript-estree@5.62.0(typescript@5.8.3)': + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + debug: 4.4.3 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.7.3 + tsutils: 3.21.0(typescript@5.8.3) + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@5.62.0(eslint@9.19.0)(typescript@5.8.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.19.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.7.1 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.8.3) + eslint: 9.19.0 + eslint-scope: 5.1.1 + semver: 7.7.3 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/visitor-keys@5.62.0': + dependencies: + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.3 + + '@vitejs/plugin-react@4.7.0(vite@7.3.1)': + dependencies: + '@babel/core': 7.28.6 + '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.6) + '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.6) + '@rolldown/pluginutils': 1.0.0-beta.27 + '@types/babel__core': 7.20.5 + react-refresh: 0.17.0 + vite: 7.3.1 + transitivePeerDependencies: + - supports-color + + acorn-jsx@5.3.2(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn@8.15.0: {} + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + are-docs-informative@0.0.2: {} + + argparse@2.0.1: {} + + array-buffer-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + is-array-buffer: 3.0.5 + + array-includes@3.1.9: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.1 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + is-string: 1.1.1 + math-intrinsics: 1.1.0 + + array-union@2.1.0: {} + + array.prototype.findlastindex@1.2.6: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-shim-unscopables: 1.1.0 + + array.prototype.flat@1.3.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.1 + es-shim-unscopables: 1.1.0 + + array.prototype.flatmap@1.3.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.1 + es-shim-unscopables: 1.1.0 + + arraybuffer.prototype.slice@1.0.4: + dependencies: + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.1 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + is-array-buffer: 3.0.5 + + async-function@1.0.0: {} + + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.1.0 + + balanced-match@1.0.2: {} + + baseline-browser-mapping@2.9.17: {} + + brace-expansion@1.1.12: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.28.1: + dependencies: + baseline-browser-mapping: 2.9.17 + caniuse-lite: 1.0.30001765 + electron-to-chromium: 1.5.267 + node-releases: 2.0.27 + update-browserslist-db: 1.2.3(browserslist@4.28.1) + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.8: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + callsites@3.1.0: {} + + caniuse-lite@1.0.30001765: {} + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + comment-parser@1.3.1: {} + + concat-map@0.0.1: {} + + convert-source-map@2.0.0: {} + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + csstype@3.2.3: {} + + data-view-buffer@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-offset@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + debug@3.2.7: + dependencies: + ms: 2.1.3 + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + deep-is@0.1.4: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + doctrine@2.1.0: + dependencies: + esutils: 2.0.3 + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + electron-to-chromium@1.5.267: {} + + es-abstract@1.24.1: + dependencies: + array-buffer-byte-length: 1.0.2 + arraybuffer.prototype.slice: 1.0.4 + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + data-view-buffer: 1.0.2 + data-view-byte-length: 1.0.2 + data-view-byte-offset: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-set-tostringtag: 2.1.0 + es-to-primitive: 1.3.0 + function.prototype.name: 1.1.8 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + get-symbol-description: 1.1.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + internal-slot: 1.1.0 + is-array-buffer: 3.0.5 + is-callable: 1.2.7 + is-data-view: 1.0.2 + is-negative-zero: 2.0.3 + is-regex: 1.2.1 + is-set: 2.0.3 + is-shared-array-buffer: 1.0.4 + is-string: 1.1.1 + is-typed-array: 1.1.15 + is-weakref: 1.1.1 + math-intrinsics: 1.1.0 + object-inspect: 1.13.4 + object-keys: 1.1.1 + object.assign: 4.1.7 + own-keys: 1.0.1 + regexp.prototype.flags: 1.5.4 + safe-array-concat: 1.1.3 + safe-push-apply: 1.0.0 + safe-regex-test: 1.1.0 + set-proto: 1.0.0 + stop-iteration-iterator: 1.1.0 + string.prototype.trim: 1.2.10 + string.prototype.trimend: 1.0.9 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.3 + typed-array-byte-length: 1.0.3 + typed-array-byte-offset: 1.0.4 + typed-array-length: 1.0.7 + unbox-primitive: 1.1.0 + which-typed-array: 1.1.20 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + es-shim-unscopables@1.1.0: + dependencies: + hasown: 2.0.2 + + es-to-primitive@1.3.0: + dependencies: + is-callable: 1.2.7 + is-date-object: 1.1.0 + is-symbol: 1.1.1 + + esbuild@0.27.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.27.2 + '@esbuild/android-arm': 0.27.2 + '@esbuild/android-arm64': 0.27.2 + '@esbuild/android-x64': 0.27.2 + '@esbuild/darwin-arm64': 0.27.2 + '@esbuild/darwin-x64': 0.27.2 + '@esbuild/freebsd-arm64': 0.27.2 + '@esbuild/freebsd-x64': 0.27.2 + '@esbuild/linux-arm': 0.27.2 + '@esbuild/linux-arm64': 0.27.2 + '@esbuild/linux-ia32': 0.27.2 + '@esbuild/linux-loong64': 0.27.2 + '@esbuild/linux-mips64el': 0.27.2 + '@esbuild/linux-ppc64': 0.27.2 + '@esbuild/linux-riscv64': 0.27.2 + '@esbuild/linux-s390x': 0.27.2 + '@esbuild/linux-x64': 0.27.2 + '@esbuild/netbsd-arm64': 0.27.2 + '@esbuild/netbsd-x64': 0.27.2 + '@esbuild/openbsd-arm64': 0.27.2 + '@esbuild/openbsd-x64': 0.27.2 + '@esbuild/openharmony-arm64': 0.27.2 + '@esbuild/sunos-x64': 0.27.2 + '@esbuild/win32-arm64': 0.27.2 + '@esbuild/win32-ia32': 0.27.2 + '@esbuild/win32-x64': 0.27.2 + + escalade@3.2.0: {} + + escape-string-regexp@4.0.0: {} + + eslint-config-prettier@9.0.0(eslint@9.19.0): + dependencies: + eslint: 9.19.0 + + eslint-import-resolver-node@0.3.9: + dependencies: + debug: 3.2.7 + is-core-module: 2.16.1 + resolve: 1.22.11 + transitivePeerDependencies: + - supports-color + + eslint-module-utils@2.12.1(@typescript-eslint/parser@5.62.0(eslint@9.19.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.19.0): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 5.62.0(eslint@9.19.0)(typescript@5.8.3) + eslint: 9.19.0 + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + + eslint-plugin-import@2.28.0(@typescript-eslint/parser@5.62.0(eslint@9.19.0)(typescript@5.8.3))(eslint@9.19.0): + dependencies: + array-includes: 3.1.9 + array.prototype.findlastindex: 1.2.6 + array.prototype.flat: 1.3.3 + array.prototype.flatmap: 1.3.3 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 9.19.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.12.1(@typescript-eslint/parser@5.62.0(eslint@9.19.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.19.0) + has: 1.0.4 + is-core-module: 2.16.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.1 + resolve: 1.22.11 + semver: 6.3.1 + tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 5.62.0(eslint@9.19.0)(typescript@5.8.3) + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + + eslint-plugin-jsdoc@41.1.2(eslint@9.19.0): + dependencies: + '@es-joy/jsdoccomment': 0.37.1 + are-docs-informative: 0.0.2 + comment-parser: 1.3.1 + debug: 4.4.3 + escape-string-regexp: 4.0.0 + eslint: 9.19.0 + esquery: 1.7.0 + semver: 7.7.3 + spdx-expression-parse: 3.0.1 + transitivePeerDependencies: + - supports-color + + eslint-plugin-no-only-tests@3.1.0: {} + + eslint-plugin-prettier@5.0.0(eslint-config-prettier@9.0.0(eslint@9.19.0))(eslint@9.19.0)(prettier@3.8.1): + dependencies: + eslint: 9.19.0 + prettier: 3.8.1 + prettier-linter-helpers: 1.0.1 + synckit: 0.8.8 + optionalDependencies: + eslint-config-prettier: 9.0.0(eslint@9.19.0) + + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + eslint-scope@8.4.0: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.2.1: {} + + eslint@9.19.0: + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.19.0) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.19.2 + '@eslint/core': 0.10.0 + '@eslint/eslintrc': 3.3.3 + '@eslint/js': 9.19.0 + '@eslint/plugin-kit': 0.2.8 + '@humanfs/node': 0.16.7 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.3 + escape-string-regexp: 4.0.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + esquery: 1.7.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + transitivePeerDependencies: + - supports-color + + espree@10.4.0: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 4.2.1 + + esquery@1.7.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@4.3.0: {} + + estraverse@5.3.0: {} + + esutils@2.0.3: {} + + fast-deep-equal@3.1.3: {} + + fast-diff@1.3.0: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fastq@1.20.1: + dependencies: + reusify: 1.1.0 + + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@4.0.1: + dependencies: + flatted: 3.3.3 + keyv: 4.5.4 + + flatted@3.3.3: {} + + for-each@0.3.5: + dependencies: + is-callable: 1.2.7 + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + function.prototype.name@1.1.8: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + functions-have-names: 1.2.3 + hasown: 2.0.2 + is-callable: 1.2.7 + + functions-have-names@1.2.3: {} + + generator-function@2.0.1: {} + + gensync@1.0.0-beta.2: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + + get-symbol-description@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + globals@14.0.0: {} + + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.2.0 + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + + gopd@1.2.0: {} + + graphemer@1.4.0: {} + + has-bigints@1.1.0: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-proto@1.2.0: + dependencies: + dunder-proto: 1.0.1 + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + has@1.0.4: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + ignore@5.3.2: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + imurmurhash@0.1.4: {} + + internal-slot@1.1.0: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.1.0 + + is-array-buffer@3.0.5: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + + is-async-function@2.1.1: + dependencies: + async-function: 1.0.0 + call-bound: 1.0.4 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-bigint@1.1.0: + dependencies: + has-bigints: 1.1.0 + + is-boolean-object@1.2.2: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-callable@1.2.7: {} + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-data-view@1.0.2: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + is-typed-array: 1.1.15 + + is-date-object@1.1.0: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-extglob@2.1.1: {} + + is-finalizationregistry@1.1.1: + dependencies: + call-bound: 1.0.4 + + is-generator-function@1.1.2: + dependencies: + call-bound: 1.0.4 + generator-function: 2.0.1 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-map@2.0.3: {} + + is-negative-zero@2.0.3: {} + + is-number-object@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-number@7.0.0: {} + + is-regex@1.2.1: + dependencies: + call-bound: 1.0.4 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + is-set@2.0.3: {} + + is-shared-array-buffer@1.0.4: + dependencies: + call-bound: 1.0.4 + + is-string@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-symbol@1.1.1: + dependencies: + call-bound: 1.0.4 + has-symbols: 1.1.0 + safe-regex-test: 1.1.0 + + is-typed-array@1.1.15: + dependencies: + which-typed-array: 1.1.20 + + is-weakmap@2.0.2: {} + + is-weakref@1.1.1: + dependencies: + call-bound: 1.0.4 + + is-weakset@2.0.4: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + + isarray@2.0.5: {} + + isexe@2.0.0: {} + + js-tokens@4.0.0: {} + + js-yaml@4.1.1: + dependencies: + argparse: 2.0.1 + + jsdoc-type-pratt-parser@4.0.0: {} + + jsesc@3.1.0: {} + + json-buffer@3.0.1: {} + + json-schema-traverse@0.4.1: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json5@1.0.2: + dependencies: + minimist: 1.2.8 + + json5@2.2.3: {} + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash.merge@4.6.2: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + math-intrinsics@1.1.0: {} + + merge2@1.4.1: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.12 + + minimist@1.2.8: {} + + ms@2.1.3: {} + + nanoid@3.3.11: {} + + natural-compare-lite@1.4.0: {} + + natural-compare@1.4.0: {} + + node-releases@2.0.27: {} + + object-inspect@1.13.4: {} + + object-keys@1.1.1: {} + + object.assign@4.1.7: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + has-symbols: 1.1.0 + object-keys: 1.1.1 + + object.fromentries@2.0.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.1 + es-object-atoms: 1.1.1 + + object.groupby@1.0.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.1 + + object.values@1.2.1: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + own-keys@1.0.1: + dependencies: + get-intrinsic: 1.3.0 + object-keys: 1.1.1 + safe-push-apply: 1.0.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + path-exists@4.0.0: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-type@4.0.0: {} + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + picomatch@4.0.3: {} + + possible-typed-array-names@1.1.0: {} + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + prelude-ls@1.2.1: {} + + prettier-linter-helpers@1.0.1: + dependencies: + fast-diff: 1.3.0 + + prettier@3.8.1: {} + + punycode@2.3.1: {} + + queue-microtask@1.2.3: {} + + react-dom@19.2.3(react@19.2.3): + dependencies: + react: 19.2.3 + scheduler: 0.27.0 + + react-refresh@0.17.0: {} + + react@19.2.3: {} + + reflect.getprototypeof@1.0.10: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + which-builtin-type: 1.2.1 + + regexp.prototype.flags@1.5.4: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-errors: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 + set-function-name: 2.0.2 + + resolve-from@4.0.0: {} + + resolve@1.22.11: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + reusify@1.1.0: {} + + rollup@4.55.3: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.55.3 + '@rollup/rollup-android-arm64': 4.55.3 + '@rollup/rollup-darwin-arm64': 4.55.3 + '@rollup/rollup-darwin-x64': 4.55.3 + '@rollup/rollup-freebsd-arm64': 4.55.3 + '@rollup/rollup-freebsd-x64': 4.55.3 + '@rollup/rollup-linux-arm-gnueabihf': 4.55.3 + '@rollup/rollup-linux-arm-musleabihf': 4.55.3 + '@rollup/rollup-linux-arm64-gnu': 4.55.3 + '@rollup/rollup-linux-arm64-musl': 4.55.3 + '@rollup/rollup-linux-loong64-gnu': 4.55.3 + '@rollup/rollup-linux-loong64-musl': 4.55.3 + '@rollup/rollup-linux-ppc64-gnu': 4.55.3 + '@rollup/rollup-linux-ppc64-musl': 4.55.3 + '@rollup/rollup-linux-riscv64-gnu': 4.55.3 + '@rollup/rollup-linux-riscv64-musl': 4.55.3 + '@rollup/rollup-linux-s390x-gnu': 4.55.3 + '@rollup/rollup-linux-x64-gnu': 4.55.3 + '@rollup/rollup-linux-x64-musl': 4.55.3 + '@rollup/rollup-openbsd-x64': 4.55.3 + '@rollup/rollup-openharmony-arm64': 4.55.3 + '@rollup/rollup-win32-arm64-msvc': 4.55.3 + '@rollup/rollup-win32-ia32-msvc': 4.55.3 + '@rollup/rollup-win32-x64-gnu': 4.55.3 + '@rollup/rollup-win32-x64-msvc': 4.55.3 + fsevents: 2.3.3 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-array-concat@1.1.3: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + has-symbols: 1.1.0 + isarray: 2.0.5 + + safe-push-apply@1.0.0: + dependencies: + es-errors: 1.3.0 + isarray: 2.0.5 + + safe-regex-test@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-regex: 1.2.1 + + scheduler@0.27.0: {} + + semver@6.3.1: {} + + semver@7.7.3: {} + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + + set-proto@1.0.0: + dependencies: + dunder-proto: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + slash@3.0.0: {} + + source-map-js@1.2.1: {} + + spdx-exceptions@2.5.0: {} + + spdx-expression-parse@3.0.1: + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.22 + + spdx-license-ids@3.0.22: {} + + stop-iteration-iterator@1.1.0: + dependencies: + es-errors: 1.3.0 + internal-slot: 1.1.0 + + string.prototype.trim@1.2.10: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-data-property: 1.1.4 + define-properties: 1.2.1 + es-abstract: 1.24.1 + es-object-atoms: 1.1.1 + has-property-descriptors: 1.0.2 + + string.prototype.trimend@1.0.9: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + strip-bom@3.0.0: {} + + strip-json-comments@3.1.1: {} + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + synckit@0.8.8: + dependencies: + '@pkgr/core': 0.1.2 + tslib: 2.8.1 + + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + tsconfig-paths@3.15.0: + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + + tslib@1.14.1: {} + + tslib@2.8.1: {} + + tsutils@3.21.0(typescript@5.8.3): + dependencies: + tslib: 1.14.1 + typescript: 5.8.3 + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + typed-array-buffer@1.0.3: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-typed-array: 1.1.15 + + typed-array-byte-length@1.0.3: + dependencies: + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + + typed-array-byte-offset@1.0.4: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + reflect.getprototypeof: 1.0.10 + + typed-array-length@1.0.7: + dependencies: + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + is-typed-array: 1.1.15 + possible-typed-array-names: 1.1.0 + reflect.getprototypeof: 1.0.10 + + typescript@5.8.3: {} + + unbox-primitive@1.1.0: + dependencies: + call-bound: 1.0.4 + has-bigints: 1.1.0 + has-symbols: 1.1.0 + which-boxed-primitive: 1.1.1 + + update-browserslist-db@1.2.3(browserslist@4.28.1): + dependencies: + browserslist: 4.28.1 + escalade: 3.2.0 + picocolors: 1.1.1 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + vite@7.3.1: + dependencies: + esbuild: 0.27.2 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.55.3 + tinyglobby: 0.2.15 + optionalDependencies: + fsevents: 2.3.3 + + which-boxed-primitive@1.1.1: + dependencies: + is-bigint: 1.1.0 + is-boolean-object: 1.2.2 + is-number-object: 1.1.1 + is-string: 1.1.1 + is-symbol: 1.1.1 + + which-builtin-type@1.2.1: + dependencies: + call-bound: 1.0.4 + function.prototype.name: 1.1.8 + has-tostringtag: 1.0.2 + is-async-function: 2.1.1 + is-date-object: 1.1.0 + is-finalizationregistry: 1.1.1 + is-generator-function: 1.1.2 + is-regex: 1.2.1 + is-weakref: 1.1.1 + isarray: 2.0.5 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + which-typed-array: 1.1.20 + + which-collection@1.0.2: + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.4 + + which-typed-array@1.1.20: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + for-each: 0.3.5 + get-proto: 1.0.1 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + word-wrap@1.2.5: {} + + yallist@3.1.1: {} + + yocto-queue@0.1.0: {} diff --git a/public/tauri.svg b/public/tauri.svg new file mode 100644 index 0000000..31b62c9 --- /dev/null +++ b/public/tauri.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/public/vite.svg b/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src-tauri/.gitignore b/src-tauri/.gitignore new file mode 100644 index 0000000..b21bd68 --- /dev/null +++ b/src-tauri/.gitignore @@ -0,0 +1,7 @@ +# Generated by Cargo +# will have compiled files and executables +/target/ + +# Generated by Tauri +# will have schema files for capabilities auto-completion +/gen/schemas diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock new file mode 100644 index 0000000..0a4e0af --- /dev/null +++ b/src-tauri/Cargo.lock @@ -0,0 +1,5198 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + +[[package]] +name = "aho-corasick" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +dependencies = [ + "alloc-no-stdlib", +] + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anyhow" +version = "1.0.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" + +[[package]] +name = "async-broadcast" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" +dependencies = [ + "event-listener", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-channel" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" +dependencies = [ + "concurrent-queue", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-executor" +version = "1.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "497c00e0fd83a72a79a39fcbd8e3e2f055d6f6c7e025f3b3d91f4f8e76527fb8" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "pin-project-lite", + "slab", +] + +[[package]] +name = "async-io" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc" +dependencies = [ + "autocfg", + "cfg-if", + "concurrent-queue", + "futures-io", + "futures-lite", + "parking", + "polling", + "rustix", + "slab", + "windows-sys 0.61.2", +] + +[[package]] +name = "async-lock" +version = "3.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311" +dependencies = [ + "event-listener", + "event-listener-strategy", + "pin-project-lite", +] + +[[package]] +name = "async-process" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc50921ec0055cdd8a16de48773bfeec5c972598674347252c0399676be7da75" +dependencies = [ + "async-channel", + "async-io", + "async-lock", + "async-signal", + "async-task", + "blocking", + "cfg-if", + "event-listener", + "futures-lite", + "rustix", +] + +[[package]] +name = "async-recursion" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "async-signal" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43c070bbf59cd3570b6b2dd54cd772527c7c3620fce8be898406dd3ed6adc64c" +dependencies = [ + "async-io", + "async-lock", + "atomic-waker", + "cfg-if", + "futures-core", + "futures-io", + "rustix", + "signal-hook-registry", + "slab", + "windows-sys 0.61.2", +] + +[[package]] +name = "async-task" +version = "4.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" + +[[package]] +name = "async-trait" +version = "0.1.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "atk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "241b621213072e993be4f6f3a9e4b45f65b7e6faad43001be957184b7bb1824b" +dependencies = [ + "atk-sys", + "glib", + "libc", +] + +[[package]] +name = "atk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5e48b684b0ca77d2bbadeef17424c2ea3c897d44d566a1617e7e8f30614d086" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "autocfg" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +dependencies = [ + "serde_core", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +dependencies = [ + "objc2", +] + +[[package]] +name = "blocking" +version = "1.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" +dependencies = [ + "async-channel", + "async-task", + "futures-io", + "futures-lite", + "piper", +] + +[[package]] +name = "brotli" +version = "8.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bd8b9603c7aa97359dbd97ecf258968c95f3adddd6db2f7e7a5bef101c84560" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "bumpalo" +version = "3.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" + +[[package]] +name = "bytemuck" +version = "1.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" +dependencies = [ + "serde", +] + +[[package]] +name = "cairo-rs" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" +dependencies = [ + "bitflags 2.10.0", + "cairo-sys-rs", + "glib", + "libc", + "once_cell", + "thiserror 1.0.69", +] + +[[package]] +name = "cairo-sys-rs" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "camino" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" +dependencies = [ + "serde_core", +] + +[[package]] +name = "cargo-platform" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" +dependencies = [ + "camino", + "cargo-platform", + "semver", + "serde", + "serde_json", + "thiserror 2.0.18", +] + +[[package]] +name = "cargo_toml" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "374b7c592d9c00c1f4972ea58390ac6b18cbb6ab79011f3bdc90a0b82ca06b77" +dependencies = [ + "serde", + "toml 0.9.11+spec-1.1.0", +] + +[[package]] +name = "cc" +version = "1.2.53" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "755d2fce177175ffca841e9a06afdb2c4ab0f593d53b4dee48147dfaade85932" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + +[[package]] +name = "cfb" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f" +dependencies = [ + "byteorder", + "fnv", + "uuid", +] + +[[package]] +name = "cfg-expr" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" +dependencies = [ + "smallvec", + "target-lexicon", +] + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "chronara" +version = "0.1.0" +dependencies = [ + "serde", + "serde_json", + "tauri", + "tauri-build", + "tauri-plugin-opener", + "windows 0.62.2", +] + +[[package]] +name = "chrono" +version = "0.4.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" +dependencies = [ + "iana-time-zone", + "num-traits", + "serde", + "windows-link 0.2.1", +] + +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "cookie" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" +dependencies = [ + "time", + "version_check", +] + +[[package]] +name = "core-foundation" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "core-graphics" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa95a34622365fa5bbf40b20b75dba8dfa8c94c734aea8ac9a5ca38af14316f1" +dependencies = [ + "bitflags 2.10.0", + "core-foundation", + "core-graphics-types", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" +dependencies = [ + "bitflags 2.10.0", + "core-foundation", + "libc", +] + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crypto-common" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "cssparser" +version = "0.29.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93d03419cb5950ccfd3daf3ff1c7a36ace64609a1a8746d493df1ca0afde0fa" +dependencies = [ + "cssparser-macros", + "dtoa-short", + "itoa", + "matches", + "phf 0.10.1", + "proc-macro2", + "quote", + "smallvec", + "syn 1.0.109", +] + +[[package]] +name = "cssparser-macros" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" +dependencies = [ + "quote", + "syn 2.0.114", +] + +[[package]] +name = "ctor" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501" +dependencies = [ + "quote", + "syn 2.0.114", +] + +[[package]] +name = "darling" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.114", +] + +[[package]] +name = "darling_macro" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "deranged" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" +dependencies = [ + "powerfmt", + "serde_core", +] + +[[package]] +name = "derive_more" +version = "0.99.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version", + "syn 2.0.114", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "dirs" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.61.2", +] + +[[package]] +name = "dispatch" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + +[[package]] +name = "dispatch2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" +dependencies = [ + "bitflags 2.10.0", + "objc2", +] + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "dlopen2" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e2c5bd4158e66d1e215c49b837e11d62f3267b30c92f1d171c4d3105e3dc4d4" +dependencies = [ + "dlopen2_derive", + "libc", + "once_cell", + "winapi", +] + +[[package]] +name = "dlopen2_derive" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fbbb781877580993a8707ec48672673ec7b81eeba04cfd2310bd28c08e47c8f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "dpi" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" +dependencies = [ + "serde", +] + +[[package]] +name = "dtoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c3cf4824e2d5f025c7b531afcb2325364084a16806f6d47fbc1f5fbd9960590" + +[[package]] +name = "dtoa-short" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87" +dependencies = [ + "dtoa", +] + +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + +[[package]] +name = "dyn-clone" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" + +[[package]] +name = "embed-resource" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55a075fc573c64510038d7ee9abc7990635863992f83ebc52c8b433b8411a02e" +dependencies = [ + "cc", + "memchr", + "rustc_version", + "toml 0.9.11+spec-1.1.0", + "vswhom", + "winreg", +] + +[[package]] +name = "embed_plist" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" + +[[package]] +name = "endi" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66b7e2430c6dff6a955451e2cfc438f09cea1965a9d6f87f7e3b90decc014099" + +[[package]] +name = "enumflags2" +version = "0.7.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef" +dependencies = [ + "enumflags2_derive", + "serde", +] + +[[package]] +name = "enumflags2_derive" +version = "0.7.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "erased-serde" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3" +dependencies = [ + "serde", + "serde_core", + "typeid", +] + +[[package]] +name = "errno" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "event-listener" +version = "5.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" +dependencies = [ + "event-listener", + "pin-project-lite", +] + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[package]] +name = "fdeflate" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "field-offset" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" +dependencies = [ + "memoffset", + "rustc_version", +] + +[[package]] +name = "find-msvc-tools" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db" + +[[package]] +name = "flate2" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b375d6465b98090a5f25b1c7703f3859783755aa9a80433b36e0379a3ec2f369" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + +[[package]] +name = "form_urlencoded" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futf" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" +dependencies = [ + "mac", + "new_debug_unreachable", +] + +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "futures-executor" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-lite" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "parking", + "pin-project-lite", +] + +[[package]] +name = "futures-macro" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + +[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "gdk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9f245958c627ac99d8e529166f9823fb3b838d1d41fd2b297af3075093c2691" +dependencies = [ + "cairo-rs", + "gdk-pixbuf", + "gdk-sys", + "gio", + "glib", + "libc", + "pango", +] + +[[package]] +name = "gdk-pixbuf" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec" +dependencies = [ + "gdk-pixbuf-sys", + "gio", + "glib", + "libc", + "once_cell", +] + +[[package]] +name = "gdk-pixbuf-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7" +dependencies = [ + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "gdk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c2d13f38594ac1e66619e188c6d5a1adb98d11b2fcf7894fc416ad76aa2f3f7" +dependencies = [ + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "pkg-config", + "system-deps", +] + +[[package]] +name = "gdkwayland-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "140071d506d223f7572b9f09b5e155afbd77428cd5cc7af8f2694c41d98dfe69" +dependencies = [ + "gdk-sys", + "glib-sys", + "gobject-sys", + "libc", + "pkg-config", + "system-deps", +] + +[[package]] +name = "gdkx11" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3caa00e14351bebbc8183b3c36690327eb77c49abc2268dd4bd36b856db3fbfe" +dependencies = [ + "gdk", + "gdkx11-sys", + "gio", + "glib", + "libc", + "x11", +] + +[[package]] +name = "gdkx11-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e2e7445fe01ac26f11601db260dd8608fe172514eb63b3b5e261ea6b0f4428d" +dependencies = [ + "gdk-sys", + "glib-sys", + "libc", + "system-deps", + "x11", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.11.1+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasip2", +] + +[[package]] +name = "gio" +version = "0.18.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "gio-sys", + "glib", + "libc", + "once_cell", + "pin-project-lite", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "gio-sys" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", + "winapi", +] + +[[package]] +name = "glib" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" +dependencies = [ + "bitflags 2.10.0", + "futures-channel", + "futures-core", + "futures-executor", + "futures-task", + "futures-util", + "gio-sys", + "glib-macros", + "glib-sys", + "gobject-sys", + "libc", + "memchr", + "once_cell", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "glib-macros" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc" +dependencies = [ + "heck 0.4.1", + "proc-macro-crate 2.0.2", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "glib-sys" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898" +dependencies = [ + "libc", + "system-deps", +] + +[[package]] +name = "glob" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" + +[[package]] +name = "gobject-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "gtk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd56fb197bfc42bd5d2751f4f017d44ff59fbb58140c6b49f9b3b2bdab08506a" +dependencies = [ + "atk", + "cairo-rs", + "field-offset", + "futures-channel", + "gdk", + "gdk-pixbuf", + "gio", + "glib", + "gtk-sys", + "gtk3-macros", + "libc", + "pango", + "pkg-config", +] + +[[package]] +name = "gtk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f29a1c21c59553eb7dd40e918be54dccd60c52b049b75119d5d96ce6b624414" +dependencies = [ + "atk-sys", + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "system-deps", +] + +[[package]] +name = "gtk3-macros" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ff3c5b21f14f0736fed6dcfc0bfb4225ebf5725f3c0209edeec181e4d73e9d" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "html5ever" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b7410cae13cbc75623c98ac4cbfd1f0bedddf3227afc24f370cf0f50a44a11c" +dependencies = [ + "log", + "mac", + "markup5ever", + "match_token", +] + +[[package]] +name = "http" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" +dependencies = [ + "bytes", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "hyper" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" +dependencies = [ + "atomic-waker", + "bytes", + "futures-channel", + "futures-core", + "http", + "http-body", + "httparse", + "itoa", + "pin-project-lite", + "pin-utils", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-util" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "http", + "http-body", + "hyper", + "ipnet", + "libc", + "percent-encoding", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "log", + "wasm-bindgen", + "windows-core 0.62.2", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "ico" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc50b891e4acf8fe0e71ef88ec43ad82ee07b3810ad09de10f1d01f072ed4b98" +dependencies = [ + "byteorder", + "png", +] + +[[package]] +name = "icu_collections" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" + +[[package]] +name = "icu_properties" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" +dependencies = [ + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" + +[[package]] +name = "icu_provider" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +dependencies = [ + "displaydoc", + "icu_locale_core", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" +dependencies = [ + "equivalent", + "hashbrown 0.16.1", + "serde", + "serde_core", +] + +[[package]] +name = "infer" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a588916bfdfd92e71cacef98a63d9b1f0d74d6599980d11894290e7ddefffcf7" +dependencies = [ + "cfb", +] + +[[package]] +name = "ipnet" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" + +[[package]] +name = "iri-string" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c91338f0783edbd6195decb37bae672fd3b165faffb89bf7b9e6942f8b1a731a" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "is-docker" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3" +dependencies = [ + "once_cell", +] + +[[package]] +name = "is-wsl" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5" +dependencies = [ + "is-docker", + "once_cell", +] + +[[package]] +name = "itoa" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" + +[[package]] +name = "javascriptcore-rs" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca5671e9ffce8ffba57afc24070e906da7fc4b1ba66f2cabebf61bf2ea257fcc" +dependencies = [ + "bitflags 1.3.2", + "glib", + "javascriptcore-rs-sys", +] + +[[package]] +name = "javascriptcore-rs-sys" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af1be78d14ffa4b75b66df31840478fef72b51f8c2465d4ca7c194da9f7a5124" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys", + "log", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + +[[package]] +name = "js-sys" +version = "0.3.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "json-patch" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "863726d7afb6bc2590eeff7135d923545e5e964f004c2ccf8716c25e70a86f08" +dependencies = [ + "jsonptr", + "serde", + "serde_json", + "thiserror 1.0.69", +] + +[[package]] +name = "jsonptr" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dea2b27dd239b2556ed7a25ba842fe47fd602e7fc7433c2a8d6106d4d9edd70" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "keyboard-types" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" +dependencies = [ + "bitflags 2.10.0", + "serde", + "unicode-segmentation", +] + +[[package]] +name = "kuchikiki" +version = "0.8.8-speedreader" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02cb977175687f33fa4afa0c95c112b987ea1443e5a51c8f8ff27dc618270cc2" +dependencies = [ + "cssparser", + "html5ever", + "indexmap 2.13.0", + "selectors", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "libappindicator" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03589b9607c868cc7ae54c0b2a22c8dc03dd41692d48f2d7df73615c6a95dc0a" +dependencies = [ + "glib", + "gtk", + "gtk-sys", + "libappindicator-sys", + "log", +] + +[[package]] +name = "libappindicator-sys" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e9ec52138abedcc58dc17a7c6c0c00a2bdb4f3427c7f63fa97fd0d859155caf" +dependencies = [ + "gtk-sys", + "libloading", + "once_cell", +] + +[[package]] +name = "libc" +version = "0.2.180" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" + +[[package]] +name = "libloading" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +dependencies = [ + "cfg-if", + "winapi", +] + +[[package]] +name = "libredox" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616" +dependencies = [ + "bitflags 2.10.0", + "libc", +] + +[[package]] +name = "linux-raw-sys" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" + +[[package]] +name = "litemap" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" + +[[package]] +name = "mac" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" + +[[package]] +name = "markup5ever" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7a7213d12e1864c0f002f52c2923d4556935a43dec5e71355c2760e0f6e7a18" +dependencies = [ + "log", + "phf 0.11.3", + "phf_codegen 0.11.3", + "string_cache", + "string_cache_codegen", + "tendril", +] + +[[package]] +name = "match_token" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88a9689d8d44bf9964484516275f5cd4c9b59457a6940c1d5d0ecbb94510a36b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "matches" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" + +[[package]] +name = "memchr" +version = "2.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" + +[[package]] +name = "memoffset" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" +dependencies = [ + "libc", + "wasi 0.11.1+wasi-snapshot-preview1", + "windows-sys 0.61.2", +] + +[[package]] +name = "muda" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01c1738382f66ed56b3b9c8119e794a2e23148ac8ea214eda86622d4cb9d415a" +dependencies = [ + "crossbeam-channel", + "dpi", + "gtk", + "keyboard-types", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "once_cell", + "png", + "serde", + "thiserror 2.0.18", + "windows-sys 0.60.2", +] + +[[package]] +name = "ndk" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" +dependencies = [ + "bitflags 2.10.0", + "jni-sys", + "log", + "ndk-sys", + "num_enum", + "raw-window-handle", + "thiserror 1.0.69", +] + +[[package]] +name = "ndk-context" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" + +[[package]] +name = "ndk-sys" +version = "0.6.0+11769913" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" +dependencies = [ + "jni-sys", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "nodrop" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_enum" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" +dependencies = [ + "num_enum_derive", + "rustversion", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" +dependencies = [ + "proc-macro-crate 3.4.0", + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "objc2" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c2599ce0ec54857b29ce62166b0ed9b4f6f1a70ccc9a71165b6154caca8c05" +dependencies = [ + "objc2-encode", + "objc2-exception-helper", +] + +[[package]] +name = "objc2-app-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" +dependencies = [ + "bitflags 2.10.0", + "block2", + "libc", + "objc2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-core-image", + "objc2-core-text", + "objc2-core-video", + "objc2-foundation", + "objc2-quartz-core", +] + +[[package]] +name = "objc2-cloud-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73ad74d880bb43877038da939b7427bba67e9dd42004a18b809ba7d87cee241c" +dependencies = [ + "bitflags 2.10.0", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-data" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b402a653efbb5e82ce4df10683b6b28027616a2715e90009947d50b8dd298fa" +dependencies = [ + "bitflags 2.10.0", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" +dependencies = [ + "bitflags 2.10.0", + "dispatch2", + "objc2", +] + +[[package]] +name = "objc2-core-graphics" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" +dependencies = [ + "bitflags 2.10.0", + "dispatch2", + "objc2", + "objc2-core-foundation", + "objc2-io-surface", +] + +[[package]] +name = "objc2-core-image" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d563b38d2b97209f8e861173de434bd0214cf020e3423a52624cd1d989f006" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-text" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d" +dependencies = [ + "bitflags 2.10.0", + "objc2", + "objc2-core-foundation", + "objc2-core-graphics", +] + +[[package]] +name = "objc2-core-video" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d425caf1df73233f29fd8a5c3e5edbc30d2d4307870f802d18f00d83dc5141a6" +dependencies = [ + "bitflags 2.10.0", + "objc2", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-io-surface", +] + +[[package]] +name = "objc2-encode" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "objc2-exception-helper" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7a1c5fbb72d7735b076bb47b578523aedc40f3c439bea6dfd595c089d79d98a" +dependencies = [ + "cc", +] + +[[package]] +name = "objc2-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" +dependencies = [ + "bitflags 2.10.0", + "block2", + "libc", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-io-surface" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" +dependencies = [ + "bitflags 2.10.0", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-javascript-core" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a1e6550c4caed348956ce3370c9ffeca70bb1dbed4fa96112e7c6170e074586" +dependencies = [ + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" +dependencies = [ + "bitflags 2.10.0", + "objc2", + "objc2-core-foundation", + "objc2-foundation", +] + +[[package]] +name = "objc2-security" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "709fe137109bd1e8b5a99390f77a7d8b2961dafc1a1c5db8f2e60329ad6d895a" +dependencies = [ + "bitflags 2.10.0", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-ui-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" +dependencies = [ + "bitflags 2.10.0", + "objc2", + "objc2-core-foundation", + "objc2-foundation", +] + +[[package]] +name = "objc2-web-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2e5aaab980c433cf470df9d7af96a7b46a9d892d521a2cbbb2f8a4c16751e7f" +dependencies = [ + "bitflags 2.10.0", + "block2", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "objc2-javascript-core", + "objc2-security", +] + +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "open" +version = "5.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43bb73a7fa3799b198970490a51174027ba0d4ec504b03cd08caf513d40024bc" +dependencies = [ + "dunce", + "is-wsl", + "libc", + "pathdiff", +] + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "ordered-stream" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" +dependencies = [ + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "pango" +version = "0.18.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4" +dependencies = [ + "gio", + "glib", + "libc", + "once_cell", + "pango-sys", +] + +[[package]] +name = "pango-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + +[[package]] +name = "parking_lot" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-link 0.2.1", +] + +[[package]] +name = "pathdiff" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" + +[[package]] +name = "percent-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" + +[[package]] +name = "phf" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" +dependencies = [ + "phf_shared 0.8.0", +] + +[[package]] +name = "phf" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" +dependencies = [ + "phf_macros 0.10.0", + "phf_shared 0.10.0", + "proc-macro-hack", +] + +[[package]] +name = "phf" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" +dependencies = [ + "phf_macros 0.11.3", + "phf_shared 0.11.3", +] + +[[package]] +name = "phf_codegen" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" +dependencies = [ + "phf_generator 0.8.0", + "phf_shared 0.8.0", +] + +[[package]] +name = "phf_codegen" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" +dependencies = [ + "phf_generator 0.11.3", + "phf_shared 0.11.3", +] + +[[package]] +name = "phf_generator" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" +dependencies = [ + "phf_shared 0.8.0", + "rand 0.7.3", +] + +[[package]] +name = "phf_generator" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" +dependencies = [ + "phf_shared 0.10.0", + "rand 0.8.5", +] + +[[package]] +name = "phf_generator" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" +dependencies = [ + "phf_shared 0.11.3", + "rand 0.8.5", +] + +[[package]] +name = "phf_macros" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" +dependencies = [ + "phf_generator 0.10.0", + "phf_shared 0.10.0", + "proc-macro-hack", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "phf_macros" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" +dependencies = [ + "phf_generator 0.11.3", + "phf_shared 0.11.3", + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "phf_shared" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" +dependencies = [ + "siphasher 0.3.11", +] + +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher 0.3.11", +] + +[[package]] +name = "phf_shared" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" +dependencies = [ + "siphasher 1.0.1", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "piper" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" +dependencies = [ + "atomic-waker", + "fastrand", + "futures-io", +] + +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + +[[package]] +name = "plist" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "740ebea15c5d1428f910cd1a5f52cebf8d25006245ed8ade92702f4943d91e07" +dependencies = [ + "base64 0.22.1", + "indexmap 2.13.0", + "quick-xml", + "serde", + "time", +] + +[[package]] +name = "png" +version = "0.17.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "polling" +version = "3.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" +dependencies = [ + "cfg-if", + "concurrent-queue", + "hermit-abi", + "pin-project-lite", + "rustix", + "windows-sys 0.61.2", +] + +[[package]] +name = "potential_utf" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +dependencies = [ + "zerovec", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" +dependencies = [ + "toml_datetime 0.6.3", + "toml_edit 0.20.2", +] + +[[package]] +name = "proc-macro-crate" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" +dependencies = [ + "toml_edit 0.23.10+spec-1.0.0", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro-hack" +version = "0.5.20+deprecated" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" + +[[package]] +name = "proc-macro2" +version = "1.0.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.38.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c" +dependencies = [ + "memchr", +] + +[[package]] +name = "quote" +version = "1.0.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc74d9a594b72ae6656596548f56f667211f8a97b3d4c3d467150794690dc40a" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", + "rand_pcg", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.17", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "rand_pcg" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "raw-window-handle" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" + +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags 2.10.0", +] + +[[package]] +name = "redox_users" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" +dependencies = [ + "getrandom 0.2.17", + "libredox", + "thiserror 2.0.18", +] + +[[package]] +name = "ref-cast" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "regex" +version = "1.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" + +[[package]] +name = "reqwest" +version = "0.12.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", + "js-sys", + "log", + "percent-encoding", + "pin-project-lite", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tokio-util", + "tower", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", +] + +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + +[[package]] +name = "rustix" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" +dependencies = [ + "bitflags 2.10.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "rustversion" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" + +[[package]] +name = "ryu" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "schemars" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" +dependencies = [ + "dyn-clone", + "indexmap 1.9.3", + "schemars_derive", + "serde", + "serde_json", + "url", + "uuid", +] + +[[package]] +name = "schemars" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54e910108742c57a770f492731f99be216a52fadd361b06c8fb59d74ccc267d2" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars_derive" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 2.0.114", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "selectors" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c37578180969d00692904465fb7f6b3d50b9a2b952b87c23d0e2e5cb5013416" +dependencies = [ + "bitflags 1.3.2", + "cssparser", + "derive_more", + "fxhash", + "log", + "phf 0.8.0", + "phf_codegen 0.8.0", + "precomputed-hash", + "servo_arc", + "smallvec", +] + +[[package]] +name = "semver" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" +dependencies = [ + "serde", + "serde_core", +] + +[[package]] +name = "serde" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde-untagged" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9faf48a4a2d2693be24c6289dbe26552776eb7737074e6722891fadbe6c5058" +dependencies = [ + "erased-serde", + "serde", + "serde_core", + "typeid", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "serde_derive_internals" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "serde_json" +version = "1.0.149" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "serde_repr" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "serde_spanned" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_spanned" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776" +dependencies = [ + "serde_core", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "3.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fa237f2807440d238e0364a218270b98f767a00d3dada77b1c53ae88940e2e7" +dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.13.0", + "schemars 0.9.0", + "schemars 1.2.0", + "serde_core", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a8e3ca0ca629121f70ab50f95249e5a6f925cc0f6ffe8256c45b728875706c" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "serialize-to-javascript" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04f3666a07a197cdb77cdf306c32be9b7f598d7060d50cfd4d5aa04bfd92f6c5" +dependencies = [ + "serde", + "serde_json", + "serialize-to-javascript-impl", +] + +[[package]] +name = "serialize-to-javascript-impl" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "772ee033c0916d670af7860b6e1ef7d658a4629a6d0b4c8c3e67f09b3765b75d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "servo_arc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52aa42f8fdf0fed91e5ce7f23d8138441002fa31dca008acf47e6fd4721f741" +dependencies = [ + "nodrop", + "stable_deref_trait", +] + +[[package]] +name = "sha2" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signal-hook-registry" +version = "1.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" +dependencies = [ + "errno", + "libc", +] + +[[package]] +name = "simd-adler32" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" + +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + +[[package]] +name = "siphasher" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" + +[[package]] +name = "slab" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" + +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" + +[[package]] +name = "socket2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" +dependencies = [ + "libc", + "windows-sys 0.60.2", +] + +[[package]] +name = "softbuffer" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aac18da81ebbf05109ab275b157c22a653bb3c12cf884450179942f81bcbf6c3" +dependencies = [ + "bytemuck", + "js-sys", + "ndk", + "objc2", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-foundation", + "objc2-quartz-core", + "raw-window-handle", + "redox_syscall", + "tracing", + "wasm-bindgen", + "web-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "soup3" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "471f924a40f31251afc77450e781cb26d55c0b650842efafc9c6cbd2f7cc4f9f" +dependencies = [ + "futures-channel", + "gio", + "glib", + "libc", + "soup3-sys", +] + +[[package]] +name = "soup3-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ebe8950a680a12f24f15ebe1bf70db7af98ad242d9db43596ad3108aab86c27" +dependencies = [ + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + +[[package]] +name = "string_cache" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f" +dependencies = [ + "new_debug_unreachable", + "parking_lot", + "phf_shared 0.11.3", + "precomputed-hash", + "serde", +] + +[[package]] +name = "string_cache_codegen" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0" +dependencies = [ + "phf_generator 0.11.3", + "phf_shared 0.11.3", + "proc-macro2", + "quote", +] + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "swift-rs" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4057c98e2e852d51fdcfca832aac7b571f6b351ad159f9eda5db1655f8d0c4d7" +dependencies = [ + "base64 0.21.7", + "serde", + "serde_json", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] + +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "system-deps" +version = "6.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" +dependencies = [ + "cfg-expr", + "heck 0.5.0", + "pkg-config", + "toml 0.8.2", + "version-compare", +] + +[[package]] +name = "tao" +version = "0.34.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3a753bdc39c07b192151523a3f77cd0394aa75413802c883a0f6f6a0e5ee2e7" +dependencies = [ + "bitflags 2.10.0", + "block2", + "core-foundation", + "core-graphics", + "crossbeam-channel", + "dispatch", + "dlopen2", + "dpi", + "gdkwayland-sys", + "gdkx11-sys", + "gtk", + "jni", + "lazy_static", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "once_cell", + "parking_lot", + "raw-window-handle", + "scopeguard", + "tao-macros", + "unicode-segmentation", + "url", + "windows 0.61.3", + "windows-core 0.61.2", + "windows-version", + "x11-dl", +] + +[[package]] +name = "tao-macros" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4e16beb8b2ac17db28eab8bca40e62dbfbb34c0fcdc6d9826b11b7b5d047dfd" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "target-lexicon" +version = "0.12.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" + +[[package]] +name = "tauri" +version = "2.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a3868da5508446a7cd08956d523ac3edf0a8bc20bf7e4038f9a95c2800d2033" +dependencies = [ + "anyhow", + "bytes", + "cookie", + "dirs", + "dunce", + "embed_plist", + "getrandom 0.3.4", + "glob", + "gtk", + "heck 0.5.0", + "http", + "jni", + "libc", + "log", + "mime", + "muda", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", + "objc2-web-kit", + "percent-encoding", + "plist", + "raw-window-handle", + "reqwest", + "serde", + "serde_json", + "serde_repr", + "serialize-to-javascript", + "swift-rs", + "tauri-build", + "tauri-macros", + "tauri-runtime", + "tauri-runtime-wry", + "tauri-utils", + "thiserror 2.0.18", + "tokio", + "tray-icon", + "url", + "webkit2gtk", + "webview2-com", + "window-vibrancy", + "windows 0.61.3", +] + +[[package]] +name = "tauri-build" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17fcb8819fd16463512a12f531d44826ce566f486d7ccd211c9c8cebdaec4e08" +dependencies = [ + "anyhow", + "cargo_toml", + "dirs", + "glob", + "heck 0.5.0", + "json-patch", + "schemars 0.8.22", + "semver", + "serde", + "serde_json", + "tauri-utils", + "tauri-winres", + "toml 0.9.11+spec-1.1.0", + "walkdir", +] + +[[package]] +name = "tauri-codegen" +version = "2.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa9844cefcf99554a16e0a278156ae73b0d8680bbc0e2ad1e4287aadd8489cf" +dependencies = [ + "base64 0.22.1", + "brotli", + "ico", + "json-patch", + "plist", + "png", + "proc-macro2", + "quote", + "semver", + "serde", + "serde_json", + "sha2", + "syn 2.0.114", + "tauri-utils", + "thiserror 2.0.18", + "time", + "url", + "uuid", + "walkdir", +] + +[[package]] +name = "tauri-macros" +version = "2.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3764a12f886d8245e66b7ee9b43ccc47883399be2019a61d80cf0f4117446fde" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.114", + "tauri-codegen", + "tauri-utils", +] + +[[package]] +name = "tauri-plugin" +version = "2.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e1d0a4860b7ff570c891e1d2a586bf1ede205ff858fbc305e0b5ae5d14c1377" +dependencies = [ + "anyhow", + "glob", + "plist", + "schemars 0.8.22", + "serde", + "serde_json", + "tauri-utils", + "toml 0.9.11+spec-1.1.0", + "walkdir", +] + +[[package]] +name = "tauri-plugin-opener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc624469b06f59f5a29f874bbc61a2ed737c0f9c23ef09855a292c389c42e83f" +dependencies = [ + "dunce", + "glob", + "objc2-app-kit", + "objc2-foundation", + "open", + "schemars 0.8.22", + "serde", + "serde_json", + "tauri", + "tauri-plugin", + "thiserror 2.0.18", + "url", + "windows 0.61.3", + "zbus", +] + +[[package]] +name = "tauri-runtime" +version = "2.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f766fe9f3d1efc4b59b17e7a891ad5ed195fa8d23582abb02e6c9a01137892" +dependencies = [ + "cookie", + "dpi", + "gtk", + "http", + "jni", + "objc2", + "objc2-ui-kit", + "objc2-web-kit", + "raw-window-handle", + "serde", + "serde_json", + "tauri-utils", + "thiserror 2.0.18", + "url", + "webkit2gtk", + "webview2-com", + "windows 0.61.3", +] + +[[package]] +name = "tauri-runtime-wry" +version = "2.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "187a3f26f681bdf028f796ccf57cf478c1ee422c50128e5a0a6ebeb3f5910065" +dependencies = [ + "gtk", + "http", + "jni", + "log", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "once_cell", + "percent-encoding", + "raw-window-handle", + "softbuffer", + "tao", + "tauri-runtime", + "tauri-utils", + "url", + "webkit2gtk", + "webview2-com", + "windows 0.61.3", + "wry", +] + +[[package]] +name = "tauri-utils" +version = "2.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76a423c51176eb3616ee9b516a9fa67fed5f0e78baaba680e44eb5dd2cc37490" +dependencies = [ + "anyhow", + "brotli", + "cargo_metadata", + "ctor", + "dunce", + "glob", + "html5ever", + "http", + "infer", + "json-patch", + "kuchikiki", + "log", + "memchr", + "phf 0.11.3", + "proc-macro2", + "quote", + "regex", + "schemars 0.8.22", + "semver", + "serde", + "serde-untagged", + "serde_json", + "serde_with", + "swift-rs", + "thiserror 2.0.18", + "toml 0.9.11+spec-1.1.0", + "url", + "urlpattern", + "uuid", + "walkdir", +] + +[[package]] +name = "tauri-winres" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1087b111fe2b005e42dbdc1990fc18593234238d47453b0c99b7de1c9ab2c1e0" +dependencies = [ + "dunce", + "embed-resource", + "toml 0.9.11+spec-1.1.0", +] + +[[package]] +name = "tempfile" +version = "3.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c" +dependencies = [ + "fastrand", + "getrandom 0.3.4", + "once_cell", + "rustix", + "windows-sys 0.61.2", +] + +[[package]] +name = "tendril" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" +dependencies = [ + "futf", + "mac", + "utf-8", +] + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" +dependencies = [ + "thiserror-impl 2.0.18", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "time" +version = "0.3.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9e442fc33d7fdb45aa9bfeb312c095964abdf596f7567261062b2a7107aaabd" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde_core", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b36ee98fd31ec7426d599183e8fe26932a8dc1fb76ddb6214d05493377d34ca" + +[[package]] +name = "time-macros" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71e552d1249bf61ac2a52db88179fd0673def1e1ad8243a00d9ec9ed71fee3dd" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tinystr" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tokio" +version = "1.49.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" +dependencies = [ + "bytes", + "libc", + "mio", + "pin-project-lite", + "socket2", + "windows-sys 0.61.2", +] + +[[package]] +name = "tokio-util" +version = "0.7.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" +dependencies = [ + "serde", + "serde_spanned 0.6.9", + "toml_datetime 0.6.3", + "toml_edit 0.20.2", +] + +[[package]] +name = "toml" +version = "0.9.11+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3afc9a848309fe1aaffaed6e1546a7a14de1f935dc9d89d32afd9a44bab7c46" +dependencies = [ + "indexmap 2.13.0", + "serde_core", + "serde_spanned 1.0.4", + "toml_datetime 0.7.5+spec-1.1.0", + "toml_parser", + "toml_writer", + "winnow 0.7.14", +] + +[[package]] +name = "toml_datetime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_datetime" +version = "0.7.5+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" +dependencies = [ + "serde_core", +] + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.13.0", + "toml_datetime 0.6.3", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +dependencies = [ + "indexmap 2.13.0", + "serde", + "serde_spanned 0.6.9", + "toml_datetime 0.6.3", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.23.10+spec-1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269" +dependencies = [ + "indexmap 2.13.0", + "toml_datetime 0.7.5+spec-1.1.0", + "toml_parser", + "winnow 0.7.14", +] + +[[package]] +name = "toml_parser" +version = "1.0.6+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44" +dependencies = [ + "winnow 0.7.14", +] + +[[package]] +name = "toml_writer" +version = "1.0.6+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607" + +[[package]] +name = "tower" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-http" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" +dependencies = [ + "bitflags 2.10.0", + "bytes", + "futures-util", + "http", + "http-body", + "iri-string", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + +[[package]] +name = "tracing" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "tracing-core" +version = "0.1.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "tray-icon" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e85aa143ceb072062fc4d6356c1b520a51d636e7bc8e77ec94be3608e5e80c" +dependencies = [ + "crossbeam-channel", + "dirs", + "libappindicator", + "muda", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-foundation", + "once_cell", + "png", + "serde", + "thiserror 2.0.18", + "windows-sys 0.60.2", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "typeid" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" + +[[package]] +name = "typenum" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" + +[[package]] +name = "uds_windows" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" +dependencies = [ + "memoffset", + "tempfile", + "winapi", +] + +[[package]] +name = "unic-char-property" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221" +dependencies = [ + "unic-char-range", +] + +[[package]] +name = "unic-char-range" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc" + +[[package]] +name = "unic-common" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc" + +[[package]] +name = "unic-ucd-ident" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e230a37c0381caa9219d67cf063aa3a375ffed5bf541a452db16e744bdab6987" +dependencies = [ + "unic-char-property", + "unic-char-range", + "unic-ucd-version", +] + +[[package]] +name = "unic-ucd-version" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4" +dependencies = [ + "unic-common", +] + +[[package]] +name = "unicode-ident" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" + +[[package]] +name = "unicode-segmentation" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + +[[package]] +name = "url" +version = "2.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", + "serde_derive", +] + +[[package]] +name = "urlpattern" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70acd30e3aa1450bc2eece896ce2ad0d178e9c079493819301573dae3c37ba6d" +dependencies = [ + "regex", + "serde", + "unic-ucd-ident", + "url", +] + +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "uuid" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a" +dependencies = [ + "getrandom 0.3.4", + "js-sys", + "serde_core", + "wasm-bindgen", +] + +[[package]] +name = "version-compare" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "vswhom" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b" +dependencies = [ + "libc", + "vswhom-sys", +] + +[[package]] +name = "vswhom-sys" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb067e4cbd1ff067d1df46c9194b5de0e98efd2810bbc95c5d5e5f25a3231150" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasip2" +version = "1.0.2+wasi-0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70a6e77fd0ae8029c9ea0063f87c46fde723e7d887703d74ad2616d792e51e6f" +dependencies = [ + "cfg-if", + "futures-util", + "js-sys", + "once_cell", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" +dependencies = [ + "bumpalo", + "proc-macro2", + "quote", + "syn 2.0.114", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "wasm-streams" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "web-sys" +version = "0.3.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "312e32e551d92129218ea9a2452120f4aabc03529ef03e4d0d82fb2780608598" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webkit2gtk" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76b1bc1e54c581da1e9f179d0b38512ba358fb1af2d634a1affe42e37172361a" +dependencies = [ + "bitflags 1.3.2", + "cairo-rs", + "gdk", + "gdk-sys", + "gio", + "gio-sys", + "glib", + "glib-sys", + "gobject-sys", + "gtk", + "gtk-sys", + "javascriptcore-rs", + "libc", + "once_cell", + "soup3", + "webkit2gtk-sys", +] + +[[package]] +name = "webkit2gtk-sys" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62daa38afc514d1f8f12b8693d30d5993ff77ced33ce30cd04deebc267a6d57c" +dependencies = [ + "bitflags 1.3.2", + "cairo-sys-rs", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "gtk-sys", + "javascriptcore-rs-sys", + "libc", + "pkg-config", + "soup3-sys", + "system-deps", +] + +[[package]] +name = "webview2-com" +version = "0.38.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7130243a7a5b33c54a444e54842e6a9e133de08b5ad7b5861cd8ed9a6a5bc96a" +dependencies = [ + "webview2-com-macros", + "webview2-com-sys", + "windows 0.61.3", + "windows-core 0.61.2", + "windows-implement", + "windows-interface", +] + +[[package]] +name = "webview2-com-macros" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a921c1b6914c367b2b823cd4cde6f96beec77d30a939c8199bb377cf9b9b54" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "webview2-com-sys" +version = "0.38.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "381336cfffd772377d291702245447a5251a2ffa5bad679c99e61bc48bacbf9c" +dependencies = [ + "thiserror 2.0.18", + "windows 0.61.3", + "windows-core 0.61.2", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "window-vibrancy" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9bec5a31f3f9362f2258fd0e9c9dd61a9ca432e7306cc78c444258f0dce9a9c" +dependencies = [ + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "raw-window-handle", + "windows-sys 0.59.0", + "windows-version", +] + +[[package]] +name = "windows" +version = "0.61.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" +dependencies = [ + "windows-collections 0.2.0", + "windows-core 0.61.2", + "windows-future 0.2.1", + "windows-link 0.1.3", + "windows-numerics 0.2.0", +] + +[[package]] +name = "windows" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580" +dependencies = [ + "windows-collections 0.3.2", + "windows-core 0.62.2", + "windows-future 0.3.2", + "windows-numerics 0.3.1", +] + +[[package]] +name = "windows-collections" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" +dependencies = [ + "windows-core 0.61.2", +] + +[[package]] +name = "windows-collections" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610" +dependencies = [ + "windows-core 0.62.2", +] + +[[package]] +name = "windows-core" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link 0.1.3", + "windows-result 0.3.4", + "windows-strings 0.4.2", +] + +[[package]] +name = "windows-core" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link 0.2.1", + "windows-result 0.4.1", + "windows-strings 0.5.1", +] + +[[package]] +name = "windows-future" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", + "windows-threading 0.1.0", +] + +[[package]] +name = "windows-future" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb" +dependencies = [ + "windows-core 0.62.2", + "windows-link 0.2.1", + "windows-threading 0.2.1", +] + +[[package]] +name = "windows-implement" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "windows-interface" +version = "0.59.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "windows-link" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-numerics" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", +] + +[[package]] +name = "windows-numerics" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26" +dependencies = [ + "windows-core 0.62.2", + "windows-link 0.2.1", +] + +[[package]] +name = "windows-result" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-strings" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-strings" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.5", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm 0.52.6", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.53.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +dependencies = [ + "windows-link 0.2.1", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", +] + +[[package]] +name = "windows-threading" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-threading" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-version" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4060a1da109b9d0326b7262c8e12c84df67cc0dbc9e33cf49e01ccc2eb63631" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_i686_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.7.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.55.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb5a765337c50e9ec252c2069be9bf91c7df47afb103b642ba3a53bf8101be97" +dependencies = [ + "cfg-if", + "windows-sys 0.59.0", +] + +[[package]] +name = "wit-bindgen" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" + +[[package]] +name = "writeable" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" + +[[package]] +name = "wry" +version = "0.53.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728b7d4c8ec8d81cab295e0b5b8a4c263c0d41a785fb8f8c4df284e5411140a2" +dependencies = [ + "base64 0.22.1", + "block2", + "cookie", + "crossbeam-channel", + "dirs", + "dpi", + "dunce", + "gdkx11", + "gtk", + "html5ever", + "http", + "javascriptcore-rs", + "jni", + "kuchikiki", + "libc", + "ndk", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "objc2-ui-kit", + "objc2-web-kit", + "once_cell", + "percent-encoding", + "raw-window-handle", + "sha2", + "soup3", + "tao-macros", + "thiserror 2.0.18", + "url", + "webkit2gtk", + "webkit2gtk-sys", + "webview2-com", + "windows 0.61.3", + "windows-core 0.61.2", + "windows-version", + "x11-dl", +] + +[[package]] +name = "x11" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" +dependencies = [ + "libc", + "pkg-config", +] + +[[package]] +name = "x11-dl" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" +dependencies = [ + "libc", + "once_cell", + "pkg-config", +] + +[[package]] +name = "yoke" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" +dependencies = [ + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", + "synstructure", +] + +[[package]] +name = "zbus" +version = "5.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfeff997a0aaa3eb20c4652baf788d2dfa6d2839a0ead0b3ff69ce2f9c4bdd1" +dependencies = [ + "async-broadcast", + "async-executor", + "async-io", + "async-lock", + "async-process", + "async-recursion", + "async-task", + "async-trait", + "blocking", + "enumflags2", + "event-listener", + "futures-core", + "futures-lite", + "hex", + "libc", + "ordered-stream", + "rustix", + "serde", + "serde_repr", + "tracing", + "uds_windows", + "uuid", + "windows-sys 0.61.2", + "winnow 0.7.14", + "zbus_macros", + "zbus_names", + "zvariant", +] + +[[package]] +name = "zbus_macros" +version = "5.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bbd5a90dbe8feee5b13def448427ae314ccd26a49cac47905cafefb9ff846f1" +dependencies = [ + "proc-macro-crate 3.4.0", + "proc-macro2", + "quote", + "syn 2.0.114", + "zbus_names", + "zvariant", + "zvariant_utils", +] + +[[package]] +name = "zbus_names" +version = "4.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffd8af6d5b78619bab301ff3c560a5bd22426150253db278f164d6cf3b72c50f" +dependencies = [ + "serde", + "winnow 0.7.14", + "zvariant", +] + +[[package]] +name = "zerocopy" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "668f5168d10b9ee831de31933dc111a459c97ec93225beb307aed970d1372dfd" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", + "synstructure", +] + +[[package]] +name = "zerotrie" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "zmij" +version = "1.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfcd145825aace48cff44a8844de64bf75feec3080e0aa5cdbde72961ae51a65" + +[[package]] +name = "zvariant" +version = "5.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68b64ef4f40c7951337ddc7023dd03528a57a3ce3408ee9da5e948bd29b232c4" +dependencies = [ + "endi", + "enumflags2", + "serde", + "winnow 0.7.14", + "zvariant_derive", + "zvariant_utils", +] + +[[package]] +name = "zvariant_derive" +version = "5.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "484d5d975eb7afb52cc6b929c13d3719a20ad650fea4120e6310de3fc55e415c" +dependencies = [ + "proc-macro-crate 3.4.0", + "proc-macro2", + "quote", + "syn 2.0.114", + "zvariant_utils", +] + +[[package]] +name = "zvariant_utils" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f75c23a64ef8f40f13a6989991e643554d9bef1d682a281160cf0c1bc389c5e9" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "syn 2.0.114", + "winnow 0.7.14", +] diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml new file mode 100644 index 0000000..5c26205 --- /dev/null +++ b/src-tauri/Cargo.toml @@ -0,0 +1,34 @@ +[package] +name = "chronara" +version = "0.1.0" +description = "A meeting transcription and summarisation tool using local AI models" +authors = ["Naomi Carrigan "] +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[lib] +# The `_lib` suffix may seem redundant but it is necessary +# to make the lib name unique and wouldn't conflict with the bin name. +# This seems to be only an issue on Windows, see https://github.com/rust-lang/cargo/issues/8519 +name = "chronara_lib" +crate-type = ["staticlib", "cdylib", "rlib"] + +[build-dependencies] +tauri-build = { version = "2", features = [] } + +[dependencies] +tauri = { version = "2", features = [] } +tauri-plugin-opener = "2" +serde = { version = "1", features = ["derive"] } +serde_json = "1" + +[target.'cfg(windows)'.dependencies] +windows = { version = "0.62", features = [ + "Win32_System_Com", + "Win32_Foundation", + "Win32_Media_Audio", + "Win32_Media_Audio_Endpoints", + "Win32_System_Threading", +] } + diff --git a/src-tauri/build.rs b/src-tauri/build.rs new file mode 100644 index 0000000..d860e1e --- /dev/null +++ b/src-tauri/build.rs @@ -0,0 +1,3 @@ +fn main() { + tauri_build::build() +} diff --git a/src-tauri/capabilities/default.json b/src-tauri/capabilities/default.json new file mode 100644 index 0000000..4cdbf49 --- /dev/null +++ b/src-tauri/capabilities/default.json @@ -0,0 +1,10 @@ +{ + "$schema": "../gen/schemas/desktop-schema.json", + "identifier": "default", + "description": "Capability for the main window", + "windows": ["main"], + "permissions": [ + "core:default", + "opener:default" + ] +} diff --git a/src-tauri/icons/128x128.png b/src-tauri/icons/128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..6be5e50e9b9ae84d9e2ee433f32ef446495eaf3b GIT binary patch literal 3512 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/128x128@2x.png b/src-tauri/icons/128x128@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..e81becee571e96f76aa5667f9324c05e5e7a4479 GIT binary patch literal 7012 zcmbVRhd10$wEyl}tP&+^)YVI(cM?|boe*`EAflJ(td=N=)q)^ML`czsM6^|+Bsw9{ zRxcr}zQo#ne((JUZ_b&yGjs0DnR90D=ibkqR5KIZYm{u1003Om*VD290MJzz1VG8I zghNo3$CaQ6(7P8508|YBRS-~E%=({7u!XJ$P&2~u=V}1)R5w-!fO-@a-h~tZ*v|E} z)UConyDt}l7;UoqkF36Q(znu2&;PA10!d*~p4ENpMbz?r+@PQ{MTUb1|7*T6z)FB~ zil2(zBtyMbF>;>;YG>)$qf`!S?sVx|uX~h;#^2)qS-lr5`eB=xj`VYjS8X{eYvqSCp!MVQ+Zp)ah!BOx=<<)3_%H{42A-g}l-uWe_bd zKmuE<1$6Cm4{Ur*DPRCoVkX)`R-k#@gC0(4##3?N&+rs2dc29|tL>p|VuZrAb9JK& zu{fyJ_ck5GVdO`1s(8Q(hzs^@I>vkbt=CxD`%fZW@OrB7f}n7S zw;MjWo)({rDJ~hK-aI$VGS)_z6L!~E>Sw6VryiT=rA^<5<)LCh@l9Q9guNI_1-`wRLpA_?^qeI@{^Zz{+lxCXjoOEdxXE6j- z-}9&QGt)!@Lv$n&M0F*?Hb^el0wLG3ZEh`FC7fc?dC$UOXV;wR?D<@Fx%}@lCaE@K zIe00?Dp@Oh{qg!N38;Yn{)LzJuvpv1zn$1R(Led#p|BoLjY%v((9Ybm z*H%8*p0=q|^Sip^4d*N28NWotn@mYF!A9x=%ax4iXabcaAT^36kx<~Xx_9Z zmX)Zbg@R;9>VW8w!AtFGN20whdPb6jV6zmUw`CA5Y~Jtt{stZLXe@PlM@=iR@?l%lMcTv-0ZzU_U#FCgjGl9SWhR#KYD8+^q?uLyD zO|^I%UB9q-$qloS&)ueZ-L=kPvH{M2=gZgt5NnQWGVW{GIcM9AZ-3@9r3p02?cOQ! z6<-Ax;vK=O(lb6SU&z$FE|NJ7tIQ2V>$uunOUI1U9{mf5g#oJ*fnO^A5o2jQ|85>b zxiFGScj!nQE6RN5JEjpG8HtPtYK%QTar{@da0B~8Gioh}Bu(t?6YSVbRMB;ezkU$dH2D9WD2x=-fhMo+Xrmz_NhjTC>f*Kw4P zCFIf?MYz_(N*>U}tV$}LObr)ZQ6gOh3yM*;Xowm7?{w(iu=5vV?>{(BC8}Eqv&Hmve6M6KY z(yc~_FL9R9AiV<_N~x_e=q`H=P6=SraZcXHy__lEyWKbCwW+zLmR*g;T+5bQuWmnW z>&^mpczmZLymWbQ(`LBo>Awvj&S+_>^0BGOi>j^1<;88Z|(NUz;t&t6tm)8}ZfC3K(_uHgh_ih($^E!prj$VF1Wn zVsVh@d4g6UzEwgH7f?&fm`a=c0VoElycf8Xs>}BwC!_lmvR~NSTP+M8Va5J&-uUw3 zkm&#$BSn~0`#mE<-F`2qy9>v0Hp*8zS_0kb6QKOb&}l7}5u>I^R!nbGvUgg0doF4| zCTlnSV5i=KID}qvz{fliGV6L=u1UX@B@pzlP-D4R9|WhA6reJVbGX0RIQK#A`yvA> zpbj^aklJmQE21PMBO2@`BNvY}Ru`m-*8`2jKR#bzdB^x;KL77ov_G?_n{5&!etI4E zzRj|hqdqqMW7&fn7t0b29wlhUe*?3>72W_0LF*E&57{;b+1JHi{yJkKIgg`H2yUA5 z?ft#B19b`5)ZA1_;&lst06-8%vi;8CpT9_`)n8cNAn-6#A`h60+e*JJNT^)lNbGnpq7O4IT;4OqFpvVOBgHJrdIiISpB_%g}P3%LTXGy{Gxy zU|>bk;iKN2+Vq2m!Fr`0sf>WGq2UyBhw`4Gbn>%gw)JuMf?tn$fF^j)<=6a~jL{=a zvp`UtgTIFmR@_!L=oauo^I!8r3>;?4soM7*aeWL-Do7lWKxD5!%U{UrMaY&Q8LQ&&oMA z(IdMY8o%{Pz4&ljBVA{Q6iyYBk<%}uG|SE)sPNibY9{Z!R|B=RsW50OOUkYYeCF4Y z|AGS>h<7dU18Shbm$?4#ZCMC?Z+^QQAg_+anCE^ruJ{DQSq4`VYI3oT3|$Nt$lDQ8 z)>rz~XD)z?8ZK+c1iBU7imvM8K1-oBO8n5K`ugqxPgByg7T}F9c4s>+Qb|jto;_wMBmB28Ycg=bmpXr_eU%4kv44A0ILV-n;&gI0GBDD1y&W}Uzxl2vlg<_T(41u zfKt8}C6r37nkv?w?odQ*#;_F_Q|rI_MrzNX)93XO;9x`dCUC3RR0C`7GD9X_={|HD zC-3TrtFml2f!SaFV`t=t3|OqAbF(hfio(fnLlT|6beHB=#W{2}0`tXy>>*?4;+7lV zYQC-0agzK56iVxN%#*KT`o zzx!1g@-DB>be(RfI8;iPl%A^g-Yl&xGoVRlsyh`#c6|!`OyLHl3Blgj`*zn0ap0h~!NXz?Zt*&Kj%LpRR zOa6H?3%(Ca8I})0W4*Vq<1w<5&*`d`{d1j&B^7c@*fD)SOGTggpxg1Vo>5K9 zy`8yA+mwS!me^MFCk>Zo`wHm_BDlFEW`W{6?G{dqt!b@fN-@5(Tc}RcyyMHC<*@z7 z(6aB5=3*DXkNYpp_g&%!pE-+2Y`1;=$j5WU8#+HXevdQty3>I~sMJ~c0Pd3kPfuLy z5zDp^(DDVv%S6De;l&gPIdz4DrRf>1oFSGLI;I1{O&>stES{Ay?3A%f!>@m;CMQH7 zltkY@2e#^+8@o$aYY}*{GKMq$@8g0u-rfawjwFBl+0i>5$uN4}g%xR2tF_PzYF$QK zu!B+xF8rPFwj+l%*tNmF)TV~4RqC6n1 ziCF|kZuIFU5e`v%M<@I5!R{Ui<^%wfa~uFo{_G z!vE%i*D)va{)^vY*@l}HioB-jMC@_uB#ZR(ss~s&0ns_)d!I$w8I>pA6qKp|0N=7J zJlz~_zcVb@`3Bf3Dsg%nLz%<|y-}$bzg0t2;xO?G@l4Xv{?WKnVACRD>6p{;B5>2G zh&Pe)Y3X*zUK~e`9B>fM)2?=(g)sV8soE*J<tI3{xUUc z>QMEw1i&RTcGrkghC&&M)k-;DWkR6|F9%2Cs=QOZCBL01@ZP;Z#cs@UUU2rm0ThGo zP-^9&<-_!Qo@^CjpY)Blt*#xcZ$<^`d?3}Ci#ji=*j2o|#G1`@FPaZgz-NeyS2i?e zccNB!z^$H^R7AB%U~L?^&L%}*qBswG9eT!D`TLb^)RpQ07{)#~zL#I5BTvw@JzQ6w zhJ4%Kj2Un)KIk9DEygl6(O%L@2?6433vv0>15oQ*3YVPOG$DL`wuPkkU-_e7XQJ`E z;SCh8h&&q*`0Ytu#uWY-7Z1&c$Lnu}CTlhCz)`p#4$f3DOc61odffv$!x@slp>NWK zdX52XEP-3l0zl8_PFQ~eCR^}+ha7XIJ7M#VrJGM27UaaUaS8&*YTqy-z>^l>o5vxM zRnw$j+fw|Yc_%xncJrS#(>W&oSD^Q!UupJz9^K>x*3Ubb6qA;V04fG)Q;}%nOh@a@ce8QZlcy zc3|xfJb^L1Twfc#`r8ncFbveugS6)S6?qnH9!zm2oX$3cHvKxR8!vioMA6xAO2m}I z_3Wg0skWXwC9dUKU4$yVtDAEb_Aj*m8Q|T-87^9I6DLU(x8O{zwC<&RsA`>F0Y%u} z#j~rKzLEnkWp6JciYs)Usr|i7uOIlpvXwo}igq;sEVfUpx|+Ay<1mK)p8X%;+OMtq zY8!<}0ne4Q9@=-+lK!8E&z`s3A}58xf`0z;f7C>jHPQwg4Rj%* z(SosTOk|YLYta%go>U}>4?2;e-~5j#df00hKObENO4&lFLmu=SK;TYm^55xhcv?G$ zy$p?fwDc>qYo|1|oe}mkFtQZ^4`+epWEBebld7J0)6fqMXa6()kKT zKnkxSiT@+j!gV`SU5{t~$K-Pf+TKbTo$NW=M9CXY{vtwSI}VO94ilNBYzt zoa8keqkQ02N$w71ibs_aE_F7P=ZtD}UuD)UW^PI#_Dc6Fy^o7JRHRn1i2Y?r5kPzs zyY{hIqtoc-A)ierVHVhx|h zri`g_ZIJ!Esm!Sux)4K2I(cn(fUkTDCo$gXm`Zl{0b64w@2h9W-LQM6=C<7y-doKFLUA%~4>`rc(HkX`vk@3T%C4^qVP3`SEB z{mJ_@#WNSWL~F%YgAWaxS^w^8(zf*^-9UX(YV@L&;jd1%!n5lu%R67cs;dZHAde8X zK%N>tivdF56Zo@^D=&7eJ+;DB)El)beYC=r1^DANlF09cPcNW9V;^#g}@|W z!3eiwiUr1U=P52IQH`VY)P@Yw*X_gIX)gPPk1{%6ZM0+dVieVL!ih{Bn;j}1^p{@0 zX;JN1{N|?Y`f+xux{zEM7r3lHG~=@fzY)1eX#W2?*p!j(FKXfzl?@+XW>BnOiuh^M zoT@s)jXjOL>)FkYj*>mqGP<3fSDcH#g0Zrl{C&AL<=VY~inebUWDzlqRL!rPkK!-s zmbh2c?DNu23oyuh_(>?<3bC;@6J7WQrD^JZ*o!u;b>fwjZ@NeGzPA%m-kq_c95&7_ zX)m3>@Ju>mSYQVt`1&eXvQK27!M+e++G_S;_kGi#zOAs+w+ETE6k}5F(%sh5UYgm9Ii_HAh$ZwG7|fXXto|C`Yu=Z+)AWE;^_rB<@G#cW zyx}6GuPp`8EKF8_@Ro*6$3EH-RTx8<1H(x@{OoMmlCC?WC*I(K+VNShFvA_ z#44N8Y+P!qKw&QTx>wlZ{GiVhQR&zuLPNzB%LqC@$E2~k<&HGucty&Z4J{7t^>6K{ zG4=Pf@7Ux+ho0(OAr31hj}>wMS2%5X{NU&*m;A2$@^kdxnowu=3u`v?#^r;O1zt%@ zHUrJRqvp1#C`kyHbpmo*QaV+q5mhOHJ{% zzs}7>*N=v3gfyfj(9G408bY8x?)F6nS8y z>t+|<->ZS)K*nn>{o9k(RTpHlNvqHP zuJ{{D#@b&cKXmS~G~W!3w+365J1q)aKO{yhQ-FfufQh<4!}iN?Mrb9xt;6aZ`z$Xn zVAhop+8K3~yjNX1*&%@-r~@1n1ud5I-%pT<;!i+eNst~DhNSz_4h&Kxr%U*v*Nhg? zjl!8N)C$odMZBu%a$m(3R-zDRCuCqrk}F`g>3>+AdjF$Yj*=|?imJn_7O7!?j8=N` zgNbtsav%9yqO2*)wdL;@Z^MB2v8vAX*c=n|Th}G>ypE1DG-_$LhzbG&t7;>RX&n~3 zr(ZLOi2v~kb&wAaT`qO**_s1EVA6$xZF`T@vbM^c-@&|8vBlvL3QPRlylwtMbN~tC zAB|4~;ydT{3mF@p0@RUT^>1H*8rTKb9!CgqufH4#AkK2f364d=fX9D!{|=2_9yv$e z-c)s`Pd2G>L$@9&6E4pB1#?lyQijJk6&w2 Sh@|Ye~|0>}wMPLT8jm@Y!H33Sz}5aFI6 zM9Lzqz|;A*0sGs=2A1uU!1nk2dGF7knQwr99SAFen)x(eCO;F8y2C~0FD1YxRTPcy zPWVxkUYmeuz}Tv?7&Fe-!UE{)ZW)Mb;H)^#eHDv$`dkZGguJz@^MA!ZNGAUqt{|0H zpZ7Ch9S`q5!>R%}>}62!+(T^evyO+ImSo2wpu)su4^3nw5(%)KD%gbSev^*HZZ&3( z#&c@Z0gH|}Ck)w6fh0&NBJ62ib%R}(3@$VFl*_#l2W$wQ-~4RmZZAt5O*^2Q5}Xr8Hy@c`#pM?kc?hFWxRXr*mUfUCXf4ka5DD~ zat6d85COB05l#(P9*cQZ3EC8fVdS~?&vN#rce(aF9@xp80O2{{FBvU+{X>Hoh;xI` z{$e^Nw1y*VbO8wv`8|-m?NwNaKGTGaF{P^JLB^DbOYWIbn%eT`*!^C1H36=O8Z-M> zkD~88ry`eSo`tEBN4>w7OWZwUzlh{WM1m8R6zepqGcGMaV7vWY9b?K4b6~|HVG)ec wi>I@ws#sZo7or4_*4M>7;p5{nr2pZ?Uu4>Krr0kU)&Kwi07*qoM6N<$f)&@lf&c&j literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square107x107Logo.png b/src-tauri/icons/Square107x107Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0ca4f27198838968bd60ed7d371bfa23496b7fe5 GIT binary patch literal 2863 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 Y2S8W#vM)6=T>t<807*qoM6N<$f*y@n<^TWy literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square284x284Logo.png b/src-tauri/icons/Square284x284Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c021d2ba76619c08969ab688db3b27f29257aa6f GIT binary patch literal 7737 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square30x30Logo.png b/src-tauri/icons/Square30x30Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..621970023096ed9f494ba18ace15421a45cd65fa GIT binary patch literal 903 zcmV;219<$2P)2 z+CUKPMqaqGiH;zb!R4$B-WXS^YzQr=@UH>k4?*L)&R=zYjBrZenKdc9|JlS$SO*RJ zKt8FSTDAdk1g_WPAO!p^V!AuL;Lm;uQyV;zKq)J3i(;q*;k+pD%f3eltU`PYdy9(k0&%` zuWAPcV6|-y?|?7O1W!KSK}pbk8#~!|FA@(VJkt^V@0lio{afoAeo*f&$W2s6${5!1eKvAGD2$GZwSB98L2ZVS- zKn8ENRkZ*sb!@QugOrQNK3(sy1v%J#m|rpB+h|Nkqa3FRT>74xSs{#&saU2Lf!_Iq zKmuKAESh`gs!fneGWn+nf}l?7jE$HW!Af&vE5=G!QU)U2v&HLIBGXKk4nQx{hsHjL zLPMAo5=*uInFbq7(aa`Y2VX5wCmaeqvECOFv)a>0t>ZaEb*cJccER=BB?KFZhV$c^ znL*l8x*UYZv4WK|j?~Jt6~~F%{pk~z5A*>^M`?r5m9@RJ_x|uEtX(6Vk@Y()MVto* z93wr)%3m%|#OZ~srm>zF(JvDuTq*@;d&^>_BJm5hOU`3FjG70L#Vzv9I?`<7$T@

jU?lMi@tgxr7CqX_r3uw^y4tVU3Pm0sw;|1WSUO%?=bG`*Kmz6u4{#ti;T7AWIBAEh!(Y zz>O01&#X?Ds@L)Sb{CkG#Yz4$3o d@96)?#cz^xWoA}>B$xmI002ovPDHLkV1l3&k#zt7 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square310x310Logo.png b/src-tauri/icons/Square310x310Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f9bc04839491e66c07b16ab03743c0c53b4109cc GIT binary patch literal 8591 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 JPDHLkV1lm|RXG3v literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square71x71Logo.png b/src-tauri/icons/Square71x71Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..63440d7984936a9caa89275928d8dce97e4d033b GIT binary patch literal 2011 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/icon.ico b/src-tauri/icons/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..7318e180ec037c5f861a66eba9a5798955f0a680 GIT binary patch literal 86641 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 AGXMYp literal 0 HcmV?d00001 diff --git a/src-tauri/icons/icon.png b/src-tauri/icons/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e1cd2619e0b5ec089cbba5ec7b03ddf2b1dfceb6 GIT binary patch literal 14183 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

5l#v3A#xI3*z~1~fvo9Q(N^(==!|_FZ z*duZ=+M1~)8E|otX8KNZlr?qels#x_1Xq@9IIw~@9uAREJVH)Xw^}UclF6327}E42 zT)E&?U%TK?(+K7%R!`H5oX0i)4Qn5??Iw3p5J~6_u+aWehY{DSn}3V2p$bgjnAu?o)v@iC254fXeMv50$9YrpU`N?u@QIWs)T?SP|fa}(|9 zqAX+!7`cx=4)cCBg5h~pu(?@9`)aCr#oyz$ld=#RFxYCNZCZls@4v2~*e-t6PEVvV z&bbK3b3wt(Coc!ufAbXXC<**#HQ%J9k`New6iG<5RjtO4XVO?dCvwxD{kJ#tfQr(X zg^NTwF-FwAeS_{V4bfel8l`~NbfrTR2s!G>WduFWxH(t~aK4q=6rEE^$+Uox>gJO2 z{L<;6Q6nHa5#ZEM>H58not!)z(6*_=^~8}jWf*IG$AUKVWOZ4?)GfF z+BM#*wKKmLFD7E~W3U!$IVm$k_k1f&Kz6WV8@55P?r~bcg-Za-!rvW?ns&)KOGT2~ zlkAyqhQj=P$Eg3w#K~}zH@J5bo-BfHjInKSz$@?+Z)NPD4pHj^_Qxmi`UqoTy=`sV zLVxrXGuBr=QRm|}wg75yetQQK4fY3#P_~J}zEfPnb2C4Wo!E(d*(cA;b?7$g2in<( zPn)ghX}nzJPmb6(3Dpeg_GW~Hc}Lt=lgsSZz z!5QXyz7KaR;D`3Ee}d`af{H>WWZ|Io1QI3~4Ll_`g1(cRnhLK73Ro)7zPCd={1W2x zRp%Xlvv4>!<2@}$hz|!V{T}_eHx2xkLl^hQoZTCnsjCl|W_@5Fx2(+j0ogy&Y+;L- z<)G$*CiN7hOm^s!{U>1F7U=iNk{+u~dAC!eDz%=|glFW0jEZU1&o(G_c#wTxUjnG} z#cg3>jEpUi#Mlq@t?Msg_#geK^Lx@DyHWf7=AS5vVyM7YOjvUVCfcpVR<(+5!H?9- zySI6s>o3m&*zr||=wcPGyBkQV`EWJl@bH8qobjOp+sXL*)=&yX)8aAbf~tGv?a2SN zu^Ddo-z?DWk9h9Yz#5p^NU#x~wYSd?H@w@!2Gb4G)6-utEMV~~M85Br5ff(v5O1|T z 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 String { + format!("Hello, {}! You've been greeted from Rust!", name) +} + +#[cfg_attr(mobile, tauri::mobile_entry_point)] +pub fn run() { + tauri::Builder::default() + .plugin(tauri_plugin_opener::init()) + .invoke_handler(tauri::generate_handler![greet]) + .run(tauri::generate_context!()) + .expect("error while running tauri application"); +} diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs new file mode 100644 index 0000000..75c08df --- /dev/null +++ b/src-tauri/src/main.rs @@ -0,0 +1,6 @@ +// Prevents additional console window on Windows in release, DO NOT REMOVE!! +#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] + +fn main() { + chronara_lib::run() +} diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json new file mode 100644 index 0000000..ec8f9d4 --- /dev/null +++ b/src-tauri/tauri.conf.json @@ -0,0 +1,54 @@ +{ + "$schema": "https://schema.tauri.app/config/2", + "productName": "Chronara", + "version": "0.1.0", + "identifier": "com.nhcarrigan.chronara", + "build": { + "beforeDevCommand": "pnpm dev", + "devUrl": "http://localhost:1420", + "beforeBuildCommand": "pnpm build", + "frontendDist": "../dist" + }, + "app": { + "windows": [ + { + "title": "Chronara", + "width": 800, + "height": 600 + } + ], + "security": { + "csp": null + } + }, + "bundle": { + "active": true, + "targets": ["app", "deb", "rpm", "appimage", "nsis"], + "publisher": "NHCarrigan", + "copyright": "Copyright © 2026 Naomi Carrigan", + "category": "Productivity", + "shortDescription": "Meeting transcription and summarization tool using local AI models", + "longDescription": "Chronara provides real-time meeting transcription with speaker diarization and AI-powered summaries, all processed locally for maximum privacy.", + "linux": { + "deb": { + "depends": [] + }, + "rpm": { + "release": "1" + }, + "appimage": { + "bundleMediaFramework": true + } + }, + "windows": { + "nsis": {} + }, + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ] + } +} diff --git a/src/App.css b/src/App.css new file mode 100644 index 0000000..85f7a4a --- /dev/null +++ b/src/App.css @@ -0,0 +1,116 @@ +.logo.vite:hover { + filter: drop-shadow(0 0 2em #747bff); +} + +.logo.react:hover { + filter: drop-shadow(0 0 2em #61dafb); +} +:root { + font-family: Inter, Avenir, Helvetica, Arial, sans-serif; + font-size: 16px; + line-height: 24px; + font-weight: 400; + + color: #0f0f0f; + background-color: #f6f6f6; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; +} + +.container { + margin: 0; + padding-top: 10vh; + display: flex; + flex-direction: column; + justify-content: center; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; + transition: 0.75s; +} + +.logo.tauri:hover { + filter: drop-shadow(0 0 2em #24c8db); +} + +.row { + display: flex; + justify-content: center; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} + +a:hover { + color: #535bf2; +} + +h1 { + text-align: center; +} + +input, +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + color: #0f0f0f; + background-color: #ffffff; + transition: border-color 0.25s; + box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2); +} + +button { + cursor: pointer; +} + +button:hover { + border-color: #396cd8; +} +button:active { + border-color: #396cd8; + background-color: #e8e8e8; +} + +input, +button { + outline: none; +} + +#greet-input { + margin-right: 5px; +} + +@media (prefers-color-scheme: dark) { + :root { + color: #f6f6f6; + background-color: #2f2f2f; + } + + a:hover { + color: #24c8db; + } + + input, + button { + color: #ffffff; + background-color: #0f0f0f98; + } + button:active { + background-color: #0f0f0f69; + } +} diff --git a/src/App.tsx b/src/App.tsx new file mode 100644 index 0000000..8286a76 --- /dev/null +++ b/src/App.tsx @@ -0,0 +1,51 @@ +import { useState } from "react"; +import reactLogo from "./assets/react.svg"; +import { invoke } from "@tauri-apps/api/core"; +import "./App.css"; + +function App() { + const [greetMsg, setGreetMsg] = useState(""); + const [name, setName] = useState(""); + + async function greet() { + // Learn more about Tauri commands at https://tauri.app/develop/calling-rust/ + setGreetMsg(await invoke("greet", { name })); + } + + return ( +

+

Welcome to Tauri + React

+ + +

Click on the Tauri, Vite, and React logos to learn more.

+ +
{ + e.preventDefault(); + greet(); + }} + > + setName(e.currentTarget.value)} + placeholder="Enter a name..." + /> + +
+

{greetMsg}

+
+ ); +} + +export default App; diff --git a/src/assets/react.svg b/src/assets/react.svg new file mode 100644 index 0000000..6c87de9 --- /dev/null +++ b/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/main.tsx b/src/main.tsx new file mode 100644 index 0000000..2be325e --- /dev/null +++ b/src/main.tsx @@ -0,0 +1,9 @@ +import React from "react"; +import ReactDOM from "react-dom/client"; +import App from "./App"; + +ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( + + + , +); diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..7efd43c --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "@nhcarrigan/typescript-config", + "compilerOptions": { + "module": "ESNext", + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "noEmit": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "jsx": "react-jsx" + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} \ No newline at end of file diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..42872c5 --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..ddad22a --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,32 @@ +import { defineConfig } from "vite"; +import react from "@vitejs/plugin-react"; + +// @ts-expect-error process is a nodejs global +const host = process.env.TAURI_DEV_HOST; + +// https://vite.dev/config/ +export default defineConfig(async () => ({ + plugins: [react()], + + // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build` + // + // 1. prevent Vite from obscuring rust errors + clearScreen: false, + // 2. tauri expects a fixed port, fail if that port is not available + server: { + port: 1420, + strictPort: true, + host: host || false, + hmr: host + ? { + protocol: "ws", + host, + port: 1421, + } + : undefined, + watch: { + // 3. tell Vite to ignore watching `src-tauri` + ignored: ["**/src-tauri/**"], + }, + }, +}));