From 6e6fe9be60cb5462e510fd5b9235335ae5526b29 Mon Sep 17 00:00:00 2001 From: thewh1teagle <61390950+thewh1teagle@users.noreply.github.com> Date: Wed, 25 Dec 2024 06:14:06 +0200 Subject: [PATCH] feat: add example tauri app --- Cargo.toml | 1 + crates/sherpa-rs/src/punctuate.rs | 11 + examples/punctuate.rs | 5 +- examples/tauri-app/.gitignore | 28 + examples/tauri-app/.vscode/extensions.json | 3 + examples/tauri-app/README.md | 47 + examples/tauri-app/bun.lockb | Bin 0 -> 27040 bytes examples/tauri-app/index.html | 66 + examples/tauri-app/package.json | 21 + examples/tauri-app/src-tauri/.gitignore | 7 + examples/tauri-app/src-tauri/Cargo.lock | 5398 +++++++++++++++++ examples/tauri-app/src-tauri/Cargo.toml | 26 + examples/tauri-app/src-tauri/build.rs | 3 + .../src-tauri/capabilities/default.json | 10 + .../src-tauri/gen/android/.editorconfig | 12 + .../src-tauri/gen/android/.gitignore | 19 + .../src-tauri/gen/android/app/.gitignore | 6 + .../gen/android/app/build.gradle.kts | 70 + .../gen/android/app/proguard-rules.pro | 21 + .../android/app/src/main/AndroidManifest.xml | 37 + .../java/com/tauri_app/app/MainActivity.kt | 3 + .../drawable-v24/ic_launcher_foreground.xml | 30 + .../res/drawable/ic_launcher_background.xml | 170 + .../app/src/main/res/layout/activity_main.xml | 18 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3524 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 14102 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 3524 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 3377 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 9081 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 3377 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 7971 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 18900 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7971 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 12392 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 29506 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 12392 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 16751 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 40510 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 16751 bytes .../app/src/main/res/values-night/themes.xml | 6 + .../app/src/main/res/values/colors.xml | 10 + .../app/src/main/res/values/strings.xml | 4 + .../app/src/main/res/values/themes.xml | 6 + .../app/src/main/res/xml/file_paths.xml | 5 + .../src-tauri/gen/android/build.gradle.kts | 22 + .../gen/android/buildSrc/build.gradle.kts | 23 + .../com/tauri_app/app/kotlin/BuildTask.kt | 52 + .../com/tauri_app/app/kotlin/RustPlugin.kt | 85 + .../src-tauri/gen/android/gradle.properties | 24 + .../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + .../tauri-app/src-tauri/gen/android/gradlew | 185 + .../src-tauri/gen/android/gradlew.bat | 89 + .../src-tauri/gen/android/settings.gradle | 3 + examples/tauri-app/src-tauri/icons/icon.png | Bin 0 -> 15225 bytes examples/tauri-app/src-tauri/src/lib.rs | 52 + examples/tauri-app/src-tauri/src/main.rs | 6 + examples/tauri-app/src-tauri/tauri.conf.json | 36 + examples/tauri-app/src/main.ts | 30 + examples/tauri-app/tsconfig.json | 23 + examples/tauri-app/vite.config.ts | 30 + 61 files changed, 6707 insertions(+), 2 deletions(-) create mode 100644 examples/tauri-app/.gitignore create mode 100644 examples/tauri-app/.vscode/extensions.json create mode 100644 examples/tauri-app/README.md create mode 100755 examples/tauri-app/bun.lockb create mode 100644 examples/tauri-app/index.html create mode 100644 examples/tauri-app/package.json create mode 100644 examples/tauri-app/src-tauri/.gitignore create mode 100644 examples/tauri-app/src-tauri/Cargo.lock create mode 100644 examples/tauri-app/src-tauri/Cargo.toml create mode 100644 examples/tauri-app/src-tauri/build.rs create mode 100644 examples/tauri-app/src-tauri/capabilities/default.json create mode 100644 examples/tauri-app/src-tauri/gen/android/.editorconfig create mode 100644 examples/tauri-app/src-tauri/gen/android/.gitignore create mode 100644 examples/tauri-app/src-tauri/gen/android/app/.gitignore create mode 100644 examples/tauri-app/src-tauri/gen/android/app/build.gradle.kts create mode 100644 examples/tauri-app/src-tauri/gen/android/app/proguard-rules.pro create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/AndroidManifest.xml create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/java/com/tauri_app/app/MainActivity.kt create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/res/layout/activity_main.xml create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/res/values-night/themes.xml create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/res/values/colors.xml create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/res/values/strings.xml create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/res/values/themes.xml create mode 100644 examples/tauri-app/src-tauri/gen/android/app/src/main/res/xml/file_paths.xml create mode 100644 examples/tauri-app/src-tauri/gen/android/build.gradle.kts create mode 100644 examples/tauri-app/src-tauri/gen/android/buildSrc/build.gradle.kts create mode 100644 examples/tauri-app/src-tauri/gen/android/buildSrc/src/main/java/com/tauri_app/app/kotlin/BuildTask.kt create mode 100644 examples/tauri-app/src-tauri/gen/android/buildSrc/src/main/java/com/tauri_app/app/kotlin/RustPlugin.kt create mode 100644 examples/tauri-app/src-tauri/gen/android/gradle.properties create mode 100644 examples/tauri-app/src-tauri/gen/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 examples/tauri-app/src-tauri/gen/android/gradle/wrapper/gradle-wrapper.properties create mode 100755 examples/tauri-app/src-tauri/gen/android/gradlew create mode 100644 examples/tauri-app/src-tauri/gen/android/gradlew.bat create mode 100644 examples/tauri-app/src-tauri/gen/android/settings.gradle create mode 100644 examples/tauri-app/src-tauri/icons/icon.png create mode 100644 examples/tauri-app/src-tauri/src/lib.rs create mode 100644 examples/tauri-app/src-tauri/src/main.rs create mode 100644 examples/tauri-app/src-tauri/tauri.conf.json create mode 100644 examples/tauri-app/src/main.ts create mode 100644 examples/tauri-app/tsconfig.json create mode 100644 examples/tauri-app/vite.config.ts diff --git a/Cargo.toml b/Cargo.toml index 653eb7b..43f6a87 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,2 +1,3 @@ [workspace] members = ["crates/sherpa-rs", "crates/sherpa-rs-sys"] +exclude = ["examples/tauri-app/src-tauri"] diff --git a/crates/sherpa-rs/src/punctuate.rs b/crates/sherpa-rs/src/punctuate.rs index a719786..5bdf895 100644 --- a/crates/sherpa-rs/src/punctuate.rs +++ b/crates/sherpa-rs/src/punctuate.rs @@ -57,3 +57,14 @@ impl Punctuation { } } } + +unsafe impl Send for Punctuation {} +unsafe impl Sync for Punctuation {} + +impl Drop for Punctuation { + fn drop(&mut self) { + unsafe { + sherpa_rs_sys::SherpaOnnxDestroyOfflinePunctuation(self.audio_punctuation); + } + } +} diff --git a/examples/punctuate.rs b/examples/punctuate.rs index 9875fac..df598e4 100644 --- a/examples/punctuate.rs +++ b/examples/punctuate.rs @@ -6,11 +6,12 @@ wget https://github.com/k2-fsa/sherpa-onnx/releases/download/punctuation-models/ tar xvf sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12.tar.bz2 rm sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12.tar.bz2 -cargo run --example punctuate +cargo run --example punctuate ./sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12/model.onnx */ fn main() { - let model = "./sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12/model.onnx"; + let args: Vec = std::env::args().collect(); + let model = args.get(1).expect("Please specify model path"); let sentences = [ "这是一个测试你好吗How are you我很好thank you are you ok谢谢你", "我们都是木头人不会说话不会动", diff --git a/examples/tauri-app/.gitignore b/examples/tauri-app/.gitignore new file mode 100644 index 0000000..18b804d --- /dev/null +++ b/examples/tauri-app/.gitignore @@ -0,0 +1,28 @@ +# 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? +schemas/ +autogenerated/ +src-tauri/icons/* +!src-tauri/icons/icon.png \ No newline at end of file diff --git a/examples/tauri-app/.vscode/extensions.json b/examples/tauri-app/.vscode/extensions.json new file mode 100644 index 0000000..2993336 --- /dev/null +++ b/examples/tauri-app/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["tauri-apps.tauri-vscode", "rust-lang.rust-analyzer"], +} diff --git a/examples/tauri-app/README.md b/examples/tauri-app/README.md new file mode 100644 index 0000000..cce071f --- /dev/null +++ b/examples/tauri-app/README.md @@ -0,0 +1,47 @@ +# Tauri + sherpa-rs + + + +See https://v2.tauri.app/start/prerequisites +See [Building](../../BUILDING.md) + +Prepare model + +```console +cd src-tauri +wget https://github.com/k2-fsa/sherpa-onnx/releases/download/punctuation-models/sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12.tar.bz2 +tar xvf sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12.tar.bz2 +mv sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12/model.onnx model.onnx +rm -rf rm sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12 +rm sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12.tar.bz2 +adb push model.onnx /data/local/tmp/model.onnx # currently hardcoded in the APK +``` + +```console +# Setup environment variables +export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home" +export ANDROID_HOME="$HOME/Library/Android/sdk" +export NDK_HOME="$HOME/Library/Android/sdk/ndk/27.0.12077973" # ls $HOME/Library/Android/sdk/ndk + +# Setup UI +bun install +bunx tauri icon src-tauri/icons/icon.png + +cd src-tauri +export CARGO_TARGET_DIR="$(pwd)/target" +cargo ndk -t arm64-v8a build +mkdir -p gen/android/app/src/main/jniLibs/arm64-v8a +ln -s $(pwd)/target/aarch64-linux-android/debug/libonnxruntime.so $(pwd)/gen/android/app/src/main/jniLibs/arm64-v8a/libonnxruntime.so +ln -s $(pwd)/target/aarch64-linux-android/debug/libsherpa-onnx-c-api.so $(pwd)/gen/android/app/src/main/jniLibs/arm64-v8a/libsherpa-onnx-c-api.so +bun run tauri android dev +``` + +## Debug + +```console +adb logcat -c && adb logcat | grep -i -E "tauri|rust|sherpa" +``` + +## Debug webview + +Open `chrome://inspect` in the chrome browser and click `inspect` diff --git a/examples/tauri-app/bun.lockb b/examples/tauri-app/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..4e3202e5c8cf3c9b7bbf57099dcb00c3b2d96e1a GIT binary patch literal 27040 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 E2aq;%!~g&Q literal 0 HcmV?d00001 diff --git a/examples/tauri-app/index.html b/examples/tauri-app/index.html new file mode 100644 index 0000000..ba1813d --- /dev/null +++ b/examples/tauri-app/index.html @@ -0,0 +1,66 @@ + + + + + + + sherpa-rs with tauri + + + + + +
+

sherpa-rs

+ +
+ +
+ +
+
+

+
+ + diff --git a/examples/tauri-app/package.json b/examples/tauri-app/package.json new file mode 100644 index 0000000..76102a9 --- /dev/null +++ b/examples/tauri-app/package.json @@ -0,0 +1,21 @@ +{ + "name": "tauri-app", + "private": true, + "version": "0.1.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview", + "tauri": "tauri" + }, + "dependencies": { + "@tauri-apps/api": "^2", + "@tauri-apps/plugin-opener": "^2" + }, + "devDependencies": { + "@tauri-apps/cli": "^2", + "vite": "^6.0.3", + "typescript": "~5.6.2" + } +} diff --git a/examples/tauri-app/src-tauri/.gitignore b/examples/tauri-app/src-tauri/.gitignore new file mode 100644 index 0000000..b21bd68 --- /dev/null +++ b/examples/tauri-app/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/examples/tauri-app/src-tauri/Cargo.lock b/examples/tauri-app/src-tauri/Cargo.lock new file mode 100644 index 0000000..8d49891 --- /dev/null +++ b/examples/tauri-app/src-tauri/Cargo.lock @@ -0,0 +1,5398 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +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-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[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.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" + +[[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.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" +dependencies = [ + "concurrent-queue", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-executor" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "slab", +] + +[[package]] +name = "async-fs" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" +dependencies = [ + "async-lock", + "blocking", + "futures-lite", +] + +[[package]] +name = "async-io" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a2b323ccce0a1d90b449fd71f2a06ca7faa7c54c2751f06c9bd851fc061059" +dependencies = [ + "async-lock", + "cfg-if", + "concurrent-queue", + "futures-io", + "futures-lite", + "parking", + "polling", + "rustix", + "slab", + "tracing", + "windows-sys 0.59.0", +] + +[[package]] +name = "async-lock" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" +dependencies = [ + "event-listener", + "event-listener-strategy", + "pin-project-lite", +] + +[[package]] +name = "async-process" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63255f1dc2381611000436537bbedfe83183faa303a5a0edaf191edef06526bb" +dependencies = [ + "async-channel", + "async-io", + "async-lock", + "async-signal", + "async-task", + "blocking", + "cfg-if", + "event-listener", + "futures-lite", + "rustix", + "tracing", +] + +[[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.91", +] + +[[package]] +name = "async-signal" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "637e00349800c0bdf8bfc21ebbc0b6524abea702b0da4168ac00d070d0c0b9f3" +dependencies = [ + "async-io", + "async-lock", + "atomic-waker", + "cfg-if", + "futures-core", + "futures-io", + "rustix", + "signal-hook-registry", + "slab", + "windows-sys 0.59.0", +] + +[[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.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.91", +] + +[[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.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" + +[[package]] +name = "backtrace" +version = "0.3.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +dependencies = [ + "addr2line", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", + "windows-targets 0.52.6", +] + +[[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 = "bindgen" +version = "0.69.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" +dependencies = [ + "bitflags 2.6.0", + "cexpr", + "clang-sys", + "itertools", + "lazy_static", + "lazycell", + "log", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "rustc-hash", + "shlex", + "syn 2.0.91", + "which", +] + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +dependencies = [ + "serde", +] + +[[package]] +name = "block" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" + +[[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.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" +dependencies = [ + "objc2", +] + +[[package]] +name = "blocking" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" +dependencies = [ + "async-channel", + "async-task", + "futures-io", + "futures-lite", + "piper", +] + +[[package]] +name = "brotli" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "bumpalo" +version = "3.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" + +[[package]] +name = "bytemuck" +version = "1.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" +dependencies = [ + "serde", +] + +[[package]] +name = "bzip2" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" +dependencies = [ + "bzip2-sys", + "libc", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.11+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + +[[package]] +name = "cairo-rs" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" +dependencies = [ + "bitflags 2.6.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.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +dependencies = [ + "serde", +] + +[[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.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" +dependencies = [ + "camino", + "cargo-platform", + "semver", + "serde", + "serde_json", + "thiserror 1.0.69", +] + +[[package]] +name = "cargo_toml" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a969e13a7589e9e3e4207e153bae624ade2b5622fb4684a4923b23ec3d57719" +dependencies = [ + "serde", + "toml 0.8.2", +] + +[[package]] +name = "cc" +version = "1.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31a0499c1dc64f458ad13872de75c0eb7e3fdb0e67964610c914b034fc5956e" +dependencies = [ + "shlex", +] + +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + +[[package]] +name = "cexpr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom", +] + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "chrono" +version = "0.4.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "num-traits", + "serde", + "windows-targets 0.52.6", +] + +[[package]] +name = "clang-sys" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" +dependencies = [ + "glob", + "libc", + "libloading 0.8.6", +] + +[[package]] +name = "cmake" +version = "0.1.52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c682c223677e0e5b6b7f63a64b9351844c3f1b1678a68b7ee617e30fb082620e" +dependencies = [ + "cc", +] + +[[package]] +name = "cocoa" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f79398230a6e2c08f5c9760610eb6924b52aa9e7950a619602baba59dcbbdbb2" +dependencies = [ + "bitflags 2.6.0", + "block", + "cocoa-foundation", + "core-foundation", + "core-graphics", + "foreign-types", + "libc", + "objc", +] + +[[package]] +name = "cocoa-foundation" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e14045fb83be07b5acf1c0884b2180461635b433455fa35d1cd6f17f1450679d" +dependencies = [ + "bitflags 2.6.0", + "block", + "core-foundation", + "core-graphics-types", + "libc", + "objc", +] + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" +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.6.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.6.0", + "core-foundation", + "libc", +] + +[[package]] +name = "cpufeatures" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" +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.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "cssparser" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a" +dependencies = [ + "cssparser-macros", + "dtoa-short", + "itoa 0.4.8", + "matches", + "phf 0.8.0", + "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.91", +] + +[[package]] +name = "ctor" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501" +dependencies = [ + "quote", + "syn 2.0.91", +] + +[[package]] +name = "darling" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.91", +] + +[[package]] +name = "darling_macro" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.91", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", + "serde", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive_more" +version = "0.99.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version", + "syn 2.0.91", +] + +[[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 = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.48.0", +] + +[[package]] +name = "dispatch" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + +[[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.91", +] + +[[package]] +name = "dlopen2" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1297103d2bbaea85724fcee6294c2d50b1081f9ad47d0f6f6f61eda65315a6" +dependencies = [ + "dlopen2_derive", + "libc", + "once_cell", + "winapi", +] + +[[package]] +name = "dlopen2_derive" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2b99bf03862d7f545ebc28ddd33a665b50865f4dfd84031a393823879bd4c54" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.91", +] + +[[package]] +name = "dpi" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53" +dependencies = [ + "serde", +] + +[[package]] +name = "dtoa" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" + +[[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.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" + +[[package]] +name = "either" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" + +[[package]] +name = "embed-resource" +version = "2.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b68b6f9f63a0b6a38bc447d4ce84e2b388f3ec95c99c641c8ff0dd3ef89a6379" +dependencies = [ + "cc", + "memchr", + "rustc_version", + "toml 0.8.2", + "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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf" + +[[package]] +name = "enumflags2" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d" +dependencies = [ + "enumflags2_derive", + "serde", +] + +[[package]] +name = "enumflags2_derive" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.91", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "erased-serde" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24e2389d65ab4fab27dc2a5de7b191e1f6617d1f1c8855c0dc569c94a4cbb18d" +dependencies = [ + "serde", + "typeid", +] + +[[package]] +name = "errno" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + +[[package]] +name = "event-listener" +version = "5.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" +dependencies = [ + "event-listener", + "pin-project-lite", +] + +[[package]] +name = "eyre" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" +dependencies = [ + "indenter", + "once_cell", +] + +[[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 = "filetime" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" +dependencies = [ + "cfg-if", + "libc", + "libredox", + "windows-sys 0.59.0", +] + +[[package]] +name = "flate2" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" +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.91", +] + +[[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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +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.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" +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.91", +] + +[[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.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", +] + +[[package]] +name = "gimli" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" + +[[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.6.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.91", +] + +[[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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[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.91", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" + +[[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.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "home" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "hound" +version = "3.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62adaabb884c94955b19907d60019f4e145d091c75345379e70d1ee696f7854f" + +[[package]] +name = "html5ever" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7" +dependencies = [ + "log", + "mac", + "markup5ever", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "http" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" +dependencies = [ + "bytes", + "fnv", + "itoa 1.0.14", +] + +[[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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" + +[[package]] +name = "hyper" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "httparse", + "itoa 1.0.14", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-util" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core 0.52.0", +] + +[[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.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3804960be0bb5e4edb1e1ad67afd321a9ecfd875c3e65c099468fd2717d7cae" +dependencies = [ + "byteorder", + "png", +] + +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.91", +] + +[[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.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "indenter" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" + +[[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.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" +dependencies = [ + "equivalent", + "hashbrown 0.15.2", + "serde", +] + +[[package]] +name = "infer" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc150e5ce2330295b8616ce0e3f53250e53af31759a9dbedad1621ba29151847" +dependencies = [ + "cfb", +] + +[[package]] +name = "instant" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "ipnet" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" + +[[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 = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" + +[[package]] +name = "itoa" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" + +[[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.76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" +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.6.0", + "serde", + "unicode-segmentation", +] + +[[package]] +name = "kuchikiki" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f29e4755b7b995046f510a7520c42b2fed58b77bd94d5a87a8eb43d2fd126da8" +dependencies = [ + "cssparser", + "html5ever", + "indexmap 1.9.3", + "matches", + "selectors", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + +[[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 0.7.4", + "once_cell", +] + +[[package]] +name = "libc" +version = "0.2.169" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" + +[[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 = "libloading" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" +dependencies = [ + "cfg-if", + "windows-targets 0.52.6", +] + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.6.0", + "libc", + "redox_syscall", +] + +[[package]] +name = "linux-raw-sys" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[package]] +name = "litemap" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" + +[[package]] +name = "mac" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" + +[[package]] +name = "malloc_buf" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +dependencies = [ + "libc", +] + +[[package]] +name = "markup5ever" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016" +dependencies = [ + "log", + "phf 0.10.1", + "phf_codegen 0.10.0", + "string_cache", + "string_cache_codegen", + "tendril", +] + +[[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.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[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 = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +dependencies = [ + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.52.0", +] + +[[package]] +name = "muda" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdae9c00e61cc0579bcac625e8ad22104c60548a025bfc972dc83868a28e1484" +dependencies = [ + "crossbeam-channel", + "dpi", + "gtk", + "keyboard-types", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "once_cell", + "png", + "serde", + "thiserror 1.0.69", + "windows-sys 0.59.0", +] + +[[package]] +name = "ndk" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" +dependencies = [ + "bitflags 2.6.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 = "nix" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +dependencies = [ + "bitflags 2.6.0", + "cfg-if", + "libc", + "memoffset", +] + +[[package]] +name = "nodrop" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[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.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" +dependencies = [ + "proc-macro-crate 2.0.2", + "proc-macro2", + "quote", + "syn 2.0.91", +] + +[[package]] +name = "objc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +dependencies = [ + "malloc_buf", +] + +[[package]] +name = "objc-sys" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" +dependencies = [ + "cc", +] + +[[package]] +name = "objc2" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" +dependencies = [ + "objc-sys", + "objc2-encode", +] + +[[package]] +name = "objc2-app-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" +dependencies = [ + "bitflags 2.6.0", + "block2", + "libc", + "objc2", + "objc2-core-data", + "objc2-core-image", + "objc2-foundation", + "objc2-quartz-core", +] + +[[package]] +name = "objc2-cloud-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-core-location", + "objc2-foundation", +] + +[[package]] +name = "objc2-contacts" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-data" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-image" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", + "objc2-metal", +] + +[[package]] +name = "objc2-core-location" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" +dependencies = [ + "block2", + "objc2", + "objc2-contacts", + "objc2-foundation", +] + +[[package]] +name = "objc2-encode" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7891e71393cd1f227313c9379a26a584ff3d7e6e7159e988851f0934c993f0f8" + +[[package]] +name = "objc2-foundation" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" +dependencies = [ + "bitflags 2.6.0", + "block2", + "libc", + "objc2", +] + +[[package]] +name = "objc2-link-presentation" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" +dependencies = [ + "block2", + "objc2", + "objc2-app-kit", + "objc2-foundation", +] + +[[package]] +name = "objc2-metal" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-foundation", + "objc2-metal", +] + +[[package]] +name = "objc2-symbols" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-ui-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-image", + "objc2-core-location", + "objc2-foundation", + "objc2-link-presentation", + "objc2-quartz-core", + "objc2-symbols", + "objc2-uniform-type-identifiers", + "objc2-user-notifications", +] + +[[package]] +name = "objc2-uniform-type-identifiers" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-user-notifications" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-core-location", + "objc2-foundation", +] + +[[package]] +name = "objc2-web-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68bc69301064cebefc6c4c90ce9cba69225239e4b8ff99d445a2b5563797da65" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-app-kit", + "objc2-foundation", +] + +[[package]] +name = "object" +version = "0.36.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" + +[[package]] +name = "open" +version = "5.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ecd52f0b8d15c40ce4820aa251ed5de032e5d91fab27f7db2f40d42a8bdf69c" +dependencies = [ + "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.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets 0.52.6", +] + +[[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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "phf" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" +dependencies = [ + "phf_macros 0.8.0", + "phf_shared 0.8.0", + "proc-macro-hack", +] + +[[package]] +name = "phf" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" +dependencies = [ + "phf_shared 0.10.0", +] + +[[package]] +name = "phf" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +dependencies = [ + "phf_macros 0.11.2", + "phf_shared 0.11.2", +] + +[[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.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd" +dependencies = [ + "phf_generator 0.10.0", + "phf_shared 0.10.0", +] + +[[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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +dependencies = [ + "phf_shared 0.11.2", + "rand 0.8.5", +] + +[[package]] +name = "phf_macros" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c" +dependencies = [ + "phf_generator 0.8.0", + "phf_shared 0.8.0", + "proc-macro-hack", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "phf_macros" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +dependencies = [ + "phf_generator 0.11.2", + "phf_shared 0.11.2", + "proc-macro2", + "quote", + "syn 2.0.91", +] + +[[package]] +name = "phf_shared" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" +dependencies = [ + "siphasher", +] + +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher", +] + +[[package]] +name = "phf_shared" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" + +[[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.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" + +[[package]] +name = "plist" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016" +dependencies = [ + "base64 0.22.1", + "indexmap 2.7.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.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" +dependencies = [ + "cfg-if", + "concurrent-queue", + "hermit-abi", + "pin-project-lite", + "rustix", + "tracing", + "windows-sys 0.59.0", +] + +[[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.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "prettyplease" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" +dependencies = [ + "proc-macro2", + "syn 2.0.91", +] + +[[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", + "toml_edit 0.20.2", +] + +[[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.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d3a6e5838b60e0e8fa7a43f22ade549a37d61f8bdbe636d0d7816191de969c2" +dependencies = [ + "memchr", +] + +[[package]] +name = "quote" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +dependencies = [ + "proc-macro2", +] + +[[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.15", +] + +[[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.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" +dependencies = [ + "bitflags 2.6.0", +] + +[[package]] +name = "redox_users" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +dependencies = [ + "getrandom 0.2.15", + "libredox", + "thiserror 1.0.69", +] + +[[package]] +name = "regex" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" + +[[package]] +name = "reqwest" +version = "0.12.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "once_cell", + "percent-encoding", + "pin-project-lite", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tokio-util", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "windows-registry", +] + +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.15", + "libc", + "spin", + "untrusted", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[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 = "0.38.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85" +dependencies = [ + "bitflags 2.6.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.59.0", +] + +[[package]] +name = "rustls" +version = "0.23.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5065c3f250cbd332cd894be57c40fa52387247659b14a2d6041d121547903b1b" +dependencies = [ + "log", + "once_cell", + "ring", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-pki-types" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" + +[[package]] +name = "rustls-webpki" +version = "0.102.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + +[[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.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92" +dependencies = [ + "dyn-clone", + "indexmap 1.9.3", + "schemars_derive", + "serde", + "serde_json", + "url", + "uuid", +] + +[[package]] +name = "schemars_derive" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 2.0.91", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "selectors" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe" +dependencies = [ + "bitflags 1.3.2", + "cssparser", + "derive_more", + "fxhash", + "log", + "matches", + "phf 0.8.0", + "phf_codegen 0.8.0", + "precomputed-hash", + "servo_arc", + "smallvec", + "thin-slice", +] + +[[package]] +name = "semver" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" +dependencies = [ + "serde", +] + +[[package]] +name = "serde" +version = "1.0.216" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b9781016e935a97e8beecf0c933758c97a5520d32930e460142b4cd80c6338e" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde-untagged" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2676ba99bd82f75cae5cbd2c8eda6fa0b8760f18978ea840e980dd5567b5c5b6" +dependencies = [ + "erased-serde", + "serde", + "typeid", +] + +[[package]] +name = "serde_derive" +version = "1.0.216" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46f859dbbf73865c6627ed570e78961cd3ac92407a2d117204c49232485da55e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.91", +] + +[[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.91", +] + +[[package]] +name = "serde_json" +version = "1.0.134" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d00f4175c42ee48b15416f6193a959ba3a0d67fc699a0db9ad12df9f83991c7d" +dependencies = [ + "itoa 1.0.14", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_repr" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.91", +] + +[[package]] +name = "serde_spanned" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa 1.0.14", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "3.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e28bdad6db2b8340e449f7108f020b3b092e8583a9e3fb82713e1d4e71fe817" +dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.7.0", + "serde", + "serde_derive", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d846214a9854ef724f3da161b426242d8de7c1fc7de2f89bb1efcb154dca79d" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.91", +] + +[[package]] +name = "serialize-to-javascript" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9823f2d3b6a81d98228151fdeaf848206a7855a7a042bbf9bf870449a66cafb" +dependencies = [ + "serde", + "serde_json", + "serialize-to-javascript-impl", +] + +[[package]] +name = "serialize-to-javascript-impl" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74064874e9f6a15f04c1f3cb627902d0e6b410abbf36668afa873c61889f1763" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "servo_arc" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432" +dependencies = [ + "nodrop", + "stable_deref_trait", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sherpa-rs" +version = "0.5.1" +dependencies = [ + "eyre", + "hound", + "sherpa-rs-sys", + "tracing", +] + +[[package]] +name = "sherpa-rs-sys" +version = "0.5.1" +dependencies = [ + "bindgen", + "bzip2", + "cmake", + "dirs", + "flate2", + "glob", + "lazy_static", + "serde", + "serde_json", + "sha2", + "tar", + "ureq", +] + +[[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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +dependencies = [ + "libc", +] + +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "socket2" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "socks" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b" +dependencies = [ + "byteorder", + "libc", + "winapi", +] + +[[package]] +name = "softbuffer" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18051cdd562e792cad055119e0cdb2cfc137e44e3987532e0f9659a77931bb08" +dependencies = [ + "bytemuck", + "cfg_aliases", + "core-graphics", + "foreign-types", + "js-sys", + "log", + "objc2", + "objc2-foundation", + "objc2-quartz-core", + "raw-window-handle", + "redox_syscall", + "wasm-bindgen", + "web-sys", + "windows-sys 0.59.0", +] + +[[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 = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "string_cache" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +dependencies = [ + "new_debug_unreachable", + "once_cell", + "parking_lot", + "phf_shared 0.10.0", + "precomputed-hash", + "serde", +] + +[[package]] +name = "string_cache_codegen" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" +dependencies = [ + "phf_generator 0.10.0", + "phf_shared 0.10.0", + "proc-macro2", + "quote", +] + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[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.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d53cbcb5a243bd33b7858b1d7f4aca2153490815872d86d955d6ea29f743c035" +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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.91", +] + +[[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.30.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6682a07cf5bab0b8a2bd20d0a542917ab928b5edb75ebd4eda6b05cbaab872da" +dependencies = [ + "bitflags 2.6.0", + "cocoa", + "core-foundation", + "core-graphics", + "crossbeam-channel", + "dispatch", + "dlopen2", + "dpi", + "gdkwayland-sys", + "gdkx11-sys", + "gtk", + "instant", + "jni", + "lazy_static", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys", + "objc", + "once_cell", + "parking_lot", + "raw-window-handle", + "scopeguard", + "tao-macros", + "unicode-segmentation", + "url", + "windows", + "windows-core 0.58.0", + "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.91", +] + +[[package]] +name = "tar" +version = "0.4.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c65998313f8e17d0d553d28f91a0df93e4dbbbf770279c7bc21ca0f09ea1a1f6" +dependencies = [ + "filetime", + "libc", + "xattr", +] + +[[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.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e545de0a2dfe296fa67db208266cd397c5a55ae782da77973ef4c4fac90e9f2c" +dependencies = [ + "anyhow", + "bytes", + "dirs", + "dunce", + "embed_plist", + "futures-util", + "getrandom 0.2.15", + "glob", + "gtk", + "heck 0.5.0", + "http", + "jni", + "libc", + "log", + "mime", + "muda", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "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.9", + "tokio", + "tray-icon", + "url", + "urlpattern", + "webkit2gtk", + "webview2-com", + "window-vibrancy", + "windows", +] + +[[package]] +name = "tauri-app" +version = "0.1.0" +dependencies = [ + "once_cell", + "serde", + "serde_json", + "sherpa-rs", + "tauri", + "tauri-build", + "tauri-plugin-opener", +] + +[[package]] +name = "tauri-build" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bd2a4bcfaf5fb9f4be72520eefcb61ae565038f8ccba2a497d8c28f463b8c01" +dependencies = [ + "anyhow", + "cargo_toml", + "dirs", + "glob", + "heck 0.5.0", + "json-patch", + "schemars", + "semver", + "serde", + "serde_json", + "tauri-utils", + "tauri-winres", + "toml 0.8.2", + "walkdir", +] + +[[package]] +name = "tauri-codegen" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf79faeecf301d3e969b1fae977039edb77a4c1f25cc0a961be298b54bff97cf" +dependencies = [ + "base64 0.22.1", + "brotli", + "ico", + "json-patch", + "plist", + "png", + "proc-macro2", + "quote", + "semver", + "serde", + "serde_json", + "sha2", + "syn 2.0.91", + "tauri-utils", + "thiserror 2.0.9", + "time", + "url", + "uuid", + "walkdir", +] + +[[package]] +name = "tauri-macros" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c52027c8c5afb83166dacddc092ee8fff50772f9646d461d8c33ee887e447a03" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.91", + "tauri-codegen", + "tauri-utils", +] + +[[package]] +name = "tauri-plugin" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e753f2a30933a9bbf0a202fa47d7cc4a3401f06e8d6dcc53b79aa62954828c79" +dependencies = [ + "anyhow", + "glob", + "plist", + "schemars", + "serde", + "serde_json", + "tauri-utils", + "toml 0.8.2", + "walkdir", +] + +[[package]] +name = "tauri-plugin-opener" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63ac39033ef1bb4d52da4878c3d8ab6d80b0a569d69208c884e6d4d54eb427b9" +dependencies = [ + "dunce", + "glob", + "objc2-app-kit", + "objc2-foundation", + "open", + "schemars", + "serde", + "serde_json", + "tauri", + "tauri-plugin", + "thiserror 2.0.9", + "url", + "windows", + "zbus", +] + +[[package]] +name = "tauri-runtime" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cce18d43f80d4aba3aa8a0c953bbe835f3d0f2370aca75e8dbb14bd4bab27958" +dependencies = [ + "dpi", + "gtk", + "http", + "jni", + "raw-window-handle", + "serde", + "serde_json", + "tauri-utils", + "thiserror 2.0.9", + "url", + "windows", +] + +[[package]] +name = "tauri-runtime-wry" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f442a38863e10129ffe2cec7bd09c2dcf8a098a3a27801a476a304d5bb991d2" +dependencies = [ + "gtk", + "http", + "jni", + "log", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "percent-encoding", + "raw-window-handle", + "softbuffer", + "tao", + "tauri-runtime", + "tauri-utils", + "url", + "webkit2gtk", + "webview2-com", + "windows", + "wry", +] + +[[package]] +name = "tauri-utils" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9271a88f99b4adea0dc71d0baca4505475a0bbd139fb135f62958721aaa8fe54" +dependencies = [ + "brotli", + "cargo_metadata", + "ctor", + "dunce", + "glob", + "html5ever", + "http", + "infer", + "json-patch", + "kuchikiki", + "log", + "memchr", + "phf 0.11.2", + "proc-macro2", + "quote", + "regex", + "schemars", + "semver", + "serde", + "serde-untagged", + "serde_json", + "serde_with", + "swift-rs", + "thiserror 2.0.9", + "toml 0.8.2", + "url", + "urlpattern", + "uuid", + "walkdir", +] + +[[package]] +name = "tauri-winres" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5993dc129e544393574288923d1ec447c857f3f644187f4fbf7d9a875fbfc4fb" +dependencies = [ + "embed-resource", + "toml 0.7.8", +] + +[[package]] +name = "tempfile" +version = "3.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" +dependencies = [ + "cfg-if", + "fastrand", + "once_cell", + "rustix", + "windows-sys 0.59.0", +] + +[[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 = "thin-slice" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" + +[[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.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f072643fd0190df67a8bab670c20ef5d8737177d6ac6b2e9a236cb096206b2cc" +dependencies = [ + "thiserror-impl 2.0.9", +] + +[[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.91", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b50fa271071aae2e6ee85f842e2e28ba8cd2c5fb67f11fcb1fd70b276f9e7d4" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.91", +] + +[[package]] +name = "time" +version = "0.3.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" +dependencies = [ + "deranged", + "itoa 1.0.14", + "num-conv", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tokio" +version = "1.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "pin-project-lite", + "socket2", + "windows-sys 0.52.0", +] + +[[package]] +name = "tokio-util" +version = "0.7.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.19.15", +] + +[[package]] +name = "toml" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.20.2", +] + +[[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_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.7.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +dependencies = [ + "indexmap 2.7.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[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.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.91", +] + +[[package]] +name = "tracing-core" +version = "0.1.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +dependencies = [ + "once_cell", +] + +[[package]] +name = "tray-icon" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d48a05076dd272615d03033bf04f480199f7d1b66a8ac64d75c625fc4a70c06b" +dependencies = [ + "core-graphics", + "crossbeam-channel", + "dirs", + "libappindicator", + "muda", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "once_cell", + "png", + "serde", + "thiserror 1.0.69", + "windows-sys 0.59.0", +] + +[[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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e" + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[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.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" + +[[package]] +name = "unicode-segmentation" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "ureq" +version = "2.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02d1a66277ed75f640d608235660df48c8e3c19f3b4edb6a263315626cc3c01d" +dependencies = [ + "base64 0.22.1", + "log", + "once_cell", + "rustls", + "rustls-pki-types", + "socks", + "url", + "webpki-roots", +] + +[[package]] +name = "url" +version = "2.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", +] + +[[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 = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[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.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" +dependencies = [ + "getrandom 0.2.15", + "serde", +] + +[[package]] +name = "version-compare" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" + +[[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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3b17ae1f6c8a2b28506cd96d412eebf83b4a0ff2cbefeeb952f2f9dfa44ba18" +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.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" +dependencies = [ + "cfg-if", + "once_cell", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" +dependencies = [ + "bumpalo", + "log", + "proc-macro2", + "quote", + "syn 2.0.91", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.49" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" +dependencies = [ + "cfg-if", + "js-sys", + "once_cell", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.91", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" + +[[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.76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" +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 = "webpki-roots" +version = "0.26.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "webview2-com" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f61ff3d9d0ee4efcb461b14eb3acfda2702d10dc329f339303fc3e57215ae2c" +dependencies = [ + "webview2-com-macros", + "webview2-com-sys", + "windows", + "windows-core 0.58.0", + "windows-implement", + "windows-interface", +] + +[[package]] +name = "webview2-com-macros" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d228f15bba3b9d56dde8bddbee66fa24545bd17b48d5128ccf4a8742b18e431" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.91", +] + +[[package]] +name = "webview2-com-sys" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3a3e2eeb58f82361c93f9777014668eb3d07e7d174ee4c819575a9208011886" +dependencies = [ + "thiserror 1.0.69", + "windows", + "windows-core 0.58.0", +] + +[[package]] +name = "which" +version = "4.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +dependencies = [ + "either", + "home", + "once_cell", + "rustix", +] + +[[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.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +dependencies = [ + "windows-sys 0.59.0", +] + +[[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.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ea403deff7b51fff19e261330f71608ff2cdef5721d72b64180bb95be7c4150" +dependencies = [ + "objc2", + "objc2-app-kit", + "objc2-foundation", + "raw-window-handle", + "windows-sys 0.59.0", + "windows-version", +] + +[[package]] +name = "windows" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" +dependencies = [ + "windows-core 0.58.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-core" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-implement" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.91", +] + +[[package]] +name = "windows-interface" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.91", +] + +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", +] + +[[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.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[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-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.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[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", + "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-version" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6998aa457c9ba8ff2fb9f13e9d2a930dabcea28f1d0ab94d687d8b3654844515" +dependencies = [ + "windows-targets 0.52.6", +] + +[[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.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[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_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[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.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[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_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[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.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[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.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[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_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.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[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_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.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + +[[package]] +name = "wry" +version = "0.47.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61ce51277d65170f6379d8cda935c80e3c2d1f0ff712a123c8bddb11b31a4b73" +dependencies = [ + "base64 0.22.1", + "block2", + "cookie", + "crossbeam-channel", + "dpi", + "dunce", + "gdkx11", + "gtk", + "html5ever", + "http", + "javascriptcore-rs", + "jni", + "kuchikiki", + "libc", + "ndk", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", + "objc2-web-kit", + "once_cell", + "percent-encoding", + "raw-window-handle", + "sha2", + "soup3", + "tao-macros", + "thiserror 1.0.69", + "url", + "webkit2gtk", + "webkit2gtk-sys", + "webview2-com", + "windows", + "windows-core 0.58.0", + "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 = "xattr" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" +dependencies = [ + "libc", + "linux-raw-sys", + "rustix", +] + +[[package]] +name = "xdg-home" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec1cdab258fb55c0da61328dc52c8764709b249011b2cad0454c72f0bf10a1f6" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + +[[package]] +name = "yoke" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.91", + "synstructure", +] + +[[package]] +name = "zbus" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b8e3d6ae3342792a6cc2340e4394334c7402f3d793b390d2c5494a4032b3030" +dependencies = [ + "async-broadcast", + "async-executor", + "async-fs", + "async-io", + "async-lock", + "async-process", + "async-recursion", + "async-task", + "async-trait", + "blocking", + "derivative", + "enumflags2", + "event-listener", + "futures-core", + "futures-sink", + "futures-util", + "hex", + "nix", + "ordered-stream", + "rand 0.8.5", + "serde", + "serde_repr", + "sha1", + "static_assertions", + "tracing", + "uds_windows", + "windows-sys 0.52.0", + "xdg-home", + "zbus_macros", + "zbus_names", + "zvariant", +] + +[[package]] +name = "zbus_macros" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7a3e850ff1e7217a3b7a07eba90d37fe9bb9e89a310f718afcde5885ca9b6d7" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "regex", + "syn 1.0.109", + "zvariant_utils", +] + +[[package]] +name = "zbus_names" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c" +dependencies = [ + "serde", + "static_assertions", + "zvariant", +] + +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "byteorder", + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.91", +] + +[[package]] +name = "zerofrom" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.91", + "synstructure", +] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" + +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.91", +] + +[[package]] +name = "zvariant" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e09e8be97d44eeab994d752f341e67b3b0d80512a8b315a0671d47232ef1b65" +dependencies = [ + "endi", + "enumflags2", + "serde", + "static_assertions", + "zvariant_derive", +] + +[[package]] +name = "zvariant_derive" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72a5857e2856435331636a9fbb415b09243df4521a267c5bedcd5289b4d5799e" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", + "zvariant_utils", +] + +[[package]] +name = "zvariant_utils" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00bedb16a193cc12451873fee2a1bc6550225acece0e36f333e68326c73c8172" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] diff --git a/examples/tauri-app/src-tauri/Cargo.toml b/examples/tauri-app/src-tauri/Cargo.toml new file mode 100644 index 0000000..fb2f440 --- /dev/null +++ b/examples/tauri-app/src-tauri/Cargo.toml @@ -0,0 +1,26 @@ +[package] +name = "tauri-app" +version = "0.1.0" +description = "sherpa-rs example tauri app" +authors = ["thewh1teagle"] +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 = "tauri_app_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" +sherpa-rs = { path = "../../../crates/sherpa-rs" } +once_cell = "1.20.2" diff --git a/examples/tauri-app/src-tauri/build.rs b/examples/tauri-app/src-tauri/build.rs new file mode 100644 index 0000000..d860e1e --- /dev/null +++ b/examples/tauri-app/src-tauri/build.rs @@ -0,0 +1,3 @@ +fn main() { + tauri_build::build() +} diff --git a/examples/tauri-app/src-tauri/capabilities/default.json b/examples/tauri-app/src-tauri/capabilities/default.json new file mode 100644 index 0000000..4cdbf49 --- /dev/null +++ b/examples/tauri-app/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/examples/tauri-app/src-tauri/gen/android/.editorconfig b/examples/tauri-app/src-tauri/gen/android/.editorconfig new file mode 100644 index 0000000..ebe51d3 --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/.editorconfig @@ -0,0 +1,12 @@ +# EditorConfig is awesome: https://EditorConfig.org + +# top-most EditorConfig file +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = false +insert_final_newline = false \ No newline at end of file diff --git a/examples/tauri-app/src-tauri/gen/android/.gitignore b/examples/tauri-app/src-tauri/gen/android/.gitignore new file mode 100644 index 0000000..b248203 --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/.gitignore @@ -0,0 +1,19 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +build +/captures +.externalNativeBuild +.cxx +local.properties +key.properties + +/.tauri +/tauri.settings.gradle \ No newline at end of file diff --git a/examples/tauri-app/src-tauri/gen/android/app/.gitignore b/examples/tauri-app/src-tauri/gen/android/app/.gitignore new file mode 100644 index 0000000..9c7c735 --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/app/.gitignore @@ -0,0 +1,6 @@ +/src/main/java/com/tauri_app/app/generated +/src/main/jniLibs/**/*.so +/src/main/assets/tauri.conf.json +/tauri.build.gradle.kts +/proguard-tauri.pro +/tauri.properties \ No newline at end of file diff --git a/examples/tauri-app/src-tauri/gen/android/app/build.gradle.kts b/examples/tauri-app/src-tauri/gen/android/app/build.gradle.kts new file mode 100644 index 0000000..df592fd --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/app/build.gradle.kts @@ -0,0 +1,70 @@ +import java.util.Properties + +plugins { + id("com.android.application") + id("org.jetbrains.kotlin.android") + id("rust") +} + +val tauriProperties = Properties().apply { + val propFile = file("tauri.properties") + if (propFile.exists()) { + propFile.inputStream().use { load(it) } + } +} + +android { + compileSdk = 34 + namespace = "com.tauri_app.app" + defaultConfig { + manifestPlaceholders["usesCleartextTraffic"] = "false" + applicationId = "com.tauri_app.app" + minSdk = 24 + targetSdk = 34 + versionCode = tauriProperties.getProperty("tauri.android.versionCode", "1").toInt() + versionName = tauriProperties.getProperty("tauri.android.versionName", "1.0") + } + buildTypes { + getByName("debug") { + manifestPlaceholders["usesCleartextTraffic"] = "true" + isDebuggable = true + isJniDebuggable = true + isMinifyEnabled = false + packaging { + jniLibs.keepDebugSymbols.add("*/arm64-v8a/libtauri*.so") + jniLibs.keepDebugSymbols.add("*/armeabi-v7a/*.so") + jniLibs.keepDebugSymbols.add("*/x86/*.so") + jniLibs.keepDebugSymbols.add("*/x86_64/*.so") + } + } + getByName("release") { + isMinifyEnabled = true + proguardFiles( + *fileTree(".") { include("**/*.pro") } + .plus(getDefaultProguardFile("proguard-android-optimize.txt")) + .toList().toTypedArray() + ) + } + } + kotlinOptions { + jvmTarget = "1.8" + } + buildFeatures { + buildConfig = true + } +} + +rust { + rootDirRel = "../../../" +} + +dependencies { + implementation("androidx.webkit:webkit:1.6.1") + implementation("androidx.appcompat:appcompat:1.6.1") + implementation("com.google.android.material:material:1.8.0") + testImplementation("junit:junit:4.13.2") + androidTestImplementation("androidx.test.ext:junit:1.1.4") + androidTestImplementation("androidx.test.espresso:espresso-core:3.5.0") +} + +apply(from = "tauri.build.gradle.kts") \ No newline at end of file diff --git a/examples/tauri-app/src-tauri/gen/android/app/proguard-rules.pro b/examples/tauri-app/src-tauri/gen/android/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/examples/tauri-app/src-tauri/gen/android/app/src/main/AndroidManifest.xml b/examples/tauri-app/src-tauri/gen/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..e2020b8 --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/tauri-app/src-tauri/gen/android/app/src/main/java/com/tauri_app/app/MainActivity.kt b/examples/tauri-app/src-tauri/gen/android/app/src/main/java/com/tauri_app/app/MainActivity.kt new file mode 100644 index 0000000..176a25f --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/app/src/main/java/com/tauri_app/app/MainActivity.kt @@ -0,0 +1,3 @@ +package com.tauri_app.app + +class MainActivity : TauriActivity() \ No newline at end of file diff --git a/examples/tauri-app/src-tauri/gen/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/examples/tauri-app/src-tauri/gen/android/app/src/main/res/drawable/ic_launcher_background.xml b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/tauri-app/src-tauri/gen/android/app/src/main/res/layout/activity_main.xml b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..4fc2444 --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,18 @@ + + + + + + \ No newline at end of file diff --git a/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..28f1aa119119336781390c2531c381499576ed59 GIT binary patch literal 3524 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 literal 0 HcmV?d00001 diff --git a/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..28f1aa119119336781390c2531c381499576ed59 GIT binary patch literal 3524 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 Hu0mjfi}+A- literal 0 HcmV?d00001 diff --git a/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..13dd21476b5c7f69cdfb82969bce7150244c127f GIT binary patch literal 9081 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 literal 0 HcmV?d00001 diff --git a/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..73e48dbfb7dc31ed1e951b77820af88b93fcc418 GIT binary patch literal 3377 zcmV-14bJk3P)QSgd_^dWEm#2zvb6^-@HdA8zdoW|L`5&dC6Pv^4I#TRMNHHdIk^#JBgGvgR#^Dg%|e zBXA(y%?RB)QKuPMA?kpX>e!fD3~^kHdV{Ru1nai_yyZkEMu<(^H8 zR@c4yS@HQTcq_-!oF0Uq#R2_;JV#Ui`fJ~Xvu{h7PZ=1B^2(GX5ee)Ds8dA$5Yavg z8DroXo-(uQiLbUat^3obZ;1+nkd*eF3R{~(2%GR#3fOX4KWN0 znq!PmwgRnM9QFWQ5Md7}6g(^HrNG%Z*6S3VH_SgZ8M0E^)lATr0UH(!mHQ_N@uhDM zDzPUS287&Fh{J*;V7nD?A`$BNNq>3iabIb5U8oxIofOA8hNYWwhi92bQPC__SK7s@`=LSOGbMIBmKolM(&7z{bFv0DdXg-!TU)` z0TI8+6>%qf^U0y*IlC^zt2fz-)yQc=o+Y2`8csrA=SpP9a6(E8h;QSSPB3VoRv)~6 zZzuhq5ja}FpG^jaDSt0}7aA^Y$(7)pAq>p?yAuDb*IMr}Y`9-j#Y?g_l4GL?M&0@8 z(3*oqIlCw1TJrIlz=sWs#3`c^9EBX*DxPX5f-NbIk3PR)*pH-mI65KX5#D>oYGwo- zw!LAzn)=aKL=CO`Wa!Do5A|Jeb%AYkY>Z%So1sXKXj^M-?-4X7W=x8^iR>#-v!Ft$ ztbokC-hO+pWkHWZYLX!_KF$!+>KcPY+=A`4hF+Or$}Y$@4}-#IHOaxYdAIs3V1EzU zosZBAqB9#_PG8-T(-(r;9S5-UFdWNOoeS31HwMoeVyscN8*iDG_{0mZFxD6ol9pa_ zdiMZk&OG!%&aU#JoFgUgX78_9J@~}U<7|_#bw(PcWr|w0xoIU5q1w2D3Y8D-7GZ?% zx@;KHEUTuGjfxWDADsKxz%TYxW>W5#JXklb@C5p!c8)tQWKCA`{T;7tWz%G+r z`2>sgw^v&7A|tCiFlI928U{D!`C9*7;e=~k;>e|gm z><`X=k&TV(uXvg%f9dY6VHh!t#=xpk_f4_SjOlAg2{uXrxI&`=A+H=nEj0H|$Gk`` z0>!Nc9fV$uzgcoI97U`8%D`|5F}x#uWBZ2MRR>r~QRLWr?wi&3tq*r_iOFeFy;CHi zU;x9S_`KeZco7(PFv*o|S81mzE zNwpop0^TT?jf??J*D(*rP>&oy;}JHNt0(;~Vcvozazj0Vx8ZDsJLoNB(xipeybz_s``6P>#jUzHa z(qJKjq^Vi14~M6{C}A!F8yXD)oJTvJT)2YxeX4C3LNK0nf41)ZGt;ik@oZYZo&@wD#GLJj*Bdbw~~MB07bUKfmrj|E_)dkq5#;hvSJP ziEW=pY$I#0+2Y!`wcIms(#YtECV??-Kj0}o3Xb8U3Tc_X^di2iFm^iDjXM57J3VmP z|6OCV?8SE}5m3AY@Wb7NPf6{QvGbTOW6w#FQG8U)Dz72^R(!f6f|{8&R1I;5GR3;l z`JjV&w=F4woKOQIBM*jBxTerzJa#IGJIrBN3u>XTEJ6hFjdKDTfkhiBkMTUzhlF2T@^HVUm=lP< z%=0wwcZOUmH#M!jQ2ZSYRUI;}BCCc)jhQf&ghFb98H<(jeEr2ofdggVQ)+QbQY*a% zol3|Ulx`Z9f0Ysl_*)Zl%q_8ZMyM4(VP#p4!(hY#%23Qo}+f$@BlrZ<{mq;K$$xV$C>>^~$*5`#cJ`)C{ zr&5Y6>-9owYyrJqK&1)8%<;nUwrP?}LT!X!XDObhW;}Q1ZkI<6BE&lCK9_WWwI{^W zynqWeGB`lVuBLjazOGJh84(96=H@$R6Q2+7713GjOp4bVWGogQvNl6Y6cahkEqWm3 z*>@LbtajM>0W!b_z6u-z-PFcWb6%?Y!|Jwj{a5K`3&Xe38g$r6Y}5aEzs9~T(9=3h)cC@}fuHX@k-4ve zWR#qi`xSk>O-Rce5Sb~xo7kf{>(alcK7ac}`;8{EU}#aQOfL=ZOnB@|dGmu$vc5ly z4g@nJS(t9auG;;yV4w}zLk0`!S?L#J>$aIU_DM<*Qu-yf&Tbb??Ia26OFUaQuA|jp z(+u%>6jR>Fv6gFZxE^38(>%{d6tj%13y>qhqX!R%P8~m`@&g*%imh2z`&|+2_PFRV zG=e78$%Q6BB6K_c`2uwmv|!`lVOJ!-QM3g_Vk#JGA)$Z* z-=NMtIcJ*etaYmGnhEU!Lq<6#i@?@X`@XYwFJm-YWVZ{((Lj*1I~dp66$^pk4{MWOxBuL9 zalEORm1RRlc6z^+>krZlYa}8JFAyU-Dhe_b5M8U6zv}*E_1mG-Co0;#9Q-imjT{v_ zot0^{TC0^EPN zX6CJ<ETEiFX%?bP zArV5BaM+Uc`(VDHe0#p#`r||QPLa>MyeJ3(Vm)3y?{dr1o!}Dt*d32Qzsxdm@@;Ad z^?E2gkFAwzCmPkR1Y49LXh2pie6c2Wjn2^Z30^9T)lVurZr6;y!9$@M8yR{>mh7<>_7yQsuLLg3VOf4 zso*yg3^_wb@O@GSKwFJbXL`S{L9D7c7Wlqwr*Ge`?J%9WFVqxvxE>U2?`}BEXcD5U z+3Sele*O$}kdg4PLc&WUdSp?LgeyAy9}0f)i2u6%G~53G-3(h6(Dps_00000NkvXX Hu0mjfi}+A- literal 0 HcmV?d00001 diff --git a/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..1d98044f13bdd3afc7cb426644ae118688c03c14 GIT binary patch literal 7971 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 Z{{b+Ide7&7`HKJm002ovPDHLkV1iT#V`TsU literal 0 HcmV?d00001 diff --git a/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..a888b336b5bc84b42c0c266ce9b8ec5d9eafed0b GIT binary patch literal 18900 zcmbrFQ+p*$vxZk}n-gbZ+qP}nwkNjjH+C}N#GKf+ZLB0K*z^5{ebC)!bJOBVdl93iy{dcbYZ^1(U+oMSst^oj}u0~ljqZIi7SEhjvZkYhNv4erJt_|D*)_#TqIecaywIQ@Ik-50Wz#6?JEc_oZgr9Al zs0#qod<{mfv1}WByjtotM3T=kGY+d;3tLR7^4>lfB&Zdo(dLxAlW_KRVDjSSzq`aG zjWxh^t05Bzfv>+0plWDQ*6Fu)u=KY0R&l&hgIwj%1EW}eR22Xe`f<~66HsP zHFC=og{B!jZ7eQ19i44=6BryIX3nn8!1P`5n;vMy*)!%)5GfXaXkmU;|HbE7-T>Dm z3l0AspM?#)M15L?-Veak1v3gK@bZ0p1p2H7wH5mgt@P}K4jzh>ajqqCgs5<&uFD5g zvg?Jgg~EvL4V;(|tdY4Ke zWZhXuxpX;T>uTL-X|5I#>mry=-HUkqNs!uw^{We8-4#Dz2j1@$n3X+DP}&(3GHUC* zUB43*Oe8fx)*B5^h5(uCI5CW)ANQa_Fl<|}8dC$dik8s43^N2+_{Ln3n;x^{vcd61 zsG$>SiLbmvzG;$5NR|MIAU=RmS}lN68D&2Q_TFa9>lVmp^kVQV#l-kir|ndlL^*eP zuRvWbh#d^u$+$@&4wA*gUK2EaYOyo-C-o4WQNkL5Aj=vo1{ncq4J;_KVMOsB)m*mQ z7?LP4ZjyX2cprS^p%;ly;74y`(NUcb9W5}z5yPH?IIw*lVj5CAFBs|tJKNRpB-pRs z)>msYA)%@0O9qyn|5HV3=$rcPy+}$03KW}3k-&Au9npq6w#=k) zr^L#|E6S|^#W&q>-^pO#(}0)GQYKNZo^5mn>Lo0IAQYZz-JKhsGH?9btoc*A)_|A3 z?sLk9!AQ};7Oz;-#5)#(AT}!gu1Q(LYb#2>OS(D{s`vdeu2gOJqt^aMffTy7Rr7|k z16%3<84P1Nx+MjI`-_mCQoz|uccKIMs>ppMd^rw>y2o82;Q@dVk(K{ZkY%dX)ckwlsZMpgG7W5KS zv4NqitkV7xxyYUr$l!*chJm7v62AJFA-EM{HaS^n2KUdnlTVLOr!uRK@(6IY9=3y& z6Ir5moXBVXT1<`NYxDCQdcb0=g8pjP7gz;l0c!X<46T<}0_7TIRT#){ZsifDkjyEQvQo?mKl(B}!@pyE z^zgf0`hCXm${1bxB1zUPG7zI-l6qiC{=*3U&6*dEqt;2@=EBkeu0osk`vdGcO)w*~gKn zfterBkQ`prbXkL6p+q(HL-tFEO<4rfWxQk*3=q@ehzOgEN7b6-uSAQ5_m-GZKGd7T z7`@KRuFeNYeUxb;7{P5WX!-SkaVs_$$=z(OXA4|R9p%ZkZ}bKfw5n+qv_b(GBc-)( z%bG8&<1S4;;2n*aCoD{%SdoOOmcVs-TF2#sKNF1cgc_k%*$tLf`nK+)S1Q&kz&g~! zI!pRC-IYoILLq~N_rqI{wOv2e?gsYvneJE1(j)OS*3B7RxUMqvH27qQ>z-<}{`uY3 zDs(z^#0GMAM|RrYVojoeQ_vv*7aArF)?qeQG(GgGhiaanhS}``I(p9B2RHea)8_y{ zb&;iZx>;J4wR!Vj1p{IW#0VJ^)e`lwp2Qqkj1k zfxljD#%;!0plJ2uTM@*$#F&g4oG)rY!O>S}ek$Xbk;eH_yA*Z#l1(=7{Mf$5*SKWPm#rM(!h@&m3XcN58f@|DGrRNy90*`Vt5Ok1jLBZsbQ;olH z(}k@{4=HjdT7j2Sp;oZO9mw{Bcls2C&VF%7(?nKY5jI`RLBkV zSiD~?$aNtqBty33%vBn(wVROOf{F|EN^aq7NustS>^v*bN@N&~L!tj>0n?nN{GEhi zv|76g;dSINH-S0D+OL4apw%7G#G!Hkm4evMi}&#~5>A=;?d5o1or=W)qM>qFM77ob zi95BG>N}g1v5xKP*ms1s*f7yq;UP694NhA{xTI{5V7U^rQ{K<`>g0Q5yt|r_;lTDF zcq!2t3)g4_jRT$1T5x?$le>GChr(CO!7BG#(av1vrHO{@K4W4sxasS0DzSes&TYrp zd02vnbz?l7lf&%(a@0KTb+^vv+nuuoadnRu>?UU3fEK^D-dQ`^_|VI%%iM2vI})OI z4*y@JU={ino&|pV`+nm-d>fmhBId9akiLJanx-9#k>6-Wc{68sTaf2@J7wlJS-phX z$W0l7KUQ@58%s@E?krt*ZXL(~qU~=$>UiZp#53C7#983+r0H#3}sAktx0NY;rL0xy(W? zl_y20$moKHkWx`&K#)RTTqNRNdcDpy;JqyFMVwAx8lw%S7isXI0*g;mIJ64oF z>MCp7hvDiDY;BT=SefD)eu5Bhtwxm6$jH-ZfB0XWpkx}#Y)`CFRbc=bPmh!FgY`ct z)fSW=j-Mur`jG=0a&@E&AU|4r{HGYPDc6T#mLDL(QN4>1Y7W}Y^D1>1OE;ur1 zFhz%?gL?}k^4&MypfhCBP-eiUst-JY}3i`p;D81 zeK^*BbyFG~wK;g~ZaZBRfM`jq^$NG9`zGmsRmGnj32(;rzUjQBWK@-WKNZN7nm0r+ z1~I74rY;}6vDb^~ZR+TG`Rqbr*9<3tEA+QPQ1!#IZLQypy?xt0`f8TD^QLEiqE=aj z6^I&!uC1I*-{ivVGy{2plrb9DTdEh{NIeW0_;4XLLPpZ>{Lxb*eTQS3CWY*;xQ~r2KaPzaWGzff!$<`L-}93Bp+!Py4Jib}AQaHJlW#ZY=WlwBv79>jZ57fL2d|nW zk(diuu<|`E7F|ShmQWT0$umr;6!Sq|Rr??w`5ft$9 zAA-M>Kwt9tbM zLXA;m;LI5w#yI~u@Cn=kdu)K>K}iSPKU50^!uO>s3vPbvBN%{GBj46_GUV8QyOA$O zVaZ9cK>3NC+QGly@?yf))r}iR4;p63SN&MwTL#lFw)yxgU-?c`ggvnqNR&|jVfU@Z z4%Z(JW?$bFI?3%kSAYES10f~Z>*i06b_cj2$w5_1#bu1q6(M4Adf>luKES1}l>-c0 z=|vR9u!az!)5d;<{XjFyB<-8A=%d?i#Nm$%}GLwMl#_BS7Y@|rilDmrkiY zOT_X3KET|(;b>rQpMWHDQvKaxmedYaEWU~VEbzpe%y@;5FDI!^-PhW!*H5UDf{#DY z;g)Z5BJmA;;|17Py_RT)vRBR3DmRaH4 znCB!S8glApcI%gmm0gANHyy?$$VVDIm!fjxKI)r4&#%uX)DoL}Q1=61I5Zu|VzTg| z%00VqHtBhc3p!lJFf0>z5hK@r-d)Co7Kx%bY@I)UUb%6vq%9G`e<5r@5K8)|va9g1 zH(avj8gNGrl43dv$z0V>ZF;+WgYD{FQ(@~%xubN#HF7uN*g>pRl#)9gZsvR08Ztzm zdT@+n(a<;2BSWS^_3FzGMC2DVWCUn^j*R9P#9zX9Q%~wo%=TmE6x$E`Sc@T&Ny&=h z(WgpUxo3Y$=lVwp#7G*AJHL=$>W<0iYkXgNd2BQ;`thT6sc=YQp{4U(CrmaoLG7xc z^9MQ4urZ~PP{5Jd`DoTTZg#AH&WEO_7n5 zlF`C4n%A~xrsD*g9o!QOq}-_0U@lwp7+N(8Q>R+vsFoY$vjuJmAsDgdX}W046JUiE z@5ff?YgS96%v^VknjFHgnsMt0_cWRR>#p8@G`RM(TesR>&ye+LUV2>p;_yXV7!~9Z z63u}$%M8pXqPaA@=|HgGw5(KhGvVIRUhe!0cbq=aPE=2e3!MY)i64FG%Rvi`fY(dz zM-6o6OouLss8^@a+wle-)yS=MoiG__X=sYM5h}hL8@SFRHQ?&(my1iI>YtfFY1G@E zEG$SlcGI3pXgG-w&wx$PiNu>9=|aa}r7wBhaHaD(b7td9dGx4so{K#nbHz^+Dt&CA zFirEYbbSto8ghLC?`mKf)oJDgjh`jbe(B#+HJ3oK4ow1w{iuylGA2R&#T38JaYfx} z8%+nxh8Abp0#R25b}C)bs^%NZ7V3z5-A3o7P6G`(e|#nAV3UnSstYfWs0;H`Xv6Fk z2I1wSp_>XcYOB%Ls2n&r&joe9w4}j{MonCRP+Y zx4CIC3L=8`Lhf@Rd%+#7@vawdbGo>-_rl^-t?){YSi}9YM>* zT%!P1a9nm&Z)l{5YWOZ8Oj7b#s(d$-$*Iko&aM$YIYYbqmjed|OQ!dog|+~gw6Mh+nC0qDRni(=KwE_@yK`6zz31=NIpl#p2sxFl zZe3xuBi1S8|2i`hrhR_~d7fS`*4z6gDBd{({jZRXsDG2)~ z_Ue@;n%csKDh$qqW5zgHPvHu?Siu|9O9tUSrYIyNuA(hVISeAR)XEXPE{GZt-g2B%(>xcu!%e7vewey3j7aLV)t@%@q+g*JN~QP zxT;pcGceNC?vjp8#i(|Hkhh`_Ihdo`9R_a1Jxuo15IjVMSHXsX_P3 z3Z*6asn@Xw{z#7i4u^UDnbL!mXqkgOEjOa@mzvMpV;X^|K+<_UJqCPFbTmf1Ln0Vh z!u@>}%7W*`P`AU|~tBY&jZ0)2}%~saf+kd#Ox~H?-qNhqXU9nHt-1UG1Y(aGBHQ*7)*35aI( zi>t{VlXu}{O%EF>z?y8oAfV`K!HFNIypZ$y-2uNe_y-(|LyeQ%M$eghPC%Q?4#zOb zXEzU|tI+=;ND3Xms6D6Sq^8)0^{#bDp+rc9i@d3JM^Ui8yl*<@u93A-yRq zMv`fFy75mMoYivumjl+TOYJ}zqxIde0>+mW%?T(trmmsH80$Y!IIm% zsA2D?6olR!0{)G@HFiIC2UW_j#Xx%*$N3Ibm_&4|INB8jR@k8ILpTO+yJ54X$cn?_ zsxu7@d3rNC(s~>Q<-}Fh?nd_-UB4ssfWV)}5@z2#0e#9|f=t>3G zv{mF?0{=~l$MwyJ8?%cl+0q*_q+?P>gUbyRV018SMRp~!QoOlefNuFc91D|Wv&>t#cy$DLR1W? zaxdN(uYtt++PtKclVUD8{3yPf+J@ow@>4utLqc1^~%< z7c!RvD66ug#vjgkaE(8M<;>S38f97>J3$}VErJ`4LWfg9l{dC%e!?zm7<)=>u^07bcJ9+>amskzqNb@N!J8^z(9ZhoKOJIRlEgjwim+m{X}DP|h7@N_ zOmU>ScZB4}hl72AZ7+Ep4t>xF^yCX+_w;s=j52j6jD^|vnS7a{RZF^ct~5m}#VJfH zF5Aqo*C*ErX03P(2eCuv8eIyD5|eYpGB{{VW(`?&cp&;hNy#Tg;@niy2m1p=90TV_ zSOmd8KUovg(T#-d@Heoi`pH5V+{?^*NruZ7>bnAsYZ7}mY;AV;eOsHs*;v_6&}u0ftkg(Z2Uf9>UNWQ`5n1xO$@YIy3NeC6WpqbJ=<&CkZ!DO z9PD$59edSL2VjG%J=)7LU162XXL-rMV=+Gj@bM_EqNG;d;z1h+Dbqy*_Hi!6ky#HEe10>zFT6)=qVUn|3rtsQ2NYrshwU!j!N37N6`eI83?(Ha+ zK55Gdes!YK@cgr&Jm<|X3;l`zURhu*<5EP=RjePhQWMA%#-&muPc$D8^3%4zA+!iV z>(wNx8pbHbNn7xKJjIm_6DR6Cn1z1S&>h)2nd((&sZl!PZ^k5At%rmgY} zk~?f7;ToMi$;M;=jO#q^>Z@B;yRWK`es00z=73Dho>|I*!hQx>5P{m}fV5Y+D@C>a z8)!otg||wqjg;$V)>=AeX#dpg&}@E=goxD@&ft_%g*27sJ3Cz2CM6Kjr6pUCiaXF zUCfRY?ZC>h1|8d=zyNMU0?e>;M2Yk(sjtYrcYPigLOIA~-qE&;=IdItEr3vv-vlQI zT<|r=?dF6iV%Mmfw~_`=RkD12P}^I5BEU&&&`MDITgfB4UOXlp?#_41E7C|%wS zRQ9sMCaA+f`=ycy*C;fjPd_rwV{V>lIosW<{|J(39GMf0671;Tp6zNe4yNU(gRp8j z_al>q_Njz*xyN6{c3#9G&>?L4k7dO*SiNS<3;V4d9}(la+L-)@%49U4L-bbJ8-wJ2aA72+NO!lZ|ud2(Ep@Y?2AeBbI)a;6#LqSk`zgOS-J+c>pa#jj4MOc zDUVPaJygWJ%E6Bj_|~3b9cbhR$Run6JT$OmR6leNk-~aX!(DB>L|ZLhWT)Tuyfyh3 z&2==MrQ_~z%J!46CY>}RX*juGWVmNvsF*G5!C*M}>`Wx%J<6RlPM0Vp#_iZNXgSzj z=jzE6CM2w^5z)ze^@J$ba~p!%0s)BeXj^BVkvWfhYHU^INX9PpXPpN$HArE5tyvk0 z;C`NrRauW47#awt^`Jv|#F z-@9qzFfQhpZ5LOvkUAj+N}tC^;DPzhur+l1x}iGeL@H(o|8wAd0Jjcw11WU-Wd9O{ zf<0V}GcnE%ahW8%u#ZlVVV-LSfUBLJB2wzc+0xP zPPV$i+dyuRfctS)Z~dEFZ$x3sOsMm4bG22;NE;}VC0yM5wGM;sp}nIJhX~y1_jp3g zp1zG-_1`+Z^PKy^(3E8g_Hm(&+ZnwkxXh`KS__NiVC!Skf}gW>y;WHlS@AU3LVzx>V`UfI@)SfcyG2MsytRtwJx zwNDdA1VP>T)VYDqKVBUxwDz;YMj_W|p33}Sa(95QhyK2jR?g#-Xh2+WCoqXSQB_)( zhPQ`;p;RW~Yn``c6Jwd^vIe?)h!q-wLQ}K(P_jPOw_=FXuJJ{(oC~y#^1rYouBh~a};|K8pnjwLjW6|X3*m@-t zMF@h|&EEu9go5vkt<7=G=mxy$_$^$=X8hRez&pACHvSIcu<5-)sE26rX zXdwMjx3jSjCXS(TUZ2QflLtRKCT;rU^eg~3H>u>@N!wNgho(6| z*k4qfj@S8}62aL7vmj8Pp~bAwJ%{D-YNKW-e8IzCb3k)y-Kf*;pY}OmS6Nl~DI^gh z^xPNh;a)8>mNtSBxpt29M}&d~)5}L+ei%TX5>X#M{@BgfugT4BlNlUXay~xdQO|3I z_Y+;J@1wV?KUhm&aq<@=ZX}~~QXEbDHd4rTJv(lkHFNf}`0q{1=}SYuqft6&O(q>} zb8pIHZ3QW~%yH);2yg7;9j=?+{dp^t#QJK@hcb8NGm5o5=hw-#THOAq$1)aUdw-g0 zK_`5?#KQq3CX41(`+~36Vzf`E9XGnXS6jmV@OuvE;8>UngI@u{znDz}&JxDpSPL)) zN(tck`8+Hr1$_etv9=rc5vr>xkpwC?BT1_gwulh_YSBv-)@P z(^|B}p$~kiTBUF;%A-CEGPyd9Cw#J3ExB5d$&m%aAb*lp6yUsK*4?2u=(e@b^&O;o z)O%S58Gf+W;kWpNA!FEGm zFc26?PXN7zfM9{RTD^*G6l1qRlmEo8c*XV}yn6*%-wxa$K%Ojm4T7Pu+Xs*hZd89ajT}v*!DZrq2O`z6a*O#5o3@ z1*qU*)V-z+57Pa5UuZt=dvqmMYucmCDOu>?hlvX?(Yx!WLgzY)JCYeL4d2d57#pnx zi$A)348YL+^sZA91&gcp&CHCGQM;`e0Bo2hn=tj9$HN+p{IhfXF)PEDeaB<W{nbQ**$dUBs=4RjL6gst6}X-#KTL6@-#&KLNgcc- zsfFWC9%;a$-&OAs6Vf}xv68{1hM7zYwn}ET+|p@V^fLq?!{QfDm~$6uh)7S)O&Aus zs2HEVq#_~dSFqwEV@pv(@p8=7XoC>0G0gcjN?j6fihn@VOF+Dk{WFoe!qjOXm$n-j z2NrJBt$V-~{gaug0W7GNs&1~N$ zXKN!nGMAJGG6BX`h-G=5|RZ;$Zhg$A9z0A;QCIa3=;_0b9uPmf^1V zjJY^EBY$37Vy@@c)2$YJ&r%B173E^1ob%lBEFaXvd3*W~hxJQ@JAO0{hWh*tbbzt% zbCIb)omoz+1E_|*kBRIGs+tsyH8&~7%dls<-Nm46er!lwi!2x+k2$MJ==F)>)QHL9 z0n&vAw!;}k-F+)+crY2IxB6AtN`~>~lE^FAMKVHi!-LCcm?t$?g>W68(XZI{O#a~W zZI_AG@8&+dqx|fPtKHKSc6swUxx#VgliCH|VNPK-yc1`hjyA-t)H)Mr*VyOmNPu%; zv)~O@u0;z`M~xAW^hg*WGis3O}6ToLCWu;&zOi=Z{Qyh48xIkrVK7B#5Fb4_so$N^!;y| z4p6UXUt|QiaoxmTX&&N#XE9=zJJ30x%{ns^{|X_mg`(kHiXpWtVutw4tiL&F+;F?= z9@P5^J3vxu+pN_+lJ)Rw8U7-!?__(UtL0F4y`c&%haZz&enwS_e~w4byFh$l=<5+zU} ztG#NgfridA!bhDe~u9UtwtltC;zhn)N3Y z=VVqznmGK7Da~~7RORt{x#abWZsl^c$BR9cpuZS~(3F;=ehCcY)86#Bx+LT;L16Zv zd(CIhARfE75Jx7i|9V(-aGn3U?Y`8)GPR<6;q=8h{B;I{4(9C9X=i(*C7YcGiHOm} zd1~z!ZA11wP_hu@MECS3sb?y0ik0bj1ygNQr6;q#aAJ zuhnIB(j4(?IkB#nT@gSCmb}QtdBSw|fO4*bbS?t}kZEngyyThqIY7PSq(@z0aRrB1 zp=>s(_|5hbm2Gu%%KFf-D&le+K!%l~fMhD8m2BV4bG#9#9I{EAB zd$U!ruNCF#9&eoLv>fo|&zV*bN7zmV$8T~39d9d$D$a!4T67N9(;e}Am_@?0;bCY) zaRqDexX43sxS8(c{s_u+|N3Qbxk&l*uQKIt>Aa|E_Z$o94Qi!4&g+@WoB%{*q+Am> ziH9zZ7?~~2UhjociA87OV${==v|(`EdT8zy?muC$<22heEq&737o^n|5Br~X%MS~H zd8D%}e#dg`i#^+1;04Gom`5*E_9uY@@+)&ea=%Q9aDZTT7i|~2-@!<_4350Dta}n1 zMab}(4imIRH6kB5jmPyQksz;={3wQNx@i1EYLp?9=Onr?M;=G}tJ7p}jUb$6LuK{- zERQ@zFliS1KR-v&dA_|OkO|+y^3>1tE7mU9{3#U0O^zwKo;yl&!0^D z#LZQNQCGt_0rK_o+Zsf<0`FH9s=14}e+I0^1dJovuq%I^wGOdU9(Qg&NCrIWj(w~! z)ZvKb$tAm|@|J)QG?d0i5vY;hci%P7@{5{k_fK2A6BdY*V&ZJBK> zw6WbnheXvbHfGGoi#yBDQ)B+~c-d~WdxfxE+P3h4IY5~L+YUMG34_`&cKXNZuY+Gj zR{(yErs5N0#=R-C>E#+F!P=@onsOd(%)!@i}Wz3X%GbmP`~ zbw`j=n~W_THI}f{8O~TkEkv99y8bjlzY{3kZ#UeHF6fWu792jsFxFq}kOXGUZH1cE zmbWY!3IoI%A4^nk0!6oVPEz$&RzLq%6n%KZ5vtVCDlR2|A45k$=1t5s*AD`PnYIvW zo?yf-(IVQYn7P-2(StUDZCyU6c{5O{j1CWk8aB|(nc#}ZjJhDWD?VDz3!@|{vg-NuibD25e2#ryVsa#d&1?!qqmW!ow`$f<7$4i;I~S6VQpjFgvfb=ZregL`>i>8&gj# zsYf~ni77EZ2XVm<+LFoHoVJu2yP7ABef#V#-A$^21Fqq8!Eo}jm55!}Mgrw+d4L0) zO6)e4cw*v=>E7z0{h^yD5+Sh{Un0)YiXyaImj+8-7X^L$|0!h9sU<$>n$8$6S@V+r zXJNj;{0D;B0ku1#z=ICu(hI{NKl*=9f11bHT22qh25l$k^a@oHWZUW;@*Xg}QG5xj z*G^moNuA_8-+4NBRuqTXWRUvuLI=KVTYWJ&Y75yyCC)hE2eVj9(jDCe9IaCN(F;Bh z9%9cC!g`E>Vmt+cUa_^rrg|$k!B_ES0RNfTfO4~?S)EFba~#=VRiwS)ae;8PKRljE z(FVcZ?@+F~V>#=AOc2mDU^}lX_CgP)Iu@<;crYJomfC@Pg$Id)j6;Df7_^lSnlbze z@aWHaRlT(Z9hiivluuOUY_H|$;}Qg0$((ck`Lj|GMFzUKy(RSbw31gwW`ii3Q9=vooqfIO}y7MUg2bPdwGH48563`Y!HKXcMlzs0^6paVLndqcx9 zxMs%_GM1yiLl*(3YIYPDn|>i2uTX&9;CWh!u2z`H9T_(@j0#nrFR^aWFmmu#A_g(G z58lBE)-faMtaHKBaWG;$4{*5B;jRz$WwDChe~dq2vs5z?k0kM_Sw24e?sfVZJQ=(lUTABua`vj!1`nO=CGAr>>kMW%rUceFG>krQQoh_`ata#=a52{ z7zSeEnWT?788423@Z^?e4B3wbhee(%%kuSM!EC^|Sk`8Cwb1FHR?{4VWt2YRT&4S@ z3fZ^!lXchlcV(a;q^H_`)dsoiecDfv><85h3SuT?Mq<{gqFgY>+ zpC*k-MC3AKapt?s+L0a=Wd5$Un}xl8Y2sE0ER7Dag!~;|U{)N^s_NCl);!#m#B~(^XvKL|FWr@K4JD0qGH-7hHFST$>z46FpjV%>?|w~WtOfm= zdCvvGgLc9zWX?J@0(BrhHiFgRJTgmgCbCVbp7XJv)6@ZjCS`;z83fmdistkApci67 zbOBpGY_-^0U4VlmXsCaoQ3J*LH%-Z3z0R~<@e19a$OEhI zN9GR|XrbX+Cx)29Ds-8_6)=#Jp!2EO=stSu>`)s(yCg{0t>&|qErl1oVU#u}==;O^xgT4@z2roXQ^${9@cqk8!-8SGn=YfUR+rzaI%yg6iHIi;^s2xLwu0$>r<=k5`1g6>)33X> zMIEyzGOt+U>HN%EgrYuvfK$jW3tlVOwg|d!I@X2^yvFlTRCAbX5{~L*v*^j}55n`DPZ(Dy(uGCq zNk!S>DDGkp@l3a*WqoL7Y>e^c8#_h|JbBEozfrhC9j@$=t@M4kcc0e zk-m_#@2>39z^VYM^&o?%nZu9a5+>d`-9fpC_)HSq=KK4N=qd9o%v}pO&ci45KZPdmuH=LVE7e=Sly4)K$_ay{;u{9 ziecvL78#mby6@Y4LOp>l&kGuNFFS(tmS)&T;V#-USX5WBFOcHD?Ck*^eFpgzoGt2> zz%%;0`yMk(K^NW-Mqo{mutEmcr3{<70Sej&+Tg6Ifj5r z%mb14HY#FM@Zg>VPOx|lxL8dHR^qHH zn(q|_yJp9}Q%XUOy2umPeOSuI)ui*aet{b;VF?{S25*!ZQ>@`7_mZ@HeWUj&F*SqR z=^3l3vM{;}J{&(663{<#WoLDM)N;G8>iuzOWB}_?OTAvFx!(3MIi;u_dvu^Qq#fBy zN2!Z{BwWUn@jc?d7vg~CoY}lT2ww#LJyE%kw!G%~09-Y}JQL@r-=)oJW|t87}f&XPL52zATNX&Hp1SLp~Pg ziOhHEzjJ_VY%|}56+8}SPI=xp^N&x{8ka)3%}gZJy?i@)EL$#Q`hw4+eBZ<)Pd05Z zIU_+Jiu`Mv#Rd_zfV-O0Q3V5Fv-Cdx0IkEQjT+r2T~w0N64Hga)_zI1ri?ORi9YBrMBJS`yi>Z1Nz*=psN5P# zs=ql}^N9iihGT3NYTf#xtkokT*9u5!y)ip8Ms? zkR&M?EZVJwwsk?RHfHDx#qalf=%S!0zUtZ7HdaTWg+?myuKuel*lfJfMSh}~9g@>F z?+DSkwYLNR6d8J|6&f|h;*mijWG_iVpiW+n*UMh+v@x0JGq;aV_P{Pc-6 zDq>`myjV$^F?;0>wbLZD&S|4UE&->L?tD{4$3Lhw|3=NrU3b2Ug{PaxvCdJ%ga;;u zD3K8N>?|C1&hP&b%;my*A{XA3YF#o^&b6WARzhAmh6lX=<5>RJ)i6wDrwO9SRg)nG!xL6!>`RHlpfR^cJofEyRZ$j_&dLK9M1xA=*C^Ix>~3X&VZj zR&^OpQS}cEb*O5dva5-&@xPt+dQL}!)gZv?J#cbnRl>-NDAIhgf8SHvwOeM4N`y0+ z;TVK8j?qE0kSbTaI@s(e$Gw7hI^p2uy8mH8O%f17DXUic*j)Yz35Sb_!`hrT(-Ps; z^xJ`JipPEFXVm3$Sfd*}@_$8OKdAouNtn=XaW9|85Kd#~zB$ko=0|d-O(jQ;pfI*u zTI%P>v-2-23+aGblhXL}@Wwq*cnMI4z(>sI`~K{G4rv)NCqqMk6Ra3V$OPTLrK&xM zFkJIJc2jV86$Ci)-A%o;dEN;2FLXILMIE-9vhn*H3a~*PpiE&@D`mgA2$_Uf+vc3* z0B4A(e|(L#)b@mwbMi8feIWz3?z;Q!3==O5J3q>P%TXh((oQh1;qQP3L#s6yr*}$$ z>DgSnt(8xmQbNCgX~F?%1e;{v#2wt;^#3$BFW-G8Jim-;z3#VhV`|+dUd2FhCPK9- zemxXK8X-wmZ}_w~p4vTq@P`~s@y<^0;Y5v~-czqj8W-a>vk7ioh=`Y`G{dHJ-3h}k zSZqQ7$)LOE89#Kruc7p0CAZ6Noj^7A4BwOt`kI+*ss2?VgCH??HQDJuS)p63@7x!d z*3g0A=e~PdAmcp5(LgM~Zz&H9QeaouCq$m_bK9JZZ0Oo!x(g_Eb6m2&{?!3ry9eRb z;C~jZ-}6*@`kJPm5l$Qpf|!;l7Buo*sarga;+bxG(2hS=pZEoZGhB;vqI%@dd z<$r`azqKsltork=Vgi{PGW{k7<~b*v@9S@%2!D+6H#D7P-veSOrs1yj^TRK=ca>^_ z<>MBk>@tncmzGyq3f2Q3Lr6UlG`1YXaX-I#Ie+|6t>cnyLh7agN)yrMgDW8l9$>Z( zg2<;^e{m@wi=JLey-@5^E%zevM+WVwJG#+VIoDPp(+-Rf8o9gniX0mHiEJaj15b=fuTJ~O)PfTE;t<6ezLsE|6@tfs3Z^Sxlj9xap1yYsIDG*1WOf+~Cv~X%oK9E-WU-%^Wje zHvY=7Vjvj5^RkRS1h#uhEi}%HjZD?Ht(}vKE`FeygJ}4c6-j4{DVs`QL4yA#BsWsFPK$+`Z zFF3ag5B+n0b2^$2T2m&A4^l#=qz$*aA$J9HeF6 zen;@LtCPsCzGmud4Dl4M_XL*k*0im^ZOL1+TApBLEN{ihl0}~%r$tCnr(ynmDRep5 z*=%@m+SV4G;~q0#_MNblWG3R`R_O6Q*t-f6_i}Y8y_$6njE!C z(C52h^t8^Uv4NX0eqXU7kYHd^lV)zjQ{1OPZP?e56gfhM)>J{ft%;$j`Uj+Tec?w9 zI6R&P^>H0JS83UoYss^vE8DI|9PzUr?o8!=aZ0&qQHBkc@AXM|$KUm13?w#Pz8Y}p zSDRXyxliUEX`lci23h$b=QF=QNu?TkL(9Zgi}#@7{;S3X&)(r0JXMh41#Q{c3xLYr z`i%M{>#Co~Gfk-iMg4{vcaZ#UN_3&oKudHDmm632IH&7f?uE4(>3bpr!KnA-s2W3g zmj6AyNsV<08Tlr$ROmF_EtbiA&@IJMhCj(Kn7))W{MW5%rPilJ>aR|l&Y>*Fvy(j~ zV*K7{x4&gWskHMQ;zDLNfhsl6mhn@2(a*QB7V%?c$10fouuHF;ZDcD z=NH+TDIzdz2n^YVGSce)ya=ks4*I`R&itPV$B*Mf?o5%%U5>ePG(+Xck%$mR$|ys& z4n=a0$<<*+bCx3|HurKLnL=jK2$Lf%Geq@zPVx)8tHk>V~p)hPA@LS7=9?i{@Pg{IZD3B@bLyrHtzXv2~ zR|^>%Uh_4s81PW_qvk<<+_?4}M2DTC4bvUO(x0TAMa=RPMoJ`n-!mBGqSv6vp$R46X0q z(eRq3#Z+9YHN+^gp{%Zx((Wan&D+qeC!Za?+E=YAR8whY=Jc#9|6Aw0CE|n?}m z1Hz6Q){wQOm$$p-h9Y75o&-D;W>j*L$RdpLeNhR%c4z~m;11x7mF&z zw@2<^=Ct~b8~ePElQwQiilipOyvXhUl=cZ#-e^^8= z!~_vY2bvBvQ1!Y%57qX>LOM80vVc5#KLz{>F;J084rFZ86-H&xq;220ZjIr$R9TXU*G{3o)`b zn~Fk0yptO>0v7Cm>0Q3x(8HF9#b%S>CbhJti|``6(pi{N@~3ia4#OfJw5cY!M(dDX z!`U^zq-VxY(`7u=2@7`xcKV;%K(C!XugC&Xc~Xc-u98k~)RVNhKPyL+_8-y5T7E>P zx(PLS9`lA_?a9e=TW=`k_UW7iJ6SJDDnshCXMx0{wX=z;FR`VeuT>$yGL}LcxdhD_ z7?Uq83dax{0sCK1W~u|Gm3k3V3a;P}d-G9FPPIK--tJ=G-D7{zG#{G=rc-HN?~JS$ z+p?HeWqJmOk>AbAKt+^^Wk9rEZubsJGAMWMhCEtEFZ{*P%l; ze?Cv+h;YhOr*q)~auzV&>ZEfX-0?1en;J)7)~;p-o{~sz+CjCe~r9g94}S4#MxL;L*8tKn+4^)C;+fk zp!QFG(;Ufs@%)~P=l6_k_`eQ5WSQ|S&99)%?>XIz36_zPG$jq|J(zaOy!D6m#(mam zdu+8|5@-@80@Fa@oiBlVxd%Qrl%CN4y0tOyxeD)Dys_IunQR^e%oi?x;lP!vDxfm% z74Y=b)gxd1wY1G~-CK(cZQk9#1`L{sl#ktH_i$7we;6X0?4cmsOm;j)=;4l(zWeQV z?&tWJ!HuumXGS%oM2v;(QDwHN9xVfy0lPbTm0>t0V zSS9@O>cNE!S-(+LGLa@fBbgh`x^6zgDF<4KK%$o*`R|UE8|a%uuoF+_l}J)X+I4DUkc_rpQ6zyM;@n=^ z&Tg&YO0Zd4fyTcmuSgX<-x;=h%}IjdCaM>NMddTr4_sZ5wv0 z*o4v0_NjzD*!EbOsMs+0hl6^u-gTH7|7y(18ZXHbT-?fo$EKMrZk=02&XaXkb%%&W z(Vsa?>+V6#2iN2<{x$yVtohd1_jIx)5yVQOy>%nt#{$LYy_Da$Hqv{& zMck6L9tA1v$7n&`DwX8ahLs}XvDW|Atwxk@Y>e}+o9K5+;^g!ROjE$%=j3j2OW3j_ zO89O2x7hi&(1J%7@5coKOQs(Jz@jI#9+jxPb+wE}JPcz@1&Z#-C#+s%-{?u$?8Q0> zs~++@H(AD7D+Zu4YX+beK4^s5!1Y+e%;rQUaOAXoymNc4sGon!iUy+@Db9PAabw@3 zkAU(8196<+m`#INjiKm5);-OME=*11;N`K}|S9C6#E&Yv+rd_V_@tx{{ zJ>8y}D#jL}!USvhb}4`o@bLI&_HOR;GyJrXSoq4yyZP*v!| z61GZN2NaTY#e&KeX)#rIxEQe-d2vEA_^4<`I|$sXDE)qAeL8AG9Tie1Hr9nU+| I*#%+#2dtK;n*aa+ literal 0 HcmV?d00001 diff --git a/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..1d98044f13bdd3afc7cb426644ae118688c03c14 GIT binary patch literal 7971 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 Z{{b+Ide7&7`HKJm002ovPDHLkV1iT#V`TsU literal 0 HcmV?d00001 diff --git a/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..081832466b4a17180fe9255fa0d3fcba2010592c GIT binary patch literal 12392 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 K@hVZnfd2y&>ZwQo literal 0 HcmV?d00001 diff --git a/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..a2a838e7b550ac82b12e73d71427c6ffea06a944 GIT binary patch literal 29506 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 K@hVZnfd2y&>ZwQo literal 0 HcmV?d00001 diff --git a/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..b18bceb64d257ed31d50e65d7f2b98abcfb21158 GIT binary patch literal 16751 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 XrJNsHnTG=pQeg0O^>bP0l+XkK^)z{o literal 0 HcmV?d00001 diff --git a/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..3f8a57f38e0273699c8cdd1012042bffdc38abce GIT binary patch literal 40510 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

C z(CX6fIh8mroxe4Fy?l{bj%8R307X*fDQ#(v@y+x%4>XY?ax zC^p*eaCfrcq#aa-hT`A*7=V1wKdlx2BoX`y?{jb4s1j@)b7-etD6E@cKXx@8e&Vf zWehdcr8jm&_uNAX*$0NY%B&gn)>)@jQLcO5F3UZEr zds`B64=#T7qE6myk{5rNg+99@E{Zf&GEI$b?&PagH-fv#5k*V6EEmp!A*tE}RWk_SsM5#wN>{l7X5DBVl)bv~bNp*#NXY*I)h$Ng literal 0 HcmV?d00001 diff --git a/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..b18bceb64d257ed31d50e65d7f2b98abcfb21158 GIT binary patch literal 16751 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 XrJNsHnTG=pQeg0O^>bP0l+XkK^)z{o literal 0 HcmV?d00001 diff --git a/examples/tauri-app/src-tauri/gen/android/app/src/main/res/values-night/themes.xml b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/values-night/themes.xml new file mode 100644 index 0000000..222f3a7 --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/values-night/themes.xml @@ -0,0 +1,6 @@ + + + + diff --git a/examples/tauri-app/src-tauri/gen/android/app/src/main/res/values/colors.xml b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..f8c6127 --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/values/colors.xml @@ -0,0 +1,10 @@ + + + #FFBB86FC + #FF6200EE + #FF3700B3 + #FF03DAC5 + #FF018786 + #FF000000 + #FFFFFFFF + \ No newline at end of file diff --git a/examples/tauri-app/src-tauri/gen/android/app/src/main/res/values/strings.xml b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..e6c8671 --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + tauri-app + tauri-app + \ No newline at end of file diff --git a/examples/tauri-app/src-tauri/gen/android/app/src/main/res/values/themes.xml b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..222f3a7 --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/values/themes.xml @@ -0,0 +1,6 @@ + + + + diff --git a/examples/tauri-app/src-tauri/gen/android/app/src/main/res/xml/file_paths.xml b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/xml/file_paths.xml new file mode 100644 index 0000000..782d63b --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/app/src/main/res/xml/file_paths.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/examples/tauri-app/src-tauri/gen/android/build.gradle.kts b/examples/tauri-app/src-tauri/gen/android/build.gradle.kts new file mode 100644 index 0000000..c5ef452 --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/build.gradle.kts @@ -0,0 +1,22 @@ +buildscript { + repositories { + google() + mavenCentral() + } + dependencies { + classpath("com.android.tools.build:gradle:8.5.1") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.25") + } +} + +allprojects { + repositories { + google() + mavenCentral() + } +} + +tasks.register("clean").configure { + delete("build") +} + diff --git a/examples/tauri-app/src-tauri/gen/android/buildSrc/build.gradle.kts b/examples/tauri-app/src-tauri/gen/android/buildSrc/build.gradle.kts new file mode 100644 index 0000000..39e90b0 --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/buildSrc/build.gradle.kts @@ -0,0 +1,23 @@ +plugins { + `kotlin-dsl` +} + +gradlePlugin { + plugins { + create("pluginsForCoolKids") { + id = "rust" + implementationClass = "RustPlugin" + } + } +} + +repositories { + google() + mavenCentral() +} + +dependencies { + compileOnly(gradleApi()) + implementation("com.android.tools.build:gradle:8.5.1") +} + diff --git a/examples/tauri-app/src-tauri/gen/android/buildSrc/src/main/java/com/tauri_app/app/kotlin/BuildTask.kt b/examples/tauri-app/src-tauri/gen/android/buildSrc/src/main/java/com/tauri_app/app/kotlin/BuildTask.kt new file mode 100644 index 0000000..6276570 --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/buildSrc/src/main/java/com/tauri_app/app/kotlin/BuildTask.kt @@ -0,0 +1,52 @@ +import java.io.File +import org.apache.tools.ant.taskdefs.condition.Os +import org.gradle.api.DefaultTask +import org.gradle.api.GradleException +import org.gradle.api.logging.LogLevel +import org.gradle.api.tasks.Input +import org.gradle.api.tasks.TaskAction + +open class BuildTask : DefaultTask() { + @Input + var rootDirRel: String? = null + @Input + var target: String? = null + @Input + var release: Boolean? = null + + @TaskAction + fun assemble() { + val executable = """bun"""; + try { + runTauriCli(executable) + } catch (e: Exception) { + if (Os.isFamily(Os.FAMILY_WINDOWS)) { + runTauriCli("$executable.cmd") + } else { + throw e; + } + } + } + + fun runTauriCli(executable: String) { + val rootDirRel = rootDirRel ?: throw GradleException("rootDirRel cannot be null") + val target = target ?: throw GradleException("target cannot be null") + val release = release ?: throw GradleException("release cannot be null") + val args = listOf("tauri", "android", "android-studio-script"); + + project.exec { + workingDir(File(project.projectDir, rootDirRel)) + executable(executable) + args(args) + if (project.logger.isEnabled(LogLevel.DEBUG)) { + args("-vv") + } else if (project.logger.isEnabled(LogLevel.INFO)) { + args("-v") + } + if (release) { + args("--release") + } + args(listOf("--target", target)) + }.assertNormalExitValue() + } +} \ No newline at end of file diff --git a/examples/tauri-app/src-tauri/gen/android/buildSrc/src/main/java/com/tauri_app/app/kotlin/RustPlugin.kt b/examples/tauri-app/src-tauri/gen/android/buildSrc/src/main/java/com/tauri_app/app/kotlin/RustPlugin.kt new file mode 100644 index 0000000..4aa7fca --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/buildSrc/src/main/java/com/tauri_app/app/kotlin/RustPlugin.kt @@ -0,0 +1,85 @@ +import com.android.build.api.dsl.ApplicationExtension +import org.gradle.api.DefaultTask +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.kotlin.dsl.configure +import org.gradle.kotlin.dsl.get + +const val TASK_GROUP = "rust" + +open class Config { + lateinit var rootDirRel: String +} + +open class RustPlugin : Plugin { + private lateinit var config: Config + + override fun apply(project: Project) = with(project) { + config = extensions.create("rust", Config::class.java) + + val defaultAbiList = listOf("arm64-v8a", "armeabi-v7a", "x86", "x86_64"); + val abiList = (findProperty("abiList") as? String)?.split(',') ?: defaultAbiList + + val defaultArchList = listOf("arm64", "arm", "x86", "x86_64"); + val archList = (findProperty("archList") as? String)?.split(',') ?: defaultArchList + + val targetsList = (findProperty("targetList") as? String)?.split(',') ?: listOf("aarch64", "armv7", "i686", "x86_64") + + extensions.configure { + @Suppress("UnstableApiUsage") + flavorDimensions.add("abi") + productFlavors { + create("universal") { + dimension = "abi" + ndk { + abiFilters += abiList + } + } + defaultArchList.forEachIndexed { index, arch -> + create(arch) { + dimension = "abi" + ndk { + abiFilters.add(defaultAbiList[index]) + } + } + } + } + } + + afterEvaluate { + for (profile in listOf("debug", "release")) { + val profileCapitalized = profile.replaceFirstChar { it.uppercase() } + val buildTask = tasks.maybeCreate( + "rustBuildUniversal$profileCapitalized", + DefaultTask::class.java + ).apply { + group = TASK_GROUP + description = "Build dynamic library in $profile mode for all targets" + } + + tasks["mergeUniversal${profileCapitalized}JniLibFolders"].dependsOn(buildTask) + + for (targetPair in targetsList.withIndex()) { + val targetName = targetPair.value + val targetArch = archList[targetPair.index] + val targetArchCapitalized = targetArch.replaceFirstChar { it.uppercase() } + val targetBuildTask = project.tasks.maybeCreate( + "rustBuild$targetArchCapitalized$profileCapitalized", + BuildTask::class.java + ).apply { + group = TASK_GROUP + description = "Build dynamic library in $profile mode for $targetArch" + rootDirRel = config.rootDirRel + target = targetName + release = profile == "release" + } + + buildTask.dependsOn(targetBuildTask) + tasks["merge$targetArchCapitalized${profileCapitalized}JniLibFolders"].dependsOn( + targetBuildTask + ) + } + } + } + } +} \ No newline at end of file diff --git a/examples/tauri-app/src-tauri/gen/android/gradle.properties b/examples/tauri-app/src-tauri/gen/android/gradle.properties new file mode 100644 index 0000000..2a7ec69 --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/gradle.properties @@ -0,0 +1,24 @@ +# Project-wide Gradle settings. +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app"s APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Kotlin code style for this project: "official" or "obsolete": +kotlin.code.style=official +# Enables namespacing of each library's R class so that its R class includes only the +# resources declared in the library itself and none from the library's dependencies, +# thereby reducing the size of the R class for that library +android.nonTransitiveRClass=true +android.nonFinalResIds=false \ No newline at end of file diff --git a/examples/tauri-app/src-tauri/gen/android/gradle/wrapper/gradle-wrapper.jar b/examples/tauri-app/src-tauri/gen/android/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f GIT binary patch literal 59203 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

K7UpUK$>l@ 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 E2O(~oYXATM literal 0 HcmV?d00001 diff --git a/examples/tauri-app/src-tauri/gen/android/gradle/wrapper/gradle-wrapper.properties b/examples/tauri-app/src-tauri/gen/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..0df10d5 --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Tue May 10 19:22:52 CST 2022 +distributionBase=GRADLE_USER_HOME +distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip +distributionPath=wrapper/dists +zipStorePath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME diff --git a/examples/tauri-app/src-tauri/gen/android/gradlew b/examples/tauri-app/src-tauri/gen/android/gradlew new file mode 100755 index 0000000..4f906e0 --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/gradlew @@ -0,0 +1,185 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/examples/tauri-app/src-tauri/gen/android/gradlew.bat b/examples/tauri-app/src-tauri/gen/android/gradlew.bat new file mode 100644 index 0000000..107acd3 --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/examples/tauri-app/src-tauri/gen/android/settings.gradle b/examples/tauri-app/src-tauri/gen/android/settings.gradle new file mode 100644 index 0000000..3939116 --- /dev/null +++ b/examples/tauri-app/src-tauri/gen/android/settings.gradle @@ -0,0 +1,3 @@ +include ':app' + +apply from: 'tauri.settings.gradle' diff --git a/examples/tauri-app/src-tauri/icons/icon.png b/examples/tauri-app/src-tauri/icons/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f794030dfb01e8ccd2fb536eef4f65781ddb55d2 GIT binary patch literal 15225 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 +static PUNCTUATOR: OnceCell> = + OnceCell::new(); + + +#[tauri::command] +fn punctuate(sentence: &str, app: tauri::AppHandle) -> Result { + println!("Input text: {}", sentence); + + // Initialize the Punctuation object if it hasn't been done already + let punctuater = PUNCTUATOR.get_or_init(|| { + + // TODO: download the model? or load it from downloads? + // let resource_dir = app.path().resource_dir().map_err(|e| e.to_string())?; + // let model_path = resource_dir.join("model.onnx"); + // let temp_model_path = std::env::temp_dir().join(&model_path); + // std::fs::copy(&model_path, std::env::temp_dir().join(&model_path)).map_err(|e| e.to_string())?; + + let config = sherpa_rs::punctuate::PunctuationConfig { + // model: temp_model_path.to_string_lossy().to_string(), + model: "/data/local/tmp/model.onnx".to_string(), + ..Default::default() + }; + let punctuator = sherpa_rs::punctuate::Punctuation::new(config) + .map_err(|e| format!("Failed to initialize Punctuation object: {}", e))?; + + Ok(Arc::new(Mutex::new(punctuator))) + }); + + // Lock the mutex to safely access the Punctuation object + let punctuater = punctuater.clone().map_err(|e| e.to_string())?; + let mut punctuater = punctuater + .lock() + .map_err(|e| format!("Failed to get punctuator: {:?}", e))?; + let punctuated = punctuater.add_punctuation(sentence); + + Ok(punctuated) +} + +#[cfg_attr(mobile, tauri::mobile_entry_point)] +pub fn run() { + tauri::Builder::default() + .plugin(tauri_plugin_opener::init()) + .invoke_handler(tauri::generate_handler![punctuate]) + .run(tauri::generate_context!()) + .expect("error while running tauri application"); +} diff --git a/examples/tauri-app/src-tauri/src/main.rs b/examples/tauri-app/src-tauri/src/main.rs new file mode 100644 index 0000000..2abccd9 --- /dev/null +++ b/examples/tauri-app/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() { + tauri_app_lib::run() +} diff --git a/examples/tauri-app/src-tauri/tauri.conf.json b/examples/tauri-app/src-tauri/tauri.conf.json new file mode 100644 index 0000000..15c89b7 --- /dev/null +++ b/examples/tauri-app/src-tauri/tauri.conf.json @@ -0,0 +1,36 @@ +{ + "$schema": "https://schema.tauri.app/config/2", + "productName": "tauri-app", + "version": "0.1.0", + "identifier": "com.tauri-app.app", + "build": { + "beforeDevCommand": "bun run dev", + "devUrl": "http://localhost:1420", + "beforeBuildCommand": "bun run build", + "frontendDist": "../dist" + }, + "app": { + "withGlobalTauri": true, + "windows": [ + { + "title": "tauri-app", + "width": 800, + "height": 600 + } + ], + "security": { + "csp": null + } + }, + "bundle": { + "active": true, + "targets": "all", + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ] + } +} \ No newline at end of file diff --git a/examples/tauri-app/src/main.ts b/examples/tauri-app/src/main.ts new file mode 100644 index 0000000..afab729 --- /dev/null +++ b/examples/tauri-app/src/main.ts @@ -0,0 +1,30 @@ +import { invoke } from "@tauri-apps/api/core"; + +let inputElement: HTMLInputElement | null; +let outputElement: HTMLElement | null; + +async function punctuate() { + console.log('punctuate clicked') + if (outputElement && inputElement) { + // Learn more about Tauri commands at https://tauri.app/develop/calling-rust/ + try { + const result = await invoke("punctuate", { + sentence: inputElement.value, + }); + console.log('result', result) + outputElement.textContent = result + } catch (error) { + console.error(error) + } + + } +} + +window.addEventListener("DOMContentLoaded", () => { + inputElement = document.querySelector("#input"); + outputElement = document.querySelector("#output"); + document.querySelector("#input-form")?.addEventListener("submit", (e) => { + e.preventDefault(); + punctuate(); + }); +}); diff --git a/examples/tauri-app/tsconfig.json b/examples/tauri-app/tsconfig.json new file mode 100644 index 0000000..75abdef --- /dev/null +++ b/examples/tauri-app/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"] +} diff --git a/examples/tauri-app/vite.config.ts b/examples/tauri-app/vite.config.ts new file mode 100644 index 0000000..e8e567a --- /dev/null +++ b/examples/tauri-app/vite.config.ts @@ -0,0 +1,30 @@ +import { defineConfig } from "vite"; + +// @ts-expect-error process is a nodejs global +const host = process.env.TAURI_DEV_HOST; + +// https://vitejs.dev/config/ +export default defineConfig(async () => ({ + + // 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/**"], + }, + }, +}));