From 36abdfced0963f2d1f03c1dbd046e1c05d2791b9 Mon Sep 17 00:00:00 2001 From: natreex Date: Tue, 7 Apr 2026 16:46:35 -0400 Subject: [PATCH] Add Tauri app backend setup with dependencies and basic build script - Introduced `build.rs` for Tauri build process initialization. - Added `Cargo.toml` with dependencies for Tauri plugins, serialization, cryptography, and database handling. - Generated `Cargo.lock` to lock package versions for consistency. --- .gitignore | 31 + src-tauri/Cargo.lock | 6588 +++++++++++++++++ src-tauri/Cargo.toml | 47 + src-tauri/Info.plist | 10 + src-tauri/build.rs | 3 + src-tauri/capabilities/default.json | 27 + src-tauri/entitlements.mac.plist | 8 + src-tauri/gen/schemas/acl-manifests.json | 1 + src-tauri/gen/schemas/capabilities.json | 1 + src-tauri/gen/schemas/desktop-schema.json | 2852 +++++++ src-tauri/gen/schemas/macOS-schema.json | 2852 +++++++ src-tauri/gen/schemas/windows-schema.json | 2852 +++++++ src-tauri/icons/128x128.png | Bin 0 -> 5887 bytes src-tauri/icons/128x128@2x.png | Bin 0 -> 11538 bytes src-tauri/icons/32x32.png | Bin 0 -> 1537 bytes src-tauri/icons/64x64.png | Bin 0 -> 2887 bytes src-tauri/icons/Square107x107Logo.png | Bin 0 -> 4842 bytes src-tauri/icons/Square142x142Logo.png | Bin 0 -> 6584 bytes src-tauri/icons/Square150x150Logo.png | Bin 0 -> 6937 bytes src-tauri/icons/Square284x284Logo.png | Bin 0 -> 13267 bytes src-tauri/icons/Square30x30Logo.png | Bin 0 -> 1452 bytes src-tauri/icons/Square310x310Logo.png | Bin 0 -> 14523 bytes src-tauri/icons/Square44x44Logo.png | Bin 0 -> 2028 bytes src-tauri/icons/Square71x71Logo.png | Bin 0 -> 3196 bytes src-tauri/icons/Square89x89Logo.png | Bin 0 -> 4029 bytes src-tauri/icons/StoreLogo.png | Bin 0 -> 2302 bytes .../android/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../icons/android/mipmap-hdpi/ic_launcher.png | Bin 0 -> 2390 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 7524 bytes .../android/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 2751 bytes .../icons/android/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2258 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 5002 bytes .../android/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2630 bytes .../android/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4520 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 9798 bytes .../mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 5704 bytes .../android/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7060 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 15382 bytes .../mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 8957 bytes .../android/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9592 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 21821 bytes .../mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 11894 bytes .../android/values/ic_launcher_background.xml | 4 + src-tauri/icons/app-icon.png | Bin 0 -> 98 bytes src-tauri/icons/icon.icns | Bin 0 -> 236647 bytes src-tauri/icons/icon.ico | Bin 0 -> 23115 bytes src-tauri/icons/icon.png | Bin 0 -> 23878 bytes src-tauri/icons/ios/AppIcon-20x20@1x.png | Bin 0 -> 916 bytes src-tauri/icons/ios/AppIcon-20x20@2x-1.png | Bin 0 -> 1894 bytes src-tauri/icons/ios/AppIcon-20x20@2x.png | Bin 0 -> 1894 bytes src-tauri/icons/ios/AppIcon-20x20@3x.png | Bin 0 -> 2721 bytes src-tauri/icons/ios/AppIcon-29x29@1x.png | Bin 0 -> 1387 bytes src-tauri/icons/ios/AppIcon-29x29@2x-1.png | Bin 0 -> 2668 bytes src-tauri/icons/ios/AppIcon-29x29@2x.png | Bin 0 -> 2668 bytes src-tauri/icons/ios/AppIcon-29x29@3x.png | Bin 0 -> 3875 bytes src-tauri/icons/ios/AppIcon-40x40@1x.png | Bin 0 -> 1894 bytes src-tauri/icons/ios/AppIcon-40x40@2x-1.png | Bin 0 -> 3577 bytes src-tauri/icons/ios/AppIcon-40x40@2x.png | Bin 0 -> 3577 bytes src-tauri/icons/ios/AppIcon-40x40@3x.png | Bin 0 -> 5382 bytes src-tauri/icons/ios/AppIcon-512@2x.png | Bin 0 -> 18089 bytes src-tauri/icons/ios/AppIcon-60x60@2x.png | Bin 0 -> 5382 bytes src-tauri/icons/ios/AppIcon-60x60@3x.png | Bin 0 -> 8222 bytes src-tauri/icons/ios/AppIcon-76x76@1x.png | Bin 0 -> 3427 bytes src-tauri/icons/ios/AppIcon-76x76@2x.png | Bin 0 -> 6957 bytes src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png | Bin 0 -> 7698 bytes src-tauri/tauri.conf.json | 52 + 66 files changed, 15333 insertions(+) create mode 100644 src-tauri/Cargo.lock create mode 100644 src-tauri/Cargo.toml create mode 100644 src-tauri/Info.plist create mode 100644 src-tauri/build.rs create mode 100644 src-tauri/capabilities/default.json create mode 100644 src-tauri/entitlements.mac.plist create mode 100644 src-tauri/gen/schemas/acl-manifests.json create mode 100644 src-tauri/gen/schemas/capabilities.json create mode 100644 src-tauri/gen/schemas/desktop-schema.json create mode 100644 src-tauri/gen/schemas/macOS-schema.json create mode 100644 src-tauri/gen/schemas/windows-schema.json create mode 100644 src-tauri/icons/128x128.png create mode 100644 src-tauri/icons/128x128@2x.png create mode 100644 src-tauri/icons/32x32.png create mode 100644 src-tauri/icons/64x64.png create mode 100644 src-tauri/icons/Square107x107Logo.png create mode 100644 src-tauri/icons/Square142x142Logo.png create mode 100644 src-tauri/icons/Square150x150Logo.png create mode 100644 src-tauri/icons/Square284x284Logo.png create mode 100644 src-tauri/icons/Square30x30Logo.png create mode 100644 src-tauri/icons/Square310x310Logo.png create mode 100644 src-tauri/icons/Square44x44Logo.png create mode 100644 src-tauri/icons/Square71x71Logo.png create mode 100644 src-tauri/icons/Square89x89Logo.png create mode 100644 src-tauri/icons/StoreLogo.png create mode 100644 src-tauri/icons/android/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 src-tauri/icons/android/mipmap-hdpi/ic_launcher.png create mode 100644 src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png create mode 100644 src-tauri/icons/android/mipmap-mdpi/ic_launcher.png create mode 100644 src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png create mode 100644 src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png create mode 100644 src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png create mode 100644 src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png create mode 100644 src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 src-tauri/icons/android/values/ic_launcher_background.xml create mode 100644 src-tauri/icons/app-icon.png create mode 100644 src-tauri/icons/icon.icns create mode 100644 src-tauri/icons/icon.ico create mode 100644 src-tauri/icons/icon.png create mode 100644 src-tauri/icons/ios/AppIcon-20x20@1x.png create mode 100644 src-tauri/icons/ios/AppIcon-20x20@2x-1.png create mode 100644 src-tauri/icons/ios/AppIcon-20x20@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-20x20@3x.png create mode 100644 src-tauri/icons/ios/AppIcon-29x29@1x.png create mode 100644 src-tauri/icons/ios/AppIcon-29x29@2x-1.png create mode 100644 src-tauri/icons/ios/AppIcon-29x29@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-29x29@3x.png create mode 100644 src-tauri/icons/ios/AppIcon-40x40@1x.png create mode 100644 src-tauri/icons/ios/AppIcon-40x40@2x-1.png create mode 100644 src-tauri/icons/ios/AppIcon-40x40@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-40x40@3x.png create mode 100644 src-tauri/icons/ios/AppIcon-512@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-60x60@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-60x60@3x.png create mode 100644 src-tauri/icons/ios/AppIcon-76x76@1x.png create mode 100644 src-tauri/icons/ios/AppIcon-76x76@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png create mode 100644 src-tauri/tauri.conf.json diff --git a/.gitignore b/.gitignore index d37c918..b561195 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,34 @@ src-tauri/target/ # IDE .idea/ +.vscode/ + +# OS +.DS_Store +Thumbs.db + +# Secrets & certificates +*.pem +*.key +*.p12 +*.pfx +*.cer +*.crt +*.p8 +*.mobileprovision +*.provisionprofile +*.keystore +*.jks +*.sig +*.asc +*.gpg +.env +.env.* +!.env.example + +# Logs +*.log +logs/ + +# Misc +*.blockmap diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock new file mode 100644 index 0000000..04189be --- /dev/null +++ b/src-tauri/Cargo.lock @@ -0,0 +1,6588 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + +[[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] +name = "ahash" +version = "0.8.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +dependencies = [ + "alloc-no-stdlib", +] + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anyhow" +version = "1.0.102" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" + +[[package]] +name = "arbitrary" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" +dependencies = [ + "derive_arbitrary", +] + +[[package]] +name = "atk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "241b621213072e993be4f6f3a9e4b45f65b7e6faad43001be957184b7bb1824b" +dependencies = [ + "atk-sys", + "glib", + "libc", +] + +[[package]] +name = "atk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5e48b684b0ca77d2bbadeef17424c2ea3c897d44d566a1617e7e8f30614d086" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "autocfg" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64ct" +version = "1.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" + +[[package]] +name = "bcrypt" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abaf6da45c74385272ddf00e1ac074c7d8a6c1a1dda376902bd6a427522a8b2c" +dependencies = [ + "base64 0.22.1", + "blowfish", + "getrandom 0.3.4", + "subtle", + "zeroize", +] + +[[package]] +name = "bit-set" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" +dependencies = [ + "serde_core", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block-padding" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +dependencies = [ + "objc2", +] + +[[package]] +name = "blowfish" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7" +dependencies = [ + "byteorder", + "cipher", +] + +[[package]] +name = "brotli" +version = "8.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bd8b9603c7aa97359dbd97ecf258968c95f3adddd6db2f7e7a5bef101c84560" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "bstr" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" +dependencies = [ + "memchr", + "regex-automata", + "serde", +] + +[[package]] +name = "bumpalo" +version = "3.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" + +[[package]] +name = "bytemuck" +version = "1.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "byteorder-lite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + +[[package]] +name = "bytes" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" +dependencies = [ + "serde", +] + +[[package]] +name = "cairo-rs" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" +dependencies = [ + "bitflags 2.11.0", + "cairo-sys-rs", + "glib", + "libc", + "once_cell", + "thiserror 1.0.69", +] + +[[package]] +name = "cairo-sys-rs" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "camino" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" +dependencies = [ + "serde_core", +] + +[[package]] +name = "cargo-platform" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" +dependencies = [ + "camino", + "cargo-platform", + "semver", + "serde", + "serde_json", + "thiserror 2.0.18", +] + +[[package]] +name = "cargo_toml" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "374b7c592d9c00c1f4972ea58390ac6b18cbb6ab79011f3bdc90a0b82ca06b77" +dependencies = [ + "serde", + "toml 0.9.12+spec-1.1.0", +] + +[[package]] +name = "cbc" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" +dependencies = [ + "cipher", +] + +[[package]] +name = "cc" +version = "1.2.56" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + +[[package]] +name = "cfb" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f" +dependencies = [ + "byteorder", + "fnv", + "uuid", +] + +[[package]] +name = "cfg-expr" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" +dependencies = [ + "smallvec", + "target-lexicon", +] + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "chrono" +version = "0.4.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" +dependencies = [ + "iana-time-zone", + "js-sys", + "num-traits", + "serde", + "wasm-bindgen", + "windows-link 0.2.1", +] + +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", +] + +[[package]] +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + +[[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 = [ + "percent-encoding", + "time", + "version_check", +] + +[[package]] +name = "cookie_store" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15b2c103cf610ec6cae3da84a766285b42fd16aad564758459e6ecf128c75206" +dependencies = [ + "cookie", + "document-features", + "idna", + "log", + "publicsuffix", + "serde", + "serde_derive", + "serde_json", + "time", + "url", +] + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "core-graphics" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "064badf302c3194842cf2c5d61f56cc88e54a759313879cdf03abdd27d0c3b97" +dependencies = [ + "bitflags 2.11.0", + "core-foundation 0.10.1", + "core-graphics-types", + "foreign-types 0.5.0", + "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.11.0", + "core-foundation 0.10.1", + "libc", +] + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "crypto-common" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "cssparser" +version = "0.29.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93d03419cb5950ccfd3daf3ff1c7a36ace64609a1a8746d493df1ca0afde0fa" +dependencies = [ + "cssparser-macros", + "dtoa-short", + "itoa", + "matches", + "phf 0.10.1", + "proc-macro2", + "quote", + "smallvec", + "syn 1.0.109", +] + +[[package]] +name = "cssparser" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dae61cf9c0abb83bd659dab65b7e4e38d8236824c85f0f804f173567bda257d2" +dependencies = [ + "cssparser-macros", + "dtoa-short", + "itoa", + "phf 0.13.1", + "smallvec", +] + +[[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.117", +] + +[[package]] +name = "ctor" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501" +dependencies = [ + "quote", + "syn 2.0.117", +] + +[[package]] +name = "darling" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.117", +] + +[[package]] +name = "darling_macro" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "data-url" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be1e0bca6c3637f992fc1cc7cbc52a78c1ef6db076dbf1059c4323d6a2048376" + +[[package]] +name = "dbus" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b3aa68d7e7abee336255bd7248ea965cc393f3e70411135a6f6a4b651345d4" +dependencies = [ + "libc", + "libdbus-sys", + "windows-sys 0.59.0", +] + +[[package]] +name = "dbus-secret-service" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "708b509edf7889e53d7efb0ffadd994cc6c2345ccb62f55cfd6b0682165e4fa6" +dependencies = [ + "dbus", + "zeroize", +] + +[[package]] +name = "deranged" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" +dependencies = [ + "powerfmt", + "serde_core", +] + +[[package]] +name = "derive_arbitrary" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "derive_more" +version = "0.99.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version", + "syn 2.0.117", +] + +[[package]] +name = "derive_more" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb" +dependencies = [ + "proc-macro2", + "quote", + "rustc_version", + "syn 2.0.117", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", + "subtle", +] + +[[package]] +name = "dirs" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" +dependencies = [ + "libc", + "option-ext", + "redox_users 0.5.2", + "windows-sys 0.61.2", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users 0.4.6", + "winapi", +] + +[[package]] +name = "dispatch2" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" +dependencies = [ + "bitflags 2.11.0", + "block2", + "libc", + "objc2", +] + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "dlopen2" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e2c5bd4158e66d1e215c49b837e11d62f3267b30c92f1d171c4d3105e3dc4d4" +dependencies = [ + "dlopen2_derive", + "libc", + "once_cell", + "winapi", +] + +[[package]] +name = "dlopen2_derive" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fbbb781877580993a8707ec48672673ec7b81eeba04cfd2310bd28c08e47c8f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "document-features" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" +dependencies = [ + "litrs", +] + +[[package]] +name = "docx-rs" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70395eb132dcc1761533e62c54878a9deb2b637863ecb52e9c5f66148616398e" +dependencies = [ + "base64 0.22.1", + "image", + "serde", + "serde_json", + "thiserror 2.0.18", + "xml-rs", + "zip 0.6.6", +] + +[[package]] +name = "dom_query" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d9c2e7f1d22d0f2ce07626d259b8a55f4a47cb0938d4006dd8ae037f17d585e" +dependencies = [ + "bit-set", + "cssparser 0.36.0", + "foldhash 0.2.0", + "html5ever 0.36.1", + "precomputed-hash", + "selectors 0.35.0", + "tendril", +] + +[[package]] +name = "dpi" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" +dependencies = [ + "serde", +] + +[[package]] +name = "dtoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c3cf4824e2d5f025c7b531afcb2325364084a16806f6d47fbc1f5fbd9960590" + +[[package]] +name = "dtoa-short" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87" +dependencies = [ + "dtoa", +] + +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + +[[package]] +name = "dyn-clone" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" + +[[package]] +name = "embed-resource" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55a075fc573c64510038d7ee9abc7990635863992f83ebc52c8b433b8411a02e" +dependencies = [ + "cc", + "memchr", + "rustc_version", + "toml 0.9.12+spec-1.1.0", + "vswhom", + "winreg", +] + +[[package]] +name = "embed_plist" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" + +[[package]] +name = "encoding_rs" +version = "0.8.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "epub-builder" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6fcc8fc7b93c7001e0d47c269aa5a30a78a1f44692dc09cc9d0f781378545e1" +dependencies = [ + "chrono", + "eyre", + "html-escape", + "log", + "once_cell", + "tempfile", + "upon", + "uuid", + "zip 0.6.6", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "erased-serde" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2add8a07dd6a8d93ff627029c51de145e12686fbc36ecb298ac22e74cf02dec" +dependencies = [ + "serde", + "serde_core", + "typeid", +] + +[[package]] +name = "eritorsscribe" +version = "0.5.0" +dependencies = [ + "aes", + "base64 0.22.1", + "bcrypt", + "cbc", + "chrono", + "dirs-next", + "docx-rs", + "epub-builder", + "hex", + "hmac", + "hostname", + "keyring", + "log", + "pbkdf2", + "printpdf", + "rand 0.9.2", + "regex", + "reqwest 0.12.28", + "rusqlite", + "serde", + "serde_json", + "sha1", + "sha2", + "tauri", + "tauri-build", + "tauri-plugin-http", + "tauri-plugin-process", + "tauri-plugin-shell", + "tauri-plugin-updater", + "thiserror 2.0.18", + "tokio", + "uuid", +] + +[[package]] +name = "errno" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "eyre" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" +dependencies = [ + "indenter", + "once_cell", +] + +[[package]] +name = "fallible-iterator" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" + +[[package]] +name = "fallible-streaming-iterator" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[package]] +name = "fax" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f05de7d48f37cd6730705cbca900770cab77a89f413d23e100ad7fad7795a0ab" +dependencies = [ + "fax_derive", +] + +[[package]] +name = "fax_derive" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0aca10fb742cb43f9e7bb8467c91aa9bcb8e3ffbc6a6f7389bb93ffc920577d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[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.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f98844151eee8917efc50bd9e8318cb963ae8b297431495d3f758616ea5c57db" +dependencies = [ + "cfg-if", + "libc", + "libredox", +] + +[[package]] +name = "find-msvc-tools" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" + +[[package]] +name = "flate2" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" +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 = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared 0.1.1", +] + +[[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 0.3.1", +] + +[[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.117", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + +[[package]] +name = "form_urlencoded" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futf" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" +dependencies = [ + "mac", + "new_debug_unreachable", +] + +[[package]] +name = "futures-channel" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" + +[[package]] +name = "futures-executor" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" + +[[package]] +name = "futures-macro" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "futures-sink" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" + +[[package]] +name = "futures-task" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" + +[[package]] +name = "futures-util" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" +dependencies = [ + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "slab", +] + +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "gdk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9f245958c627ac99d8e529166f9823fb3b838d1d41fd2b297af3075093c2691" +dependencies = [ + "cairo-rs", + "gdk-pixbuf", + "gdk-sys", + "gio", + "glib", + "libc", + "pango", +] + +[[package]] +name = "gdk-pixbuf" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec" +dependencies = [ + "gdk-pixbuf-sys", + "gio", + "glib", + "libc", + "once_cell", +] + +[[package]] +name = "gdk-pixbuf-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7" +dependencies = [ + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "gdk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c2d13f38594ac1e66619e188c6d5a1adb98d11b2fcf7894fc416ad76aa2f3f7" +dependencies = [ + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "pkg-config", + "system-deps", +] + +[[package]] +name = "gdkwayland-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "140071d506d223f7572b9f09b5e155afbd77428cd5cc7af8f2694c41d98dfe69" +dependencies = [ + "gdk-sys", + "glib-sys", + "gobject-sys", + "libc", + "pkg-config", + "system-deps", +] + +[[package]] +name = "gdkx11" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3caa00e14351bebbc8183b3c36690327eb77c49abc2268dd4bd36b856db3fbfe" +dependencies = [ + "gdk", + "gdkx11-sys", + "gio", + "glib", + "libc", + "x11", +] + +[[package]] +name = "gdkx11-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e2e7445fe01ac26f11601db260dd8608fe172514eb63b3b5e261ea6b0f4428d" +dependencies = [ + "gdk-sys", + "glib-sys", + "libc", + "system-deps", + "x11", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi 0.11.1+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi 5.3.0", + "wasip2", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +dependencies = [ + "cfg-if", + "libc", + "r-efi 6.0.0", + "wasip2", + "wasip3", +] + +[[package]] +name = "gif" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5df2ba84018d80c213569363bdcd0c64e6933c67fe4c1d60ecf822971a3c35e" +dependencies = [ + "color_quant", + "weezl", +] + +[[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.11.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.117", +] + +[[package]] +name = "glib-sys" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898" +dependencies = [ + "libc", + "system-deps", +] + +[[package]] +name = "glob" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" + +[[package]] +name = "gobject-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "gtk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd56fb197bfc42bd5d2751f4f017d44ff59fbb58140c6b49f9b3b2bdab08506a" +dependencies = [ + "atk", + "cairo-rs", + "field-offset", + "futures-channel", + "gdk", + "gdk-pixbuf", + "gio", + "glib", + "gtk-sys", + "gtk3-macros", + "libc", + "pango", + "pkg-config", +] + +[[package]] +name = "gtk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f29a1c21c59553eb7dd40e918be54dccd60c52b049b75119d5d96ce6b624414" +dependencies = [ + "atk-sys", + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "system-deps", +] + +[[package]] +name = "gtk3-macros" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ff3c5b21f14f0736fed6dcfc0bfb4225ebf5725f3c0209edeec181e4d73e9d" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "h2" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http", + "indexmap 2.13.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash", +] + +[[package]] +name = "hashbrown" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ + "foldhash 0.1.5", +] + +[[package]] +name = "hashbrown" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" + +[[package]] +name = "hashlink" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" +dependencies = [ + "hashbrown 0.14.5", +] + +[[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 = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "hostname" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "617aaa3557aef3810a6369d0a99fac8a080891b68bd9f9812a1eeda0c0730cbd" +dependencies = [ + "cfg-if", + "libc", + "windows-link 0.2.1", +] + +[[package]] +name = "html-escape" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d1ad449764d627e22bfd7cd5e8868264fc9236e07c752972b4080cd351cb476" +dependencies = [ + "utf8-width", +] + +[[package]] +name = "html5ever" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b7410cae13cbc75623c98ac4cbfd1f0bedddf3227afc24f370cf0f50a44a11c" +dependencies = [ + "log", + "mac", + "markup5ever 0.14.1", + "match_token", +] + +[[package]] +name = "html5ever" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6452c4751a24e1b99c3260d505eaeee76a050573e61f30ac2c924ddc7236f01e" +dependencies = [ + "log", + "markup5ever 0.36.1", +] + +[[package]] +name = "http" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" +dependencies = [ + "bytes", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "hyper" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" +dependencies = [ + "atomic-waker", + "bytes", + "futures-channel", + "futures-core", + "h2", + "http", + "http-body", + "httparse", + "itoa", + "pin-project-lite", + "pin-utils", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" +dependencies = [ + "http", + "hyper", + "hyper-util", + "rustls", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tower-service", + "webpki-roots", +] + +[[package]] +name = "hyper-tls" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +dependencies = [ + "bytes", + "http-body-util", + "hyper", + "hyper-util", + "native-tls", + "tokio", + "tokio-native-tls", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "ipnet", + "libc", + "percent-encoding", + "pin-project-lite", + "socket2", + "system-configuration", + "tokio", + "tower-service", + "tracing", + "windows-registry", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.65" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "log", + "wasm-bindgen", + "windows-core 0.62.2", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "ico" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e795dff5605e0f04bff85ca41b51a96b83e80b281e96231bcaaf1ac35103371" +dependencies = [ + "byteorder", + "png 0.17.16", +] + +[[package]] +name = "icu_collections" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" + +[[package]] +name = "icu_properties" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" +dependencies = [ + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" + +[[package]] +name = "icu_provider" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +dependencies = [ + "displaydoc", + "icu_locale_core", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "image" +version = "0.25.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85ab80394333c02fe689eaf900ab500fbd0c2213da414687ebf995a65d5a6104" +dependencies = [ + "bytemuck", + "byteorder-lite", + "color_quant", + "gif", + "moxcms", + "num-traits", + "png 0.18.1", + "tiff", + "zune-core", + "zune-jpeg", +] + +[[package]] +name = "indenter" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "964de6e86d545b246d84badc0fef527924ace5134f30641c203ef52ba83f58d5" + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" +dependencies = [ + "equivalent", + "hashbrown 0.16.1", + "serde", + "serde_core", +] + +[[package]] +name = "infer" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a588916bfdfd92e71cacef98a63d9b1f0d74d6599980d11894290e7ddefffcf7" +dependencies = [ + "cfb", +] + +[[package]] +name = "inout" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" +dependencies = [ + "block-padding", + "generic-array", +] + +[[package]] +name = "ipnet" +version = "2.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" + +[[package]] +name = "iri-string" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c91338f0783edbd6195decb37bae672fd3b165faffb89bf7b9e6942f8b1a731a" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "is-docker" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3" +dependencies = [ + "once_cell", +] + +[[package]] +name = "is-wsl" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5" +dependencies = [ + "is-docker", + "once_cell", +] + +[[package]] +name = "itoa" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" + +[[package]] +name = "javascriptcore-rs" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca5671e9ffce8ffba57afc24070e906da7fc4b1ba66f2cabebf61bf2ea257fcc" +dependencies = [ + "bitflags 1.3.2", + "glib", + "javascriptcore-rs-sys", +] + +[[package]] +name = "javascriptcore-rs-sys" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af1be78d14ffa4b75b66df31840478fef72b51f8c2465d4ca7c194da9f7a5124" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys", + "log", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + +[[package]] +name = "js-sys" +version = "0.3.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c" +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.11.0", + "serde", + "unicode-segmentation", +] + +[[package]] +name = "keyring" +version = "3.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eebcc3aff044e5944a8fbaf69eb277d11986064cba30c468730e8b9909fb551c" +dependencies = [ + "byteorder", + "dbus-secret-service", + "log", + "security-framework 2.11.1", + "security-framework 3.7.0", + "windows-sys 0.60.2", + "zeroize", +] + +[[package]] +name = "kuchikiki" +version = "0.8.8-speedreader" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02cb977175687f33fa4afa0c95c112b987ea1443e5a51c8f8ff27dc618270cc2" +dependencies = [ + "cssparser 0.29.6", + "html5ever 0.29.1", + "indexmap 2.13.0", + "selectors 0.24.0", +] + +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + +[[package]] +name = "libappindicator" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03589b9607c868cc7ae54c0b2a22c8dc03dd41692d48f2d7df73615c6a95dc0a" +dependencies = [ + "glib", + "gtk", + "gtk-sys", + "libappindicator-sys", + "log", +] + +[[package]] +name = "libappindicator-sys" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e9ec52138abedcc58dc17a7c6c0c00a2bdb4f3427c7f63fa97fd0d859155caf" +dependencies = [ + "gtk-sys", + "libloading", + "once_cell", +] + +[[package]] +name = "libc" +version = "0.2.183" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d" + +[[package]] +name = "libdbus-sys" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "328c4789d42200f1eeec05bd86c9c13c7f091d2ba9a6ea35acdf51f31bc0f043" +dependencies = [ + "pkg-config", +] + +[[package]] +name = "libloading" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +dependencies = [ + "cfg-if", + "winapi", +] + +[[package]] +name = "libredox" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1744e39d1d6a9948f4f388969627434e31128196de472883b39f148769bfe30a" +dependencies = [ + "bitflags 2.11.0", + "libc", + "plain", + "redox_syscall 0.7.3", +] + +[[package]] +name = "libsqlite3-sys" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "linked-hash-map" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" + +[[package]] +name = "linux-raw-sys" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" + +[[package]] +name = "litemap" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" + +[[package]] +name = "litrs" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" + +[[package]] +name = "lopdf" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07c8e1b6184b1b32ea5f72f572ebdc40e5da1d2921fa469947ff7c480ad1f85a" +dependencies = [ + "encoding_rs", + "flate2", + "itoa", + "linked-hash-map", + "log", + "md5", + "pom", + "time", + "weezl", +] + +[[package]] +name = "lru-slab" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" + +[[package]] +name = "mac" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" + +[[package]] +name = "markup5ever" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7a7213d12e1864c0f002f52c2923d4556935a43dec5e71355c2760e0f6e7a18" +dependencies = [ + "log", + "phf 0.11.3", + "phf_codegen 0.11.3", + "string_cache 0.8.9", + "string_cache_codegen 0.5.4", + "tendril", +] + +[[package]] +name = "markup5ever" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c3294c4d74d0742910f8c7b466f44dda9eb2d5742c1e430138df290a1e8451c" +dependencies = [ + "log", + "tendril", + "web_atoms", +] + +[[package]] +name = "match_token" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88a9689d8d44bf9964484516275f5cd4c9b59457a6940c1d5d0ecbb94510a36b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "matches" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" + +[[package]] +name = "md5" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" + +[[package]] +name = "memchr" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" + +[[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 = "minisign-verify" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22f9645cb765ea72b8111f36c522475d2daa0d22c957a9826437e97534bc4e9e" + +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" +dependencies = [ + "libc", + "wasi 0.11.1+wasi-snapshot-preview1", + "windows-sys 0.61.2", +] + +[[package]] +name = "moxcms" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b" +dependencies = [ + "num-traits", + "pxfm", +] + +[[package]] +name = "muda" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01c1738382f66ed56b3b9c8119e794a2e23148ac8ea214eda86622d4cb9d415a" +dependencies = [ + "crossbeam-channel", + "dpi", + "gtk", + "keyboard-types", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "once_cell", + "png 0.17.16", + "serde", + "thiserror 2.0.18", + "windows-sys 0.60.2", +] + +[[package]] +name = "native-tls" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "465500e14ea162429d264d44189adc38b199b62b1c21eea9f69e4b73cb03bbf2" +dependencies = [ + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework 3.7.0", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "ndk" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" +dependencies = [ + "bitflags 2.11.0", + "jni-sys", + "log", + "ndk-sys", + "num_enum", + "raw-window-handle", + "thiserror 1.0.69", +] + +[[package]] +name = "ndk-context" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" + +[[package]] +name = "ndk-sys" +version = "0.6.0+11769913" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" +dependencies = [ + "jni-sys", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "nodrop" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" + +[[package]] +name = "num-conv" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050" + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_enum" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" +dependencies = [ + "num_enum_derive", + "rustversion", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" +dependencies = [ + "proc-macro-crate 3.5.0", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "objc2" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" +dependencies = [ + "objc2-encode", + "objc2-exception-helper", +] + +[[package]] +name = "objc2-app-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" +dependencies = [ + "bitflags 2.11.0", + "block2", + "objc2", + "objc2-core-foundation", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" +dependencies = [ + "bitflags 2.11.0", + "dispatch2", + "objc2", +] + +[[package]] +name = "objc2-core-graphics" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" +dependencies = [ + "bitflags 2.11.0", + "dispatch2", + "objc2", + "objc2-core-foundation", + "objc2-io-surface", +] + +[[package]] +name = "objc2-encode" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "objc2-exception-helper" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7a1c5fbb72d7735b076bb47b578523aedc40f3c439bea6dfd595c089d79d98a" +dependencies = [ + "cc", +] + +[[package]] +name = "objc2-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" +dependencies = [ + "bitflags 2.11.0", + "block2", + "libc", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-io-surface" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" +dependencies = [ + "bitflags 2.11.0", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-osa-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f112d1746737b0da274ef79a23aac283376f335f4095a083a267a082f21db0c0" +dependencies = [ + "bitflags 2.11.0", + "objc2", + "objc2-app-kit", + "objc2-foundation", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" +dependencies = [ + "bitflags 2.11.0", + "objc2", + "objc2-core-foundation", + "objc2-foundation", +] + +[[package]] +name = "objc2-ui-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" +dependencies = [ + "bitflags 2.11.0", + "objc2", + "objc2-core-foundation", + "objc2-foundation", +] + +[[package]] +name = "objc2-web-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2e5aaab980c433cf470df9d7af96a7b46a9d892d521a2cbbb2f8a4c16751e7f" +dependencies = [ + "bitflags 2.11.0", + "block2", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", +] + +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "open" +version = "5.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43bb73a7fa3799b198970490a51174027ba0d4ec504b03cd08caf513d40024bc" +dependencies = [ + "dunce", + "is-wsl", + "libc", + "pathdiff", +] + +[[package]] +name = "openssl" +version = "0.10.76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "951c002c75e16ea2c65b8c7e4d3d51d5530d8dfa7d060b4776828c88cfb18ecf" +dependencies = [ + "bitflags 2.11.0", + "cfg-if", + "foreign-types 0.3.2", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "openssl-probe" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" + +[[package]] +name = "openssl-sys" +version = "0.9.112" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d55af3b3e226502be1526dfdba67ab0e9c96fc293004e79576b2b9edb0dbdb" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "os_pipe" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8fae84b431384b68627d0f9b3b1245fcf9f46f6c0e3dc902e9dce64edd1967" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "osakit" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "732c71caeaa72c065bb69d7ea08717bd3f4863a4f451402fc9513e29dbd5261b" +dependencies = [ + "objc2", + "objc2-foundation", + "objc2-osa-kit", + "serde", + "serde_json", + "thiserror 2.0.18", +] + +[[package]] +name = "owned_ttf_parser" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "706de7e2214113d63a8238d1910463cfce781129a6f263d13fdb09ff64355ba4" +dependencies = [ + "ttf-parser", +] + +[[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_lot" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.5.18", + "smallvec", + "windows-link 0.2.1", +] + +[[package]] +name = "password-hash" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" +dependencies = [ + "base64ct", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "pathdiff" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" + +[[package]] +name = "pbkdf2" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" +dependencies = [ + "digest", + "hmac", + "password-hash", + "sha2", +] + +[[package]] +name = "percent-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" + +[[package]] +name = "phf" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" +dependencies = [ + "phf_shared 0.8.0", +] + +[[package]] +name = "phf" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" +dependencies = [ + "phf_macros 0.10.0", + "phf_shared 0.10.0", + "proc-macro-hack", +] + +[[package]] +name = "phf" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" +dependencies = [ + "phf_macros 0.11.3", + "phf_shared 0.11.3", +] + +[[package]] +name = "phf" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf" +dependencies = [ + "phf_macros 0.13.1", + "phf_shared 0.13.1", + "serde", +] + +[[package]] +name = "phf_codegen" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" +dependencies = [ + "phf_generator 0.8.0", + "phf_shared 0.8.0", +] + +[[package]] +name = "phf_codegen" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" +dependencies = [ + "phf_generator 0.11.3", + "phf_shared 0.11.3", +] + +[[package]] +name = "phf_codegen" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49aa7f9d80421bca176ca8dbfebe668cc7a2684708594ec9f3c0db0805d5d6e1" +dependencies = [ + "phf_generator 0.13.1", + "phf_shared 0.13.1", +] + +[[package]] +name = "phf_generator" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" +dependencies = [ + "phf_shared 0.8.0", + "rand 0.7.3", +] + +[[package]] +name = "phf_generator" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" +dependencies = [ + "phf_shared 0.10.0", + "rand 0.8.5", +] + +[[package]] +name = "phf_generator" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" +dependencies = [ + "phf_shared 0.11.3", + "rand 0.8.5", +] + +[[package]] +name = "phf_generator" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737" +dependencies = [ + "fastrand", + "phf_shared 0.13.1", +] + +[[package]] +name = "phf_macros" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" +dependencies = [ + "phf_generator 0.10.0", + "phf_shared 0.10.0", + "proc-macro-hack", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "phf_macros" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" +dependencies = [ + "phf_generator 0.11.3", + "phf_shared 0.11.3", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "phf_macros" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef" +dependencies = [ + "phf_generator 0.13.1", + "phf_shared 0.13.1", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "phf_shared" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" +dependencies = [ + "siphasher 0.3.11", +] + +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher 0.3.11", +] + +[[package]] +name = "phf_shared" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" +dependencies = [ + "siphasher 1.0.2", +] + +[[package]] +name = "phf_shared" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" +dependencies = [ + "siphasher 1.0.2", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + +[[package]] +name = "plain" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" + +[[package]] +name = "plist" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "740ebea15c5d1428f910cd1a5f52cebf8d25006245ed8ade92702f4943d91e07" +dependencies = [ + "base64 0.22.1", + "indexmap 2.13.0", + "quick-xml", + "serde", + "time", +] + +[[package]] +name = "png" +version = "0.17.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "png" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" +dependencies = [ + "bitflags 2.11.0", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "pom" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c972d8f86e943ad532d0b04e8965a749ad1d18bb981a9c7b3ae72fe7fd7744b" +dependencies = [ + "bstr", +] + +[[package]] +name = "potential_utf" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +dependencies = [ + "zerovec", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "prettyplease" +version = "0.2.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +dependencies = [ + "proc-macro2", + "syn 2.0.117", +] + +[[package]] +name = "printpdf" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c30a4cc87c3ca9a98f4970db158a7153f8d1ec8076e005751173c57836380b1d" +dependencies = [ + "js-sys", + "lopdf", + "owned_ttf_parser", + "time", +] + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" +dependencies = [ + "toml_datetime 0.6.3", + "toml_edit 0.20.2", +] + +[[package]] +name = "proc-macro-crate" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" +dependencies = [ + "toml_edit 0.25.4+spec-1.1.0", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro-hack" +version = "0.5.20+deprecated" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" + +[[package]] +name = "proc-macro2" +version = "1.0.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "psl-types" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac" + +[[package]] +name = "publicsuffix" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42ea446cab60335f76979ec15e12619a2165b5ae2c12166bef27d283a9fadf" +dependencies = [ + "idna", + "psl-types", +] + +[[package]] +name = "pxfm" +version = "0.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5a041e753da8b807c9255f28de81879c78c876392ff2469cde94799b2896b9d" + +[[package]] +name = "quick-error" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" + +[[package]] +name = "quick-xml" +version = "0.38.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c" +dependencies = [ + "memchr", +] + +[[package]] +name = "quinn" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" +dependencies = [ + "bytes", + "cfg_aliases", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls", + "socket2", + "thiserror 2.0.18", + "tokio", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-proto" +version = "0.11.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098" +dependencies = [ + "bytes", + "getrandom 0.3.4", + "lru-slab", + "rand 0.9.2", + "ring", + "rustc-hash", + "rustls", + "rustls-pki-types", + "slab", + "thiserror 2.0.18", + "tinyvec", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-udp" +version = "0.5.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" +dependencies = [ + "cfg_aliases", + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.60.2", +] + +[[package]] +name = "quote" +version = "1.0.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + +[[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" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.5", +] + +[[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_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.5", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.17", +] + +[[package]] +name = "rand_core" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" +dependencies = [ + "getrandom 0.3.4", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "rand_pcg" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "raw-window-handle" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" + +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags 2.11.0", +] + +[[package]] +name = "redox_syscall" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce70a74e890531977d37e532c34d45e9055d2409ed08ddba14529471ed0be16" +dependencies = [ + "bitflags 2.11.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.17", + "libredox", + "thiserror 1.0.69", +] + +[[package]] +name = "redox_users" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" +dependencies = [ + "getrandom 0.2.17", + "libredox", + "thiserror 2.0.18", +] + +[[package]] +name = "ref-cast" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "regex" +version = "1.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" + +[[package]] +name = "reqwest" +version = "0.12.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" +dependencies = [ + "base64 0.22.1", + "bytes", + "cookie", + "cookie_store", + "encoding_rs", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-rustls", + "hyper-tls", + "hyper-util", + "js-sys", + "log", + "mime", + "native-tls", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tokio-native-tls", + "tokio-rustls", + "tower", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots", +] + +[[package]] +name = "reqwest" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab3f43e3283ab1488b624b44b0e988d0acea0b3214e694730a055cb6b2efa801" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-rustls", + "hyper-util", + "js-sys", + "log", + "percent-encoding", + "pin-project-lite", + "rustls", + "rustls-pki-types", + "rustls-platform-verifier", + "serde", + "serde_json", + "sync_wrapper", + "tokio", + "tokio-rustls", + "tokio-util", + "tower", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", +] + +[[package]] +name = "ring" +version = "0.17.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.17", + "libc", + "untrusted", + "windows-sys 0.52.0", +] + +[[package]] +name = "rusqlite" +version = "0.32.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7753b721174eb8ff87a9a0e799e2d7bc3749323e773db92e0984debb00019d6e" +dependencies = [ + "bitflags 2.11.0", + "fallible-iterator", + "fallible-streaming-iterator", + "hashlink", + "libsqlite3-sys", + "smallvec", +] + +[[package]] +name = "rustc-hash" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + +[[package]] +name = "rustix" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" +dependencies = [ + "bitflags 2.11.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "rustls" +version = "0.23.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4" +dependencies = [ + "once_cell", + "ring", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-native-certs" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63" +dependencies = [ + "openssl-probe", + "rustls-pki-types", + "schannel", + "security-framework 3.7.0", +] + +[[package]] +name = "rustls-pki-types" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" +dependencies = [ + "web-time", + "zeroize", +] + +[[package]] +name = "rustls-platform-verifier" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d99feebc72bae7ab76ba994bb5e121b8d83d910ca40b36e0921f53becc41784" +dependencies = [ + "core-foundation 0.10.1", + "core-foundation-sys", + "jni", + "log", + "once_cell", + "rustls", + "rustls-native-certs", + "rustls-platform-verifier-android", + "rustls-webpki", + "security-framework 3.7.0", + "security-framework-sys", + "webpki-root-certs", + "windows-sys 0.61.2", +] + +[[package]] +name = "rustls-platform-verifier-android" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" + +[[package]] +name = "rustls-webpki" +version = "0.103.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df33b2b81ac578cabaf06b89b0631153a3f416b0a886e8a7a1707fb51abbd1ef" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + +[[package]] +name = "rustversion" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" + +[[package]] +name = "ryu" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" + +[[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 = "schannel" +version = "0.1.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91c1b7e4904c873ef0710c1f407dde2e6287de2bebc1bbbf7d430bb7cbffd939" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "schemars" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" +dependencies = [ + "dyn-clone", + "indexmap 1.9.3", + "schemars_derive", + "serde", + "serde_json", + "url", + "uuid", +] + +[[package]] +name = "schemars" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars_derive" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 2.0.117", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "security-framework" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +dependencies = [ + "bitflags 2.11.0", + "core-foundation 0.9.4", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" +dependencies = [ + "bitflags 2.11.0", + "core-foundation 0.10.1", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "selectors" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c37578180969d00692904465fb7f6b3d50b9a2b952b87c23d0e2e5cb5013416" +dependencies = [ + "bitflags 1.3.2", + "cssparser 0.29.6", + "derive_more 0.99.20", + "fxhash", + "log", + "phf 0.8.0", + "phf_codegen 0.8.0", + "precomputed-hash", + "servo_arc 0.2.0", + "smallvec", +] + +[[package]] +name = "selectors" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fdfed56cd634f04fe8b9ddf947ae3dc493483e819593d2ba17df9ad05db8b2" +dependencies = [ + "bitflags 2.11.0", + "cssparser 0.36.0", + "derive_more 2.1.1", + "log", + "new_debug_unreachable", + "phf 0.13.1", + "phf_codegen 0.13.1", + "precomputed-hash", + "rustc-hash", + "servo_arc 0.4.3", + "smallvec", +] + +[[package]] +name = "semver" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" +dependencies = [ + "serde", + "serde_core", +] + +[[package]] +name = "serde" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde-untagged" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9faf48a4a2d2693be24c6289dbe26552776eb7737074e6722891fadbe6c5058" +dependencies = [ + "erased-serde", + "serde", + "serde_core", + "typeid", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[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.117", +] + +[[package]] +name = "serde_json" +version = "1.0.149" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "serde_repr" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "serde_spanned" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_spanned" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776" +dependencies = [ + "serde_core", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "3.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "381b283ce7bc6b476d903296fb59d0d36633652b633b27f64db4fb46dcbfc3b9" +dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.13.0", + "schemars 0.9.0", + "schemars 1.2.1", + "serde_core", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6d4e30573c8cb306ed6ab1dca8423eec9a463ea0e155f45399455e0368b27e0" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "serialize-to-javascript" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04f3666a07a197cdb77cdf306c32be9b7f598d7060d50cfd4d5aa04bfd92f6c5" +dependencies = [ + "serde", + "serde_json", + "serialize-to-javascript-impl", +] + +[[package]] +name = "serialize-to-javascript-impl" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "772ee033c0916d670af7860b6e1ef7d658a4629a6d0b4c8c3e67f09b3765b75d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "servo_arc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52aa42f8fdf0fed91e5ce7f23d8138441002fa31dca008acf47e6fd4721f741" +dependencies = [ + "nodrop", + "stable_deref_trait", +] + +[[package]] +name = "servo_arc" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "170fb83ab34de17dc69aa7c67482b22218ddb85da56546f9bd6b929e32a05930" +dependencies = [ + "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.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "shared_child" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e362d9935bc50f019969e2f9ecd66786612daae13e8f277be7bfb66e8bed3f7" +dependencies = [ + "libc", + "sigchld", + "windows-sys 0.60.2", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "sigchld" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47106eded3c154e70176fc83df9737335c94ce22f821c32d17ed1db1f83badb1" +dependencies = [ + "libc", + "os_pipe", + "signal-hook", +] + +[[package]] +name = "signal-hook" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" +dependencies = [ + "libc", + "signal-hook-registry", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" +dependencies = [ + "errno", + "libc", +] + +[[package]] +name = "simd-adler32" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" + +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + +[[package]] +name = "siphasher" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" + +[[package]] +name = "slab" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" + +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" + +[[package]] +name = "socket2" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "softbuffer" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aac18da81ebbf05109ab275b157c22a653bb3c12cf884450179942f81bcbf6c3" +dependencies = [ + "bytemuck", + "js-sys", + "ndk", + "objc2", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-foundation", + "objc2-quartz-core", + "raw-window-handle", + "redox_syscall 0.5.18", + "tracing", + "wasm-bindgen", + "web-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "soup3" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "471f924a40f31251afc77450e781cb26d55c0b650842efafc9c6cbd2f7cc4f9f" +dependencies = [ + "futures-channel", + "gio", + "glib", + "libc", + "soup3-sys", +] + +[[package]] +name = "soup3-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ebe8950a680a12f24f15ebe1bf70db7af98ad242d9db43596ad3108aab86c27" +dependencies = [ + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + +[[package]] +name = "string_cache" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f" +dependencies = [ + "new_debug_unreachable", + "parking_lot", + "phf_shared 0.11.3", + "precomputed-hash", + "serde", +] + +[[package]] +name = "string_cache" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a18596f8c785a729f2819c0f6a7eae6ebeebdfffbfe4214ae6b087f690e31901" +dependencies = [ + "new_debug_unreachable", + "parking_lot", + "phf_shared 0.13.1", + "precomputed-hash", +] + +[[package]] +name = "string_cache_codegen" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0" +dependencies = [ + "phf_generator 0.11.3", + "phf_shared 0.11.3", + "proc-macro2", + "quote", +] + +[[package]] +name = "string_cache_codegen" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "585635e46db231059f76c5849798146164652513eb9e8ab2685939dd90f29b69" +dependencies = [ + "phf_generator 0.13.1", + "phf_shared 0.13.1", + "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.117" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] + +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "system-configuration" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b" +dependencies = [ + "bitflags 2.11.0", + "core-foundation 0.9.4", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "system-deps" +version = "6.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" +dependencies = [ + "cfg-expr", + "heck 0.5.0", + "pkg-config", + "toml 0.8.2", + "version-compare", +] + +[[package]] +name = "tao" +version = "0.34.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e06d52c379e63da659a483a958110bbde891695a0ecb53e48cc7786d5eda7bb" +dependencies = [ + "bitflags 2.11.0", + "block2", + "core-foundation 0.10.1", + "core-graphics", + "crossbeam-channel", + "dispatch2", + "dlopen2", + "dpi", + "gdkwayland-sys", + "gdkx11-sys", + "gtk", + "jni", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "once_cell", + "parking_lot", + "raw-window-handle", + "tao-macros", + "unicode-segmentation", + "url", + "windows", + "windows-core 0.61.2", + "windows-version", + "x11-dl", +] + +[[package]] +name = "tao-macros" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4e16beb8b2ac17db28eab8bca40e62dbfbb34c0fcdc6d9826b11b7b5d047dfd" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "tar" +version = "0.4.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22692a6476a21fa75fdfc11d452fda482af402c008cdbaf3476414e122040973" +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.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da77cc00fb9028caf5b5d4650f75e31f1ef3693459dfca7f7e506d1ecef0ba2d" +dependencies = [ + "anyhow", + "bytes", + "cookie", + "dirs", + "dunce", + "embed_plist", + "getrandom 0.3.4", + "glob", + "gtk", + "heck 0.5.0", + "http", + "jni", + "libc", + "log", + "mime", + "muda", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", + "objc2-web-kit", + "percent-encoding", + "plist", + "raw-window-handle", + "reqwest 0.13.2", + "serde", + "serde_json", + "serde_repr", + "serialize-to-javascript", + "swift-rs", + "tauri-build", + "tauri-macros", + "tauri-runtime", + "tauri-runtime-wry", + "tauri-utils", + "thiserror 2.0.18", + "tokio", + "tray-icon", + "url", + "webkit2gtk", + "webview2-com", + "window-vibrancy", + "windows", +] + +[[package]] +name = "tauri-build" +version = "2.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bbc990d1dbf57a8e1c7fa2327f2a614d8b757805603c1b9ba5c81bade09fd4d" +dependencies = [ + "anyhow", + "cargo_toml", + "dirs", + "glob", + "heck 0.5.0", + "json-patch", + "schemars 0.8.22", + "semver", + "serde", + "serde_json", + "tauri-utils", + "tauri-winres", + "toml 0.9.12+spec-1.1.0", + "walkdir", +] + +[[package]] +name = "tauri-codegen" +version = "2.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4a24476afd977c5d5d169f72425868613d82747916dd29e0a357c84c4bd6d29" +dependencies = [ + "base64 0.22.1", + "brotli", + "ico", + "json-patch", + "plist", + "png 0.17.16", + "proc-macro2", + "quote", + "semver", + "serde", + "serde_json", + "sha2", + "syn 2.0.117", + "tauri-utils", + "thiserror 2.0.18", + "time", + "url", + "uuid", + "walkdir", +] + +[[package]] +name = "tauri-macros" +version = "2.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d39b349a98dadaffebb73f0a40dcd1f23c999211e5a2e744403db384d0c33de7" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.117", + "tauri-codegen", + "tauri-utils", +] + +[[package]] +name = "tauri-plugin" +version = "2.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddde7d51c907b940fb573006cdda9a642d6a7c8153657e88f8a5c3c9290cd4aa" +dependencies = [ + "anyhow", + "glob", + "plist", + "schemars 0.8.22", + "serde", + "serde_json", + "tauri-utils", + "toml 0.9.12+spec-1.1.0", + "walkdir", +] + +[[package]] +name = "tauri-plugin-fs" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36e1ec28b79f3d0683f4507e1615c36292c0ea6716668770d4396b9b39871ed8" +dependencies = [ + "anyhow", + "dunce", + "glob", + "log", + "objc2-foundation", + "percent-encoding", + "schemars 0.8.22", + "serde", + "serde_json", + "serde_repr", + "tauri", + "tauri-plugin", + "tauri-utils", + "thiserror 2.0.18", + "toml 0.9.12+spec-1.1.0", + "url", +] + +[[package]] +name = "tauri-plugin-http" +version = "2.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfba7d4ec72763f9d1fdf73c217747f01e2c84b08b87a8cacd2f94f35853f84d" +dependencies = [ + "bytes", + "cookie_store", + "data-url", + "http", + "regex", + "reqwest 0.12.28", + "schemars 0.8.22", + "serde", + "serde_json", + "tauri", + "tauri-plugin", + "tauri-plugin-fs", + "thiserror 2.0.18", + "tokio", + "url", + "urlpattern", +] + +[[package]] +name = "tauri-plugin-process" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d55511a7bf6cd70c8767b02c97bf8134fa434daf3926cfc1be0a0f94132d165a" +dependencies = [ + "tauri", + "tauri-plugin", +] + +[[package]] +name = "tauri-plugin-shell" +version = "2.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8457dbf9e2bab1edd8df22bb2c20857a59a9868e79cb3eac5ed639eec4d0c73b" +dependencies = [ + "encoding_rs", + "log", + "open", + "os_pipe", + "regex", + "schemars 0.8.22", + "serde", + "serde_json", + "shared_child", + "tauri", + "tauri-plugin", + "thiserror 2.0.18", + "tokio", +] + +[[package]] +name = "tauri-plugin-updater" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "806d9dac662c2e4594ff03c647a552f2c9bd544e7d0f683ec58f872f952ce4af" +dependencies = [ + "base64 0.22.1", + "dirs", + "flate2", + "futures-util", + "http", + "infer", + "log", + "minisign-verify", + "osakit", + "percent-encoding", + "reqwest 0.13.2", + "rustls", + "semver", + "serde", + "serde_json", + "tar", + "tauri", + "tauri-plugin", + "tempfile", + "thiserror 2.0.18", + "time", + "tokio", + "url", + "windows-sys 0.60.2", + "zip 4.6.1", +] + +[[package]] +name = "tauri-runtime" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2826d79a3297ed08cd6ea7f412644ef58e32969504bc4fbd8d7dbeabc4445ea2" +dependencies = [ + "cookie", + "dpi", + "gtk", + "http", + "jni", + "objc2", + "objc2-ui-kit", + "objc2-web-kit", + "raw-window-handle", + "serde", + "serde_json", + "tauri-utils", + "thiserror 2.0.18", + "url", + "webkit2gtk", + "webview2-com", + "windows", +] + +[[package]] +name = "tauri-runtime-wry" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e11ea2e6f801d275fdd890d6c9603736012742a1c33b96d0db788c9cdebf7f9e" +dependencies = [ + "gtk", + "http", + "jni", + "log", + "objc2", + "objc2-app-kit", + "once_cell", + "percent-encoding", + "raw-window-handle", + "softbuffer", + "tao", + "tauri-runtime", + "tauri-utils", + "url", + "webkit2gtk", + "webview2-com", + "windows", + "wry", +] + +[[package]] +name = "tauri-utils" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "219a1f983a2af3653f75b5747f76733b0da7ff03069c7a41901a5eb3ace4557d" +dependencies = [ + "anyhow", + "brotli", + "cargo_metadata", + "ctor", + "dunce", + "glob", + "html5ever 0.29.1", + "http", + "infer", + "json-patch", + "kuchikiki", + "log", + "memchr", + "phf 0.11.3", + "proc-macro2", + "quote", + "regex", + "schemars 0.8.22", + "semver", + "serde", + "serde-untagged", + "serde_json", + "serde_with", + "swift-rs", + "thiserror 2.0.18", + "toml 0.9.12+spec-1.1.0", + "url", + "urlpattern", + "uuid", + "walkdir", +] + +[[package]] +name = "tauri-winres" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1087b111fe2b005e42dbdc1990fc18593234238d47453b0c99b7de1c9ab2c1e0" +dependencies = [ + "dunce", + "embed-resource", + "toml 0.9.12+spec-1.1.0", +] + +[[package]] +name = "tempfile" +version = "3.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" +dependencies = [ + "fastrand", + "getrandom 0.4.2", + "once_cell", + "rustix", + "windows-sys 0.61.2", +] + +[[package]] +name = "tendril" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" +dependencies = [ + "futf", + "mac", + "utf-8", +] + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" +dependencies = [ + "thiserror-impl 2.0.18", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "tiff" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b63feaf3343d35b6ca4d50483f94843803b0f51634937cc2ec519fc32232bc52" +dependencies = [ + "fax", + "flate2", + "half", + "quick-error", + "weezl", + "zune-jpeg", +] + +[[package]] +name = "time" +version = "0.3.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde_core", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" + +[[package]] +name = "time-macros" +version = "0.2.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tinystr" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e61e67053d25a4e82c844e8424039d9745781b3fc4f32b8d55ed50f5f667ef3" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d" +dependencies = [ + "bytes", + "libc", + "mio", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.61.2", +] + +[[package]] +name = "tokio-macros" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c55a2eff8b69ce66c84f85e1da1c233edc36ceb85a2058d11b0d6a3c7e7569c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" +dependencies = [ + "rustls", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" +dependencies = [ + "serde", + "serde_spanned 0.6.9", + "toml_datetime 0.6.3", + "toml_edit 0.20.2", +] + +[[package]] +name = "toml" +version = "0.9.12+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863" +dependencies = [ + "indexmap 2.13.0", + "serde_core", + "serde_spanned 1.0.4", + "toml_datetime 0.7.5+spec-1.1.0", + "toml_parser", + "toml_writer", + "winnow 0.7.15", +] + +[[package]] +name = "toml_datetime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_datetime" +version = "0.7.5+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" +dependencies = [ + "serde_core", +] + +[[package]] +name = "toml_datetime" +version = "1.0.0+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32c2555c699578a4f59f0cc68e5116c8d7cabbd45e1409b989d4be085b53f13e" +dependencies = [ + "serde_core", +] + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.13.0", + "toml_datetime 0.6.3", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +dependencies = [ + "indexmap 2.13.0", + "serde", + "serde_spanned 0.6.9", + "toml_datetime 0.6.3", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.25.4+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7193cbd0ce53dc966037f54351dbbcf0d5a642c7f0038c382ef9e677ce8c13f2" +dependencies = [ + "indexmap 2.13.0", + "toml_datetime 1.0.0+spec-1.1.0", + "toml_parser", + "winnow 0.7.15", +] + +[[package]] +name = "toml_parser" +version = "1.0.9+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "702d4415e08923e7e1ef96cd5727c0dfed80b4d2fa25db9647fe5eb6f7c5a4c4" +dependencies = [ + "winnow 0.7.15", +] + +[[package]] +name = "toml_writer" +version = "1.0.6+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607" + +[[package]] +name = "tower" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-http" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" +dependencies = [ + "bitflags 2.11.0", + "bytes", + "futures-util", + "http", + "http-body", + "iri-string", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + +[[package]] +name = "tracing" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" +dependencies = [ + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "tray-icon" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e85aa143ceb072062fc4d6356c1b520a51d636e7bc8e77ec94be3608e5e80c" +dependencies = [ + "crossbeam-channel", + "dirs", + "libappindicator", + "muda", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-foundation", + "once_cell", + "png 0.17.16", + "serde", + "thiserror 2.0.18", + "windows-sys 0.60.2", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "ttf-parser" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49d64318d8311fc2668e48b63969f4343e0a85c4a109aa8460d6672e364b8bd1" + +[[package]] +name = "typeid" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" + +[[package]] +name = "typenum" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" + +[[package]] +name = "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.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" + +[[package]] +name = "unicode-segmentation" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + +[[package]] +name = "unicode-width" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" + +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "upon" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21a9260fe394dfd8ab204a8eab40f88eb9a331bb852147d24fc0aff6b30daa02" +dependencies = [ + "serde", + "unicode-ident", + "unicode-width", +] + +[[package]] +name = "url" +version = "2.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", + "serde_derive", +] + +[[package]] +name = "urlpattern" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70acd30e3aa1450bc2eece896ce2ad0d178e9c079493819301573dae3c37ba6d" +dependencies = [ + "regex", + "serde", + "unic-ucd-ident", + "url", +] + +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "utf8-width" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1292c0d970b54115d14f2492fe0170adf21d68a1de108eebc51c1df4f346a091" + +[[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.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a68d3c8f01c0cfa54a75291d83601161799e4a89a39e0929f4b0354d88757a37" +dependencies = [ + "getrandom 0.4.2", + "js-sys", + "serde_core", + "wasm-bindgen", +] + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version-compare" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "vswhom" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b" +dependencies = [ + "libc", + "vswhom-sys", +] + +[[package]] +name = "vswhom-sys" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb067e4cbd1ff067d1df46c9194b5de0e98efd2810bbc95c5d5e5f25a3231150" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasip2" +version = "1.0.2+wasi-0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9c5522b3a28661442748e09d40924dfb9ca614b21c00d3fd135720e48b67db8" +dependencies = [ + "cfg-if", + "futures-util", + "js-sys", + "once_cell", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3" +dependencies = [ + "bumpalo", + "proc-macro2", + "quote", + "syn 2.0.117", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", +] + +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap 2.13.0", + "wasm-encoder", + "wasmparser", +] + +[[package]] +name = "wasm-streams" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d1ec4f6517c9e11ae630e200b2b65d193279042e28edd4a2cda233e46670bbb" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags 2.11.0", + "hashbrown 0.15.5", + "indexmap 2.13.0", + "semver", +] + +[[package]] +name = "web-sys" +version = "0.3.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "854ba17bb104abfb26ba36da9729addc7ce7f06f5c0f90f3c391f8461cca21f9" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web_atoms" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57a9779e9f04d2ac1ce317aee707aa2f6b773afba7b931222bff6983843b1576" +dependencies = [ + "phf 0.13.1", + "phf_codegen 0.13.1", + "string_cache 0.9.0", + "string_cache_codegen 0.6.1", +] + +[[package]] +name = "webkit2gtk" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1027150013530fb2eaf806408df88461ae4815a45c541c8975e61d6f2fc4793" +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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "916a5f65c2ef0dfe12fff695960a2ec3d4565359fdbb2e9943c974e06c734ea5" +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-root-certs" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "804f18a4ac2676ffb4e8b5b5fa9ae38af06df08162314f96a68d2a363e21a8ca" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "webpki-roots" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22cfaf3c063993ff62e73cb4311efde4db1efb31ab78a3e5c457939ad5cc0bed" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "webview2-com" +version = "0.38.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7130243a7a5b33c54a444e54842e6a9e133de08b5ad7b5861cd8ed9a6a5bc96a" +dependencies = [ + "webview2-com-macros", + "webview2-com-sys", + "windows", + "windows-core 0.61.2", + "windows-implement", + "windows-interface", +] + +[[package]] +name = "webview2-com-macros" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a921c1b6914c367b2b823cd4cde6f96beec77d30a939c8199bb377cf9b9b54" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "webview2-com-sys" +version = "0.38.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "381336cfffd772377d291702245447a5251a2ffa5bad679c99e61bc48bacbf9c" +dependencies = [ + "thiserror 2.0.18", + "windows", + "windows-core 0.61.2", +] + +[[package]] +name = "weezl" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "window-vibrancy" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9bec5a31f3f9362f2258fd0e9c9dd61a9ca432e7306cc78c444258f0dce9a9c" +dependencies = [ + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "raw-window-handle", + "windows-sys 0.59.0", + "windows-version", +] + +[[package]] +name = "windows" +version = "0.61.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" +dependencies = [ + "windows-collections", + "windows-core 0.61.2", + "windows-future", + "windows-link 0.1.3", + "windows-numerics", +] + +[[package]] +name = "windows-collections" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" +dependencies = [ + "windows-core 0.61.2", +] + +[[package]] +name = "windows-core" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link 0.1.3", + "windows-result 0.3.4", + "windows-strings 0.4.2", +] + +[[package]] +name = "windows-core" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link 0.2.1", + "windows-result 0.4.1", + "windows-strings 0.5.1", +] + +[[package]] +name = "windows-future" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", + "windows-threading", +] + +[[package]] +name = "windows-implement" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "windows-interface" +version = "0.59.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "windows-link" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-numerics" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", +] + +[[package]] +name = "windows-registry" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" +dependencies = [ + "windows-link 0.2.1", + "windows-result 0.4.1", + "windows-strings 0.5.1", +] + +[[package]] +name = "windows-result" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-strings" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-strings" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.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-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.5", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm 0.52.6", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.53.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +dependencies = [ + "windows-link 0.2.1", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", +] + +[[package]] +name = "windows-threading" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-version" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4060a1da109b9d0326b7262c8e12c84df67cc0dbc9e33cf49e01ccc2eb63631" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_i686_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.55.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb5a765337c50e9ec252c2069be9bf91c7df47afb103b642ba3a53bf8101be97" +dependencies = [ + "cfg-if", + "windows-sys 0.59.0", +] + +[[package]] +name = "wit-bindgen" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro", +] + +[[package]] +name = "wit-bindgen-core" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck 0.5.0", + "wit-parser", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck 0.5.0", + "indexmap 2.13.0", + "prettyplease", + "syn 2.0.117", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn 2.0.117", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags 2.11.0", + "indexmap 2.13.0", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap 2.13.0", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser", +] + +[[package]] +name = "writeable" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" + +[[package]] +name = "wry" +version = "0.54.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a24eda84b5d488f99344e54b807138896cee8df0b2d16c793f1f6b80e6d8df1f" +dependencies = [ + "base64 0.22.1", + "block2", + "cookie", + "crossbeam-channel", + "dirs", + "dom_query", + "dpi", + "dunce", + "gdkx11", + "gtk", + "http", + "javascriptcore-rs", + "jni", + "libc", + "ndk", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "objc2-ui-kit", + "objc2-web-kit", + "once_cell", + "percent-encoding", + "raw-window-handle", + "sha2", + "soup3", + "tao-macros", + "thiserror 2.0.18", + "url", + "webkit2gtk", + "webkit2gtk-sys", + "webview2-com", + "windows", + "windows-core 0.61.2", + "windows-version", + "x11-dl", +] + +[[package]] +name = "x11" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" +dependencies = [ + "libc", + "pkg-config", +] + +[[package]] +name = "x11-dl" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" +dependencies = [ + "libc", + "once_cell", + "pkg-config", +] + +[[package]] +name = "xattr" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" +dependencies = [ + "libc", + "rustix", +] + +[[package]] +name = "xml-rs" +version = "0.8.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f" + +[[package]] +name = "yoke" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" +dependencies = [ + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", + "synstructure", +] + +[[package]] +name = "zerocopy" +version = "0.8.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2578b716f8a7a858b7f02d5bd870c14bf4ddbbcf3a4c05414ba6503640505e3" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e6cc098ea4d3bd6246687de65af3f920c430e236bee1e3bf2e441463f08a02f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", + "synstructure", +] + +[[package]] +name = "zeroize" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "zerotrie" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "zip" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" +dependencies = [ + "byteorder", + "crc32fast", + "crossbeam-utils", + "flate2", + "time", +] + +[[package]] +name = "zip" +version = "4.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "caa8cd6af31c3b31c6631b8f483848b91589021b28fffe50adada48d4f4d2ed1" +dependencies = [ + "arbitrary", + "crc32fast", + "indexmap 2.13.0", + "memchr", +] + +[[package]] +name = "zmij" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" + +[[package]] +name = "zune-core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9" + +[[package]] +name = "zune-jpeg" +version = "0.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec5f41c76397b7da451efd19915684f727d7e1d516384ca6bd0ec43ec94de23c" +dependencies = [ + "zune-core", +] diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml new file mode 100644 index 0000000..39e8edb --- /dev/null +++ b/src-tauri/Cargo.toml @@ -0,0 +1,47 @@ +[package] +name = "eritorsscribe" +version = "0.5.0" +description = "ERitors Scribe - Desktop app for writers" +edition = "2021" + +[lib] +name = "eritorsscribe_lib" +crate-type = ["lib", "cdylib", "staticlib"] + +[build-dependencies] +tauri-build = { version = "2", features = [] } + +[dependencies] +tauri = { version = "2", features = ["devtools"] } +tauri-plugin-shell = "2" +serde = { version = "1", features = ["derive"] } +serde_json = "1" +tokio = { version = "1", features = ["full"] } +rusqlite = { version = "0.32", features = ["bundled"] } +aes = "0.8" +cbc = "0.1" +pbkdf2 = { version = "0.12", features = ["simple"] } +sha2 = "0.10" +hmac = "0.12" +hex = "0.4" +rand = "0.9" +bcrypt = "0.17" +hostname = "0.4" +thiserror = "2" +chrono = { version = "0.4", features = ["serde"] } +base64 = "0.22" +log = "0.4" +dirs-next = "2" +regex = "1" +uuid = { version = "1", features = ["v4"] } +reqwest = { version = "0.12", features = ["blocking", "json"] } +docx-rs = "0.4" +epub-builder = "0.7" +printpdf = "0.7" +keyring = { version = "3", features = ["apple-native", "windows-native", "sync-secret-service"] } +sha1 = "0.10" +tauri-plugin-http = "2.5.8" + +[target.'cfg(any(target_os = "macos", windows, target_os = "linux"))'.dependencies] +tauri-plugin-process = "2.3.1" +tauri-plugin-updater = "2.10.1" diff --git a/src-tauri/Info.plist b/src-tauri/Info.plist new file mode 100644 index 0000000..60cb6de --- /dev/null +++ b/src-tauri/Info.plist @@ -0,0 +1,10 @@ + + + + + CFBundleName + ERitors Scribe + CFBundleDisplayName + ERitors Scribe + + \ No newline at end of file diff --git a/src-tauri/build.rs b/src-tauri/build.rs new file mode 100644 index 0000000..2ba80a8 --- /dev/null +++ b/src-tauri/build.rs @@ -0,0 +1,3 @@ +fn main() { + tauri_build::build() +} diff --git a/src-tauri/capabilities/default.json b/src-tauri/capabilities/default.json new file mode 100644 index 0000000..a0131f4 --- /dev/null +++ b/src-tauri/capabilities/default.json @@ -0,0 +1,27 @@ +{ + "$schema": "../gen/schemas/desktop-schema.json", + "identifier": "default", + "description": "Default capabilities for the main and login windows", + "windows": ["main", "login"], + "permissions": [ + "core:default", + "core:window:allow-create", + "core:window:allow-close", + "core:window:allow-show", + "core:window:allow-hide", + "core:window:allow-set-focus", + "core:window:allow-center", + "core:webview:allow-create-webview-window", + "shell:allow-open", + "updater:default", + "process:allow-restart", + { + "identifier": "http:default", + "allow": [ + { "url": "https://api.eritors.com/**" }, + { "url": "https://scribe.eritors.com/**" }, + { "url": "https://eritors.com/**" } + ] + } + ] +} diff --git a/src-tauri/entitlements.mac.plist b/src-tauri/entitlements.mac.plist new file mode 100644 index 0000000..513027f --- /dev/null +++ b/src-tauri/entitlements.mac.plist @@ -0,0 +1,8 @@ + + + + + com.apple.security.app-sandbox + + + diff --git a/src-tauri/gen/schemas/acl-manifests.json b/src-tauri/gen/schemas/acl-manifests.json new file mode 100644 index 0000000..410dfe2 --- /dev/null +++ b/src-tauri/gen/schemas/acl-manifests.json @@ -0,0 +1 @@ +{"core":{"default_permission":{"identifier":"default","description":"Default core plugins set.","permissions":["core:path:default","core:event:default","core:window:default","core:webview:default","core:app:default","core:image:default","core:resources:default","core:menu:default","core:tray:default"]},"permissions":{},"permission_sets":{},"global_scope_schema":null},"core:app":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-version","allow-name","allow-tauri-version","allow-identifier","allow-bundle-type","allow-register-listener","allow-remove-listener"]},"permissions":{"allow-app-hide":{"identifier":"allow-app-hide","description":"Enables the app_hide command without any pre-configured scope.","commands":{"allow":["app_hide"],"deny":[]}},"allow-app-show":{"identifier":"allow-app-show","description":"Enables the app_show command without any pre-configured scope.","commands":{"allow":["app_show"],"deny":[]}},"allow-bundle-type":{"identifier":"allow-bundle-type","description":"Enables the bundle_type command without any pre-configured scope.","commands":{"allow":["bundle_type"],"deny":[]}},"allow-default-window-icon":{"identifier":"allow-default-window-icon","description":"Enables the default_window_icon command without any pre-configured scope.","commands":{"allow":["default_window_icon"],"deny":[]}},"allow-fetch-data-store-identifiers":{"identifier":"allow-fetch-data-store-identifiers","description":"Enables the fetch_data_store_identifiers command without any pre-configured scope.","commands":{"allow":["fetch_data_store_identifiers"],"deny":[]}},"allow-identifier":{"identifier":"allow-identifier","description":"Enables the identifier command without any pre-configured scope.","commands":{"allow":["identifier"],"deny":[]}},"allow-name":{"identifier":"allow-name","description":"Enables the name command without any pre-configured scope.","commands":{"allow":["name"],"deny":[]}},"allow-register-listener":{"identifier":"allow-register-listener","description":"Enables the register_listener command without any pre-configured scope.","commands":{"allow":["register_listener"],"deny":[]}},"allow-remove-data-store":{"identifier":"allow-remove-data-store","description":"Enables the remove_data_store command without any pre-configured scope.","commands":{"allow":["remove_data_store"],"deny":[]}},"allow-remove-listener":{"identifier":"allow-remove-listener","description":"Enables the remove_listener command without any pre-configured scope.","commands":{"allow":["remove_listener"],"deny":[]}},"allow-set-app-theme":{"identifier":"allow-set-app-theme","description":"Enables the set_app_theme command without any pre-configured scope.","commands":{"allow":["set_app_theme"],"deny":[]}},"allow-set-dock-visibility":{"identifier":"allow-set-dock-visibility","description":"Enables the set_dock_visibility command without any pre-configured scope.","commands":{"allow":["set_dock_visibility"],"deny":[]}},"allow-tauri-version":{"identifier":"allow-tauri-version","description":"Enables the tauri_version command without any pre-configured scope.","commands":{"allow":["tauri_version"],"deny":[]}},"allow-version":{"identifier":"allow-version","description":"Enables the version command without any pre-configured scope.","commands":{"allow":["version"],"deny":[]}},"deny-app-hide":{"identifier":"deny-app-hide","description":"Denies the app_hide command without any pre-configured scope.","commands":{"allow":[],"deny":["app_hide"]}},"deny-app-show":{"identifier":"deny-app-show","description":"Denies the app_show command without any pre-configured scope.","commands":{"allow":[],"deny":["app_show"]}},"deny-bundle-type":{"identifier":"deny-bundle-type","description":"Denies the bundle_type command without any pre-configured scope.","commands":{"allow":[],"deny":["bundle_type"]}},"deny-default-window-icon":{"identifier":"deny-default-window-icon","description":"Denies the default_window_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["default_window_icon"]}},"deny-fetch-data-store-identifiers":{"identifier":"deny-fetch-data-store-identifiers","description":"Denies the fetch_data_store_identifiers command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_data_store_identifiers"]}},"deny-identifier":{"identifier":"deny-identifier","description":"Denies the identifier command without any pre-configured scope.","commands":{"allow":[],"deny":["identifier"]}},"deny-name":{"identifier":"deny-name","description":"Denies the name command without any pre-configured scope.","commands":{"allow":[],"deny":["name"]}},"deny-register-listener":{"identifier":"deny-register-listener","description":"Denies the register_listener command without any pre-configured scope.","commands":{"allow":[],"deny":["register_listener"]}},"deny-remove-data-store":{"identifier":"deny-remove-data-store","description":"Denies the remove_data_store command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_data_store"]}},"deny-remove-listener":{"identifier":"deny-remove-listener","description":"Denies the remove_listener command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_listener"]}},"deny-set-app-theme":{"identifier":"deny-set-app-theme","description":"Denies the set_app_theme command without any pre-configured scope.","commands":{"allow":[],"deny":["set_app_theme"]}},"deny-set-dock-visibility":{"identifier":"deny-set-dock-visibility","description":"Denies the set_dock_visibility command without any pre-configured scope.","commands":{"allow":[],"deny":["set_dock_visibility"]}},"deny-tauri-version":{"identifier":"deny-tauri-version","description":"Denies the tauri_version command without any pre-configured scope.","commands":{"allow":[],"deny":["tauri_version"]}},"deny-version":{"identifier":"deny-version","description":"Denies the version command without any pre-configured scope.","commands":{"allow":[],"deny":["version"]}}},"permission_sets":{},"global_scope_schema":null},"core:event":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-listen","allow-unlisten","allow-emit","allow-emit-to"]},"permissions":{"allow-emit":{"identifier":"allow-emit","description":"Enables the emit command without any pre-configured scope.","commands":{"allow":["emit"],"deny":[]}},"allow-emit-to":{"identifier":"allow-emit-to","description":"Enables the emit_to command without any pre-configured scope.","commands":{"allow":["emit_to"],"deny":[]}},"allow-listen":{"identifier":"allow-listen","description":"Enables the listen command without any pre-configured scope.","commands":{"allow":["listen"],"deny":[]}},"allow-unlisten":{"identifier":"allow-unlisten","description":"Enables the unlisten command without any pre-configured scope.","commands":{"allow":["unlisten"],"deny":[]}},"deny-emit":{"identifier":"deny-emit","description":"Denies the emit command without any pre-configured scope.","commands":{"allow":[],"deny":["emit"]}},"deny-emit-to":{"identifier":"deny-emit-to","description":"Denies the emit_to command without any pre-configured scope.","commands":{"allow":[],"deny":["emit_to"]}},"deny-listen":{"identifier":"deny-listen","description":"Denies the listen command without any pre-configured scope.","commands":{"allow":[],"deny":["listen"]}},"deny-unlisten":{"identifier":"deny-unlisten","description":"Denies the unlisten command without any pre-configured scope.","commands":{"allow":[],"deny":["unlisten"]}}},"permission_sets":{},"global_scope_schema":null},"core:image":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-new","allow-from-bytes","allow-from-path","allow-rgba","allow-size"]},"permissions":{"allow-from-bytes":{"identifier":"allow-from-bytes","description":"Enables the from_bytes command without any pre-configured scope.","commands":{"allow":["from_bytes"],"deny":[]}},"allow-from-path":{"identifier":"allow-from-path","description":"Enables the from_path command without any pre-configured scope.","commands":{"allow":["from_path"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-rgba":{"identifier":"allow-rgba","description":"Enables the rgba command without any pre-configured scope.","commands":{"allow":["rgba"],"deny":[]}},"allow-size":{"identifier":"allow-size","description":"Enables the size command without any pre-configured scope.","commands":{"allow":["size"],"deny":[]}},"deny-from-bytes":{"identifier":"deny-from-bytes","description":"Denies the from_bytes command without any pre-configured scope.","commands":{"allow":[],"deny":["from_bytes"]}},"deny-from-path":{"identifier":"deny-from-path","description":"Denies the from_path command without any pre-configured scope.","commands":{"allow":[],"deny":["from_path"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-rgba":{"identifier":"deny-rgba","description":"Denies the rgba command without any pre-configured scope.","commands":{"allow":[],"deny":["rgba"]}},"deny-size":{"identifier":"deny-size","description":"Denies the size command without any pre-configured scope.","commands":{"allow":[],"deny":["size"]}}},"permission_sets":{},"global_scope_schema":null},"core:menu":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-new","allow-append","allow-prepend","allow-insert","allow-remove","allow-remove-at","allow-items","allow-get","allow-popup","allow-create-default","allow-set-as-app-menu","allow-set-as-window-menu","allow-text","allow-set-text","allow-is-enabled","allow-set-enabled","allow-set-accelerator","allow-set-as-windows-menu-for-nsapp","allow-set-as-help-menu-for-nsapp","allow-is-checked","allow-set-checked","allow-set-icon"]},"permissions":{"allow-append":{"identifier":"allow-append","description":"Enables the append command without any pre-configured scope.","commands":{"allow":["append"],"deny":[]}},"allow-create-default":{"identifier":"allow-create-default","description":"Enables the create_default command without any pre-configured scope.","commands":{"allow":["create_default"],"deny":[]}},"allow-get":{"identifier":"allow-get","description":"Enables the get command without any pre-configured scope.","commands":{"allow":["get"],"deny":[]}},"allow-insert":{"identifier":"allow-insert","description":"Enables the insert command without any pre-configured scope.","commands":{"allow":["insert"],"deny":[]}},"allow-is-checked":{"identifier":"allow-is-checked","description":"Enables the is_checked command without any pre-configured scope.","commands":{"allow":["is_checked"],"deny":[]}},"allow-is-enabled":{"identifier":"allow-is-enabled","description":"Enables the is_enabled command without any pre-configured scope.","commands":{"allow":["is_enabled"],"deny":[]}},"allow-items":{"identifier":"allow-items","description":"Enables the items command without any pre-configured scope.","commands":{"allow":["items"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-popup":{"identifier":"allow-popup","description":"Enables the popup command without any pre-configured scope.","commands":{"allow":["popup"],"deny":[]}},"allow-prepend":{"identifier":"allow-prepend","description":"Enables the prepend command without any pre-configured scope.","commands":{"allow":["prepend"],"deny":[]}},"allow-remove":{"identifier":"allow-remove","description":"Enables the remove command without any pre-configured scope.","commands":{"allow":["remove"],"deny":[]}},"allow-remove-at":{"identifier":"allow-remove-at","description":"Enables the remove_at command without any pre-configured scope.","commands":{"allow":["remove_at"],"deny":[]}},"allow-set-accelerator":{"identifier":"allow-set-accelerator","description":"Enables the set_accelerator command without any pre-configured scope.","commands":{"allow":["set_accelerator"],"deny":[]}},"allow-set-as-app-menu":{"identifier":"allow-set-as-app-menu","description":"Enables the set_as_app_menu command without any pre-configured scope.","commands":{"allow":["set_as_app_menu"],"deny":[]}},"allow-set-as-help-menu-for-nsapp":{"identifier":"allow-set-as-help-menu-for-nsapp","description":"Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":["set_as_help_menu_for_nsapp"],"deny":[]}},"allow-set-as-window-menu":{"identifier":"allow-set-as-window-menu","description":"Enables the set_as_window_menu command without any pre-configured scope.","commands":{"allow":["set_as_window_menu"],"deny":[]}},"allow-set-as-windows-menu-for-nsapp":{"identifier":"allow-set-as-windows-menu-for-nsapp","description":"Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":["set_as_windows_menu_for_nsapp"],"deny":[]}},"allow-set-checked":{"identifier":"allow-set-checked","description":"Enables the set_checked command without any pre-configured scope.","commands":{"allow":["set_checked"],"deny":[]}},"allow-set-enabled":{"identifier":"allow-set-enabled","description":"Enables the set_enabled command without any pre-configured scope.","commands":{"allow":["set_enabled"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-text":{"identifier":"allow-set-text","description":"Enables the set_text command without any pre-configured scope.","commands":{"allow":["set_text"],"deny":[]}},"allow-text":{"identifier":"allow-text","description":"Enables the text command without any pre-configured scope.","commands":{"allow":["text"],"deny":[]}},"deny-append":{"identifier":"deny-append","description":"Denies the append command without any pre-configured scope.","commands":{"allow":[],"deny":["append"]}},"deny-create-default":{"identifier":"deny-create-default","description":"Denies the create_default command without any pre-configured scope.","commands":{"allow":[],"deny":["create_default"]}},"deny-get":{"identifier":"deny-get","description":"Denies the get command without any pre-configured scope.","commands":{"allow":[],"deny":["get"]}},"deny-insert":{"identifier":"deny-insert","description":"Denies the insert command without any pre-configured scope.","commands":{"allow":[],"deny":["insert"]}},"deny-is-checked":{"identifier":"deny-is-checked","description":"Denies the is_checked command without any pre-configured scope.","commands":{"allow":[],"deny":["is_checked"]}},"deny-is-enabled":{"identifier":"deny-is-enabled","description":"Denies the is_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["is_enabled"]}},"deny-items":{"identifier":"deny-items","description":"Denies the items command without any pre-configured scope.","commands":{"allow":[],"deny":["items"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-popup":{"identifier":"deny-popup","description":"Denies the popup command without any pre-configured scope.","commands":{"allow":[],"deny":["popup"]}},"deny-prepend":{"identifier":"deny-prepend","description":"Denies the prepend command without any pre-configured scope.","commands":{"allow":[],"deny":["prepend"]}},"deny-remove":{"identifier":"deny-remove","description":"Denies the remove command without any pre-configured scope.","commands":{"allow":[],"deny":["remove"]}},"deny-remove-at":{"identifier":"deny-remove-at","description":"Denies the remove_at command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_at"]}},"deny-set-accelerator":{"identifier":"deny-set-accelerator","description":"Denies the set_accelerator command without any pre-configured scope.","commands":{"allow":[],"deny":["set_accelerator"]}},"deny-set-as-app-menu":{"identifier":"deny-set-as-app-menu","description":"Denies the set_as_app_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_app_menu"]}},"deny-set-as-help-menu-for-nsapp":{"identifier":"deny-set-as-help-menu-for-nsapp","description":"Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_help_menu_for_nsapp"]}},"deny-set-as-window-menu":{"identifier":"deny-set-as-window-menu","description":"Denies the set_as_window_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_window_menu"]}},"deny-set-as-windows-menu-for-nsapp":{"identifier":"deny-set-as-windows-menu-for-nsapp","description":"Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_windows_menu_for_nsapp"]}},"deny-set-checked":{"identifier":"deny-set-checked","description":"Denies the set_checked command without any pre-configured scope.","commands":{"allow":[],"deny":["set_checked"]}},"deny-set-enabled":{"identifier":"deny-set-enabled","description":"Denies the set_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["set_enabled"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-text":{"identifier":"deny-set-text","description":"Denies the set_text command without any pre-configured scope.","commands":{"allow":[],"deny":["set_text"]}},"deny-text":{"identifier":"deny-text","description":"Denies the text command without any pre-configured scope.","commands":{"allow":[],"deny":["text"]}}},"permission_sets":{},"global_scope_schema":null},"core:path":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-resolve-directory","allow-resolve","allow-normalize","allow-join","allow-dirname","allow-extname","allow-basename","allow-is-absolute"]},"permissions":{"allow-basename":{"identifier":"allow-basename","description":"Enables the basename command without any pre-configured scope.","commands":{"allow":["basename"],"deny":[]}},"allow-dirname":{"identifier":"allow-dirname","description":"Enables the dirname command without any pre-configured scope.","commands":{"allow":["dirname"],"deny":[]}},"allow-extname":{"identifier":"allow-extname","description":"Enables the extname command without any pre-configured scope.","commands":{"allow":["extname"],"deny":[]}},"allow-is-absolute":{"identifier":"allow-is-absolute","description":"Enables the is_absolute command without any pre-configured scope.","commands":{"allow":["is_absolute"],"deny":[]}},"allow-join":{"identifier":"allow-join","description":"Enables the join command without any pre-configured scope.","commands":{"allow":["join"],"deny":[]}},"allow-normalize":{"identifier":"allow-normalize","description":"Enables the normalize command without any pre-configured scope.","commands":{"allow":["normalize"],"deny":[]}},"allow-resolve":{"identifier":"allow-resolve","description":"Enables the resolve command without any pre-configured scope.","commands":{"allow":["resolve"],"deny":[]}},"allow-resolve-directory":{"identifier":"allow-resolve-directory","description":"Enables the resolve_directory command without any pre-configured scope.","commands":{"allow":["resolve_directory"],"deny":[]}},"deny-basename":{"identifier":"deny-basename","description":"Denies the basename command without any pre-configured scope.","commands":{"allow":[],"deny":["basename"]}},"deny-dirname":{"identifier":"deny-dirname","description":"Denies the dirname command without any pre-configured scope.","commands":{"allow":[],"deny":["dirname"]}},"deny-extname":{"identifier":"deny-extname","description":"Denies the extname command without any pre-configured scope.","commands":{"allow":[],"deny":["extname"]}},"deny-is-absolute":{"identifier":"deny-is-absolute","description":"Denies the is_absolute command without any pre-configured scope.","commands":{"allow":[],"deny":["is_absolute"]}},"deny-join":{"identifier":"deny-join","description":"Denies the join command without any pre-configured scope.","commands":{"allow":[],"deny":["join"]}},"deny-normalize":{"identifier":"deny-normalize","description":"Denies the normalize command without any pre-configured scope.","commands":{"allow":[],"deny":["normalize"]}},"deny-resolve":{"identifier":"deny-resolve","description":"Denies the resolve command without any pre-configured scope.","commands":{"allow":[],"deny":["resolve"]}},"deny-resolve-directory":{"identifier":"deny-resolve-directory","description":"Denies the resolve_directory command without any pre-configured scope.","commands":{"allow":[],"deny":["resolve_directory"]}}},"permission_sets":{},"global_scope_schema":null},"core:resources":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-close"]},"permissions":{"allow-close":{"identifier":"allow-close","description":"Enables the close command without any pre-configured scope.","commands":{"allow":["close"],"deny":[]}},"deny-close":{"identifier":"deny-close","description":"Denies the close command without any pre-configured scope.","commands":{"allow":[],"deny":["close"]}}},"permission_sets":{},"global_scope_schema":null},"core:tray":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-new","allow-get-by-id","allow-remove-by-id","allow-set-icon","allow-set-menu","allow-set-tooltip","allow-set-title","allow-set-visible","allow-set-temp-dir-path","allow-set-icon-as-template","allow-set-show-menu-on-left-click"]},"permissions":{"allow-get-by-id":{"identifier":"allow-get-by-id","description":"Enables the get_by_id command without any pre-configured scope.","commands":{"allow":["get_by_id"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-remove-by-id":{"identifier":"allow-remove-by-id","description":"Enables the remove_by_id command without any pre-configured scope.","commands":{"allow":["remove_by_id"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-icon-as-template":{"identifier":"allow-set-icon-as-template","description":"Enables the set_icon_as_template command without any pre-configured scope.","commands":{"allow":["set_icon_as_template"],"deny":[]}},"allow-set-menu":{"identifier":"allow-set-menu","description":"Enables the set_menu command without any pre-configured scope.","commands":{"allow":["set_menu"],"deny":[]}},"allow-set-show-menu-on-left-click":{"identifier":"allow-set-show-menu-on-left-click","description":"Enables the set_show_menu_on_left_click command without any pre-configured scope.","commands":{"allow":["set_show_menu_on_left_click"],"deny":[]}},"allow-set-temp-dir-path":{"identifier":"allow-set-temp-dir-path","description":"Enables the set_temp_dir_path command without any pre-configured scope.","commands":{"allow":["set_temp_dir_path"],"deny":[]}},"allow-set-title":{"identifier":"allow-set-title","description":"Enables the set_title command without any pre-configured scope.","commands":{"allow":["set_title"],"deny":[]}},"allow-set-tooltip":{"identifier":"allow-set-tooltip","description":"Enables the set_tooltip command without any pre-configured scope.","commands":{"allow":["set_tooltip"],"deny":[]}},"allow-set-visible":{"identifier":"allow-set-visible","description":"Enables the set_visible command without any pre-configured scope.","commands":{"allow":["set_visible"],"deny":[]}},"deny-get-by-id":{"identifier":"deny-get-by-id","description":"Denies the get_by_id command without any pre-configured scope.","commands":{"allow":[],"deny":["get_by_id"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-remove-by-id":{"identifier":"deny-remove-by-id","description":"Denies the remove_by_id command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_by_id"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-icon-as-template":{"identifier":"deny-set-icon-as-template","description":"Denies the set_icon_as_template command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon_as_template"]}},"deny-set-menu":{"identifier":"deny-set-menu","description":"Denies the set_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_menu"]}},"deny-set-show-menu-on-left-click":{"identifier":"deny-set-show-menu-on-left-click","description":"Denies the set_show_menu_on_left_click command without any pre-configured scope.","commands":{"allow":[],"deny":["set_show_menu_on_left_click"]}},"deny-set-temp-dir-path":{"identifier":"deny-set-temp-dir-path","description":"Denies the set_temp_dir_path command without any pre-configured scope.","commands":{"allow":[],"deny":["set_temp_dir_path"]}},"deny-set-title":{"identifier":"deny-set-title","description":"Denies the set_title command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title"]}},"deny-set-tooltip":{"identifier":"deny-set-tooltip","description":"Denies the set_tooltip command without any pre-configured scope.","commands":{"allow":[],"deny":["set_tooltip"]}},"deny-set-visible":{"identifier":"deny-set-visible","description":"Denies the set_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["set_visible"]}}},"permission_sets":{},"global_scope_schema":null},"core:webview":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-get-all-webviews","allow-webview-position","allow-webview-size","allow-internal-toggle-devtools"]},"permissions":{"allow-clear-all-browsing-data":{"identifier":"allow-clear-all-browsing-data","description":"Enables the clear_all_browsing_data command without any pre-configured scope.","commands":{"allow":["clear_all_browsing_data"],"deny":[]}},"allow-create-webview":{"identifier":"allow-create-webview","description":"Enables the create_webview command without any pre-configured scope.","commands":{"allow":["create_webview"],"deny":[]}},"allow-create-webview-window":{"identifier":"allow-create-webview-window","description":"Enables the create_webview_window command without any pre-configured scope.","commands":{"allow":["create_webview_window"],"deny":[]}},"allow-get-all-webviews":{"identifier":"allow-get-all-webviews","description":"Enables the get_all_webviews command without any pre-configured scope.","commands":{"allow":["get_all_webviews"],"deny":[]}},"allow-internal-toggle-devtools":{"identifier":"allow-internal-toggle-devtools","description":"Enables the internal_toggle_devtools command without any pre-configured scope.","commands":{"allow":["internal_toggle_devtools"],"deny":[]}},"allow-print":{"identifier":"allow-print","description":"Enables the print command without any pre-configured scope.","commands":{"allow":["print"],"deny":[]}},"allow-reparent":{"identifier":"allow-reparent","description":"Enables the reparent command without any pre-configured scope.","commands":{"allow":["reparent"],"deny":[]}},"allow-set-webview-auto-resize":{"identifier":"allow-set-webview-auto-resize","description":"Enables the set_webview_auto_resize command without any pre-configured scope.","commands":{"allow":["set_webview_auto_resize"],"deny":[]}},"allow-set-webview-background-color":{"identifier":"allow-set-webview-background-color","description":"Enables the set_webview_background_color command without any pre-configured scope.","commands":{"allow":["set_webview_background_color"],"deny":[]}},"allow-set-webview-focus":{"identifier":"allow-set-webview-focus","description":"Enables the set_webview_focus command without any pre-configured scope.","commands":{"allow":["set_webview_focus"],"deny":[]}},"allow-set-webview-position":{"identifier":"allow-set-webview-position","description":"Enables the set_webview_position command without any pre-configured scope.","commands":{"allow":["set_webview_position"],"deny":[]}},"allow-set-webview-size":{"identifier":"allow-set-webview-size","description":"Enables the set_webview_size command without any pre-configured scope.","commands":{"allow":["set_webview_size"],"deny":[]}},"allow-set-webview-zoom":{"identifier":"allow-set-webview-zoom","description":"Enables the set_webview_zoom command without any pre-configured scope.","commands":{"allow":["set_webview_zoom"],"deny":[]}},"allow-webview-close":{"identifier":"allow-webview-close","description":"Enables the webview_close command without any pre-configured scope.","commands":{"allow":["webview_close"],"deny":[]}},"allow-webview-hide":{"identifier":"allow-webview-hide","description":"Enables the webview_hide command without any pre-configured scope.","commands":{"allow":["webview_hide"],"deny":[]}},"allow-webview-position":{"identifier":"allow-webview-position","description":"Enables the webview_position command without any pre-configured scope.","commands":{"allow":["webview_position"],"deny":[]}},"allow-webview-show":{"identifier":"allow-webview-show","description":"Enables the webview_show command without any pre-configured scope.","commands":{"allow":["webview_show"],"deny":[]}},"allow-webview-size":{"identifier":"allow-webview-size","description":"Enables the webview_size command without any pre-configured scope.","commands":{"allow":["webview_size"],"deny":[]}},"deny-clear-all-browsing-data":{"identifier":"deny-clear-all-browsing-data","description":"Denies the clear_all_browsing_data command without any pre-configured scope.","commands":{"allow":[],"deny":["clear_all_browsing_data"]}},"deny-create-webview":{"identifier":"deny-create-webview","description":"Denies the create_webview command without any pre-configured scope.","commands":{"allow":[],"deny":["create_webview"]}},"deny-create-webview-window":{"identifier":"deny-create-webview-window","description":"Denies the create_webview_window command without any pre-configured scope.","commands":{"allow":[],"deny":["create_webview_window"]}},"deny-get-all-webviews":{"identifier":"deny-get-all-webviews","description":"Denies the get_all_webviews command without any pre-configured scope.","commands":{"allow":[],"deny":["get_all_webviews"]}},"deny-internal-toggle-devtools":{"identifier":"deny-internal-toggle-devtools","description":"Denies the internal_toggle_devtools command without any pre-configured scope.","commands":{"allow":[],"deny":["internal_toggle_devtools"]}},"deny-print":{"identifier":"deny-print","description":"Denies the print command without any pre-configured scope.","commands":{"allow":[],"deny":["print"]}},"deny-reparent":{"identifier":"deny-reparent","description":"Denies the reparent command without any pre-configured scope.","commands":{"allow":[],"deny":["reparent"]}},"deny-set-webview-auto-resize":{"identifier":"deny-set-webview-auto-resize","description":"Denies the set_webview_auto_resize command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_auto_resize"]}},"deny-set-webview-background-color":{"identifier":"deny-set-webview-background-color","description":"Denies the set_webview_background_color command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_background_color"]}},"deny-set-webview-focus":{"identifier":"deny-set-webview-focus","description":"Denies the set_webview_focus command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_focus"]}},"deny-set-webview-position":{"identifier":"deny-set-webview-position","description":"Denies the set_webview_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_position"]}},"deny-set-webview-size":{"identifier":"deny-set-webview-size","description":"Denies the set_webview_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_size"]}},"deny-set-webview-zoom":{"identifier":"deny-set-webview-zoom","description":"Denies the set_webview_zoom command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_zoom"]}},"deny-webview-close":{"identifier":"deny-webview-close","description":"Denies the webview_close command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_close"]}},"deny-webview-hide":{"identifier":"deny-webview-hide","description":"Denies the webview_hide command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_hide"]}},"deny-webview-position":{"identifier":"deny-webview-position","description":"Denies the webview_position command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_position"]}},"deny-webview-show":{"identifier":"deny-webview-show","description":"Denies the webview_show command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_show"]}},"deny-webview-size":{"identifier":"deny-webview-size","description":"Denies the webview_size command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_size"]}}},"permission_sets":{},"global_scope_schema":null},"core:window":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-get-all-windows","allow-scale-factor","allow-inner-position","allow-outer-position","allow-inner-size","allow-outer-size","allow-is-fullscreen","allow-is-minimized","allow-is-maximized","allow-is-focused","allow-is-decorated","allow-is-resizable","allow-is-maximizable","allow-is-minimizable","allow-is-closable","allow-is-visible","allow-is-enabled","allow-title","allow-current-monitor","allow-primary-monitor","allow-monitor-from-point","allow-available-monitors","allow-cursor-position","allow-theme","allow-is-always-on-top","allow-internal-toggle-maximize"]},"permissions":{"allow-available-monitors":{"identifier":"allow-available-monitors","description":"Enables the available_monitors command without any pre-configured scope.","commands":{"allow":["available_monitors"],"deny":[]}},"allow-center":{"identifier":"allow-center","description":"Enables the center command without any pre-configured scope.","commands":{"allow":["center"],"deny":[]}},"allow-close":{"identifier":"allow-close","description":"Enables the close command without any pre-configured scope.","commands":{"allow":["close"],"deny":[]}},"allow-create":{"identifier":"allow-create","description":"Enables the create command without any pre-configured scope.","commands":{"allow":["create"],"deny":[]}},"allow-current-monitor":{"identifier":"allow-current-monitor","description":"Enables the current_monitor command without any pre-configured scope.","commands":{"allow":["current_monitor"],"deny":[]}},"allow-cursor-position":{"identifier":"allow-cursor-position","description":"Enables the cursor_position command without any pre-configured scope.","commands":{"allow":["cursor_position"],"deny":[]}},"allow-destroy":{"identifier":"allow-destroy","description":"Enables the destroy command without any pre-configured scope.","commands":{"allow":["destroy"],"deny":[]}},"allow-get-all-windows":{"identifier":"allow-get-all-windows","description":"Enables the get_all_windows command without any pre-configured scope.","commands":{"allow":["get_all_windows"],"deny":[]}},"allow-hide":{"identifier":"allow-hide","description":"Enables the hide command without any pre-configured scope.","commands":{"allow":["hide"],"deny":[]}},"allow-inner-position":{"identifier":"allow-inner-position","description":"Enables the inner_position command without any pre-configured scope.","commands":{"allow":["inner_position"],"deny":[]}},"allow-inner-size":{"identifier":"allow-inner-size","description":"Enables the inner_size command without any pre-configured scope.","commands":{"allow":["inner_size"],"deny":[]}},"allow-internal-toggle-maximize":{"identifier":"allow-internal-toggle-maximize","description":"Enables the internal_toggle_maximize command without any pre-configured scope.","commands":{"allow":["internal_toggle_maximize"],"deny":[]}},"allow-is-always-on-top":{"identifier":"allow-is-always-on-top","description":"Enables the is_always_on_top command without any pre-configured scope.","commands":{"allow":["is_always_on_top"],"deny":[]}},"allow-is-closable":{"identifier":"allow-is-closable","description":"Enables the is_closable command without any pre-configured scope.","commands":{"allow":["is_closable"],"deny":[]}},"allow-is-decorated":{"identifier":"allow-is-decorated","description":"Enables the is_decorated command without any pre-configured scope.","commands":{"allow":["is_decorated"],"deny":[]}},"allow-is-enabled":{"identifier":"allow-is-enabled","description":"Enables the is_enabled command without any pre-configured scope.","commands":{"allow":["is_enabled"],"deny":[]}},"allow-is-focused":{"identifier":"allow-is-focused","description":"Enables the is_focused command without any pre-configured scope.","commands":{"allow":["is_focused"],"deny":[]}},"allow-is-fullscreen":{"identifier":"allow-is-fullscreen","description":"Enables the is_fullscreen command without any pre-configured scope.","commands":{"allow":["is_fullscreen"],"deny":[]}},"allow-is-maximizable":{"identifier":"allow-is-maximizable","description":"Enables the is_maximizable command without any pre-configured scope.","commands":{"allow":["is_maximizable"],"deny":[]}},"allow-is-maximized":{"identifier":"allow-is-maximized","description":"Enables the is_maximized command without any pre-configured scope.","commands":{"allow":["is_maximized"],"deny":[]}},"allow-is-minimizable":{"identifier":"allow-is-minimizable","description":"Enables the is_minimizable command without any pre-configured scope.","commands":{"allow":["is_minimizable"],"deny":[]}},"allow-is-minimized":{"identifier":"allow-is-minimized","description":"Enables the is_minimized command without any pre-configured scope.","commands":{"allow":["is_minimized"],"deny":[]}},"allow-is-resizable":{"identifier":"allow-is-resizable","description":"Enables the is_resizable command without any pre-configured scope.","commands":{"allow":["is_resizable"],"deny":[]}},"allow-is-visible":{"identifier":"allow-is-visible","description":"Enables the is_visible command without any pre-configured scope.","commands":{"allow":["is_visible"],"deny":[]}},"allow-maximize":{"identifier":"allow-maximize","description":"Enables the maximize command without any pre-configured scope.","commands":{"allow":["maximize"],"deny":[]}},"allow-minimize":{"identifier":"allow-minimize","description":"Enables the minimize command without any pre-configured scope.","commands":{"allow":["minimize"],"deny":[]}},"allow-monitor-from-point":{"identifier":"allow-monitor-from-point","description":"Enables the monitor_from_point command without any pre-configured scope.","commands":{"allow":["monitor_from_point"],"deny":[]}},"allow-outer-position":{"identifier":"allow-outer-position","description":"Enables the outer_position command without any pre-configured scope.","commands":{"allow":["outer_position"],"deny":[]}},"allow-outer-size":{"identifier":"allow-outer-size","description":"Enables the outer_size command without any pre-configured scope.","commands":{"allow":["outer_size"],"deny":[]}},"allow-primary-monitor":{"identifier":"allow-primary-monitor","description":"Enables the primary_monitor command without any pre-configured scope.","commands":{"allow":["primary_monitor"],"deny":[]}},"allow-request-user-attention":{"identifier":"allow-request-user-attention","description":"Enables the request_user_attention command without any pre-configured scope.","commands":{"allow":["request_user_attention"],"deny":[]}},"allow-scale-factor":{"identifier":"allow-scale-factor","description":"Enables the scale_factor command without any pre-configured scope.","commands":{"allow":["scale_factor"],"deny":[]}},"allow-set-always-on-bottom":{"identifier":"allow-set-always-on-bottom","description":"Enables the set_always_on_bottom command without any pre-configured scope.","commands":{"allow":["set_always_on_bottom"],"deny":[]}},"allow-set-always-on-top":{"identifier":"allow-set-always-on-top","description":"Enables the set_always_on_top command without any pre-configured scope.","commands":{"allow":["set_always_on_top"],"deny":[]}},"allow-set-background-color":{"identifier":"allow-set-background-color","description":"Enables the set_background_color command without any pre-configured scope.","commands":{"allow":["set_background_color"],"deny":[]}},"allow-set-badge-count":{"identifier":"allow-set-badge-count","description":"Enables the set_badge_count command without any pre-configured scope.","commands":{"allow":["set_badge_count"],"deny":[]}},"allow-set-badge-label":{"identifier":"allow-set-badge-label","description":"Enables the set_badge_label command without any pre-configured scope.","commands":{"allow":["set_badge_label"],"deny":[]}},"allow-set-closable":{"identifier":"allow-set-closable","description":"Enables the set_closable command without any pre-configured scope.","commands":{"allow":["set_closable"],"deny":[]}},"allow-set-content-protected":{"identifier":"allow-set-content-protected","description":"Enables the set_content_protected command without any pre-configured scope.","commands":{"allow":["set_content_protected"],"deny":[]}},"allow-set-cursor-grab":{"identifier":"allow-set-cursor-grab","description":"Enables the set_cursor_grab command without any pre-configured scope.","commands":{"allow":["set_cursor_grab"],"deny":[]}},"allow-set-cursor-icon":{"identifier":"allow-set-cursor-icon","description":"Enables the set_cursor_icon command without any pre-configured scope.","commands":{"allow":["set_cursor_icon"],"deny":[]}},"allow-set-cursor-position":{"identifier":"allow-set-cursor-position","description":"Enables the set_cursor_position command without any pre-configured scope.","commands":{"allow":["set_cursor_position"],"deny":[]}},"allow-set-cursor-visible":{"identifier":"allow-set-cursor-visible","description":"Enables the set_cursor_visible command without any pre-configured scope.","commands":{"allow":["set_cursor_visible"],"deny":[]}},"allow-set-decorations":{"identifier":"allow-set-decorations","description":"Enables the set_decorations command without any pre-configured scope.","commands":{"allow":["set_decorations"],"deny":[]}},"allow-set-effects":{"identifier":"allow-set-effects","description":"Enables the set_effects command without any pre-configured scope.","commands":{"allow":["set_effects"],"deny":[]}},"allow-set-enabled":{"identifier":"allow-set-enabled","description":"Enables the set_enabled command without any pre-configured scope.","commands":{"allow":["set_enabled"],"deny":[]}},"allow-set-focus":{"identifier":"allow-set-focus","description":"Enables the set_focus command without any pre-configured scope.","commands":{"allow":["set_focus"],"deny":[]}},"allow-set-focusable":{"identifier":"allow-set-focusable","description":"Enables the set_focusable command without any pre-configured scope.","commands":{"allow":["set_focusable"],"deny":[]}},"allow-set-fullscreen":{"identifier":"allow-set-fullscreen","description":"Enables the set_fullscreen command without any pre-configured scope.","commands":{"allow":["set_fullscreen"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-ignore-cursor-events":{"identifier":"allow-set-ignore-cursor-events","description":"Enables the set_ignore_cursor_events command without any pre-configured scope.","commands":{"allow":["set_ignore_cursor_events"],"deny":[]}},"allow-set-max-size":{"identifier":"allow-set-max-size","description":"Enables the set_max_size command without any pre-configured scope.","commands":{"allow":["set_max_size"],"deny":[]}},"allow-set-maximizable":{"identifier":"allow-set-maximizable","description":"Enables the set_maximizable command without any pre-configured scope.","commands":{"allow":["set_maximizable"],"deny":[]}},"allow-set-min-size":{"identifier":"allow-set-min-size","description":"Enables the set_min_size command without any pre-configured scope.","commands":{"allow":["set_min_size"],"deny":[]}},"allow-set-minimizable":{"identifier":"allow-set-minimizable","description":"Enables the set_minimizable command without any pre-configured scope.","commands":{"allow":["set_minimizable"],"deny":[]}},"allow-set-overlay-icon":{"identifier":"allow-set-overlay-icon","description":"Enables the set_overlay_icon command without any pre-configured scope.","commands":{"allow":["set_overlay_icon"],"deny":[]}},"allow-set-position":{"identifier":"allow-set-position","description":"Enables the set_position command without any pre-configured scope.","commands":{"allow":["set_position"],"deny":[]}},"allow-set-progress-bar":{"identifier":"allow-set-progress-bar","description":"Enables the set_progress_bar command without any pre-configured scope.","commands":{"allow":["set_progress_bar"],"deny":[]}},"allow-set-resizable":{"identifier":"allow-set-resizable","description":"Enables the set_resizable command without any pre-configured scope.","commands":{"allow":["set_resizable"],"deny":[]}},"allow-set-shadow":{"identifier":"allow-set-shadow","description":"Enables the set_shadow command without any pre-configured scope.","commands":{"allow":["set_shadow"],"deny":[]}},"allow-set-simple-fullscreen":{"identifier":"allow-set-simple-fullscreen","description":"Enables the set_simple_fullscreen command without any pre-configured scope.","commands":{"allow":["set_simple_fullscreen"],"deny":[]}},"allow-set-size":{"identifier":"allow-set-size","description":"Enables the set_size command without any pre-configured scope.","commands":{"allow":["set_size"],"deny":[]}},"allow-set-size-constraints":{"identifier":"allow-set-size-constraints","description":"Enables the set_size_constraints command without any pre-configured scope.","commands":{"allow":["set_size_constraints"],"deny":[]}},"allow-set-skip-taskbar":{"identifier":"allow-set-skip-taskbar","description":"Enables the set_skip_taskbar command without any pre-configured scope.","commands":{"allow":["set_skip_taskbar"],"deny":[]}},"allow-set-theme":{"identifier":"allow-set-theme","description":"Enables the set_theme command without any pre-configured scope.","commands":{"allow":["set_theme"],"deny":[]}},"allow-set-title":{"identifier":"allow-set-title","description":"Enables the set_title command without any pre-configured scope.","commands":{"allow":["set_title"],"deny":[]}},"allow-set-title-bar-style":{"identifier":"allow-set-title-bar-style","description":"Enables the set_title_bar_style command without any pre-configured scope.","commands":{"allow":["set_title_bar_style"],"deny":[]}},"allow-set-visible-on-all-workspaces":{"identifier":"allow-set-visible-on-all-workspaces","description":"Enables the set_visible_on_all_workspaces command without any pre-configured scope.","commands":{"allow":["set_visible_on_all_workspaces"],"deny":[]}},"allow-show":{"identifier":"allow-show","description":"Enables the show command without any pre-configured scope.","commands":{"allow":["show"],"deny":[]}},"allow-start-dragging":{"identifier":"allow-start-dragging","description":"Enables the start_dragging command without any pre-configured scope.","commands":{"allow":["start_dragging"],"deny":[]}},"allow-start-resize-dragging":{"identifier":"allow-start-resize-dragging","description":"Enables the start_resize_dragging command without any pre-configured scope.","commands":{"allow":["start_resize_dragging"],"deny":[]}},"allow-theme":{"identifier":"allow-theme","description":"Enables the theme command without any pre-configured scope.","commands":{"allow":["theme"],"deny":[]}},"allow-title":{"identifier":"allow-title","description":"Enables the title command without any pre-configured scope.","commands":{"allow":["title"],"deny":[]}},"allow-toggle-maximize":{"identifier":"allow-toggle-maximize","description":"Enables the toggle_maximize command without any pre-configured scope.","commands":{"allow":["toggle_maximize"],"deny":[]}},"allow-unmaximize":{"identifier":"allow-unmaximize","description":"Enables the unmaximize command without any pre-configured scope.","commands":{"allow":["unmaximize"],"deny":[]}},"allow-unminimize":{"identifier":"allow-unminimize","description":"Enables the unminimize command without any pre-configured scope.","commands":{"allow":["unminimize"],"deny":[]}},"deny-available-monitors":{"identifier":"deny-available-monitors","description":"Denies the available_monitors command without any pre-configured scope.","commands":{"allow":[],"deny":["available_monitors"]}},"deny-center":{"identifier":"deny-center","description":"Denies the center command without any pre-configured scope.","commands":{"allow":[],"deny":["center"]}},"deny-close":{"identifier":"deny-close","description":"Denies the close command without any pre-configured scope.","commands":{"allow":[],"deny":["close"]}},"deny-create":{"identifier":"deny-create","description":"Denies the create command without any pre-configured scope.","commands":{"allow":[],"deny":["create"]}},"deny-current-monitor":{"identifier":"deny-current-monitor","description":"Denies the current_monitor command without any pre-configured scope.","commands":{"allow":[],"deny":["current_monitor"]}},"deny-cursor-position":{"identifier":"deny-cursor-position","description":"Denies the cursor_position command without any pre-configured scope.","commands":{"allow":[],"deny":["cursor_position"]}},"deny-destroy":{"identifier":"deny-destroy","description":"Denies the destroy command without any pre-configured scope.","commands":{"allow":[],"deny":["destroy"]}},"deny-get-all-windows":{"identifier":"deny-get-all-windows","description":"Denies the get_all_windows command without any pre-configured scope.","commands":{"allow":[],"deny":["get_all_windows"]}},"deny-hide":{"identifier":"deny-hide","description":"Denies the hide command without any pre-configured scope.","commands":{"allow":[],"deny":["hide"]}},"deny-inner-position":{"identifier":"deny-inner-position","description":"Denies the inner_position command without any pre-configured scope.","commands":{"allow":[],"deny":["inner_position"]}},"deny-inner-size":{"identifier":"deny-inner-size","description":"Denies the inner_size command without any pre-configured scope.","commands":{"allow":[],"deny":["inner_size"]}},"deny-internal-toggle-maximize":{"identifier":"deny-internal-toggle-maximize","description":"Denies the internal_toggle_maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["internal_toggle_maximize"]}},"deny-is-always-on-top":{"identifier":"deny-is-always-on-top","description":"Denies the is_always_on_top command without any pre-configured scope.","commands":{"allow":[],"deny":["is_always_on_top"]}},"deny-is-closable":{"identifier":"deny-is-closable","description":"Denies the is_closable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_closable"]}},"deny-is-decorated":{"identifier":"deny-is-decorated","description":"Denies the is_decorated command without any pre-configured scope.","commands":{"allow":[],"deny":["is_decorated"]}},"deny-is-enabled":{"identifier":"deny-is-enabled","description":"Denies the is_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["is_enabled"]}},"deny-is-focused":{"identifier":"deny-is-focused","description":"Denies the is_focused command without any pre-configured scope.","commands":{"allow":[],"deny":["is_focused"]}},"deny-is-fullscreen":{"identifier":"deny-is-fullscreen","description":"Denies the is_fullscreen command without any pre-configured scope.","commands":{"allow":[],"deny":["is_fullscreen"]}},"deny-is-maximizable":{"identifier":"deny-is-maximizable","description":"Denies the is_maximizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_maximizable"]}},"deny-is-maximized":{"identifier":"deny-is-maximized","description":"Denies the is_maximized command without any pre-configured scope.","commands":{"allow":[],"deny":["is_maximized"]}},"deny-is-minimizable":{"identifier":"deny-is-minimizable","description":"Denies the is_minimizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_minimizable"]}},"deny-is-minimized":{"identifier":"deny-is-minimized","description":"Denies the is_minimized command without any pre-configured scope.","commands":{"allow":[],"deny":["is_minimized"]}},"deny-is-resizable":{"identifier":"deny-is-resizable","description":"Denies the is_resizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_resizable"]}},"deny-is-visible":{"identifier":"deny-is-visible","description":"Denies the is_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["is_visible"]}},"deny-maximize":{"identifier":"deny-maximize","description":"Denies the maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["maximize"]}},"deny-minimize":{"identifier":"deny-minimize","description":"Denies the minimize command without any pre-configured scope.","commands":{"allow":[],"deny":["minimize"]}},"deny-monitor-from-point":{"identifier":"deny-monitor-from-point","description":"Denies the monitor_from_point command without any pre-configured scope.","commands":{"allow":[],"deny":["monitor_from_point"]}},"deny-outer-position":{"identifier":"deny-outer-position","description":"Denies the outer_position command without any pre-configured scope.","commands":{"allow":[],"deny":["outer_position"]}},"deny-outer-size":{"identifier":"deny-outer-size","description":"Denies the outer_size command without any pre-configured scope.","commands":{"allow":[],"deny":["outer_size"]}},"deny-primary-monitor":{"identifier":"deny-primary-monitor","description":"Denies the primary_monitor command without any pre-configured scope.","commands":{"allow":[],"deny":["primary_monitor"]}},"deny-request-user-attention":{"identifier":"deny-request-user-attention","description":"Denies the request_user_attention command without any pre-configured scope.","commands":{"allow":[],"deny":["request_user_attention"]}},"deny-scale-factor":{"identifier":"deny-scale-factor","description":"Denies the scale_factor command without any pre-configured scope.","commands":{"allow":[],"deny":["scale_factor"]}},"deny-set-always-on-bottom":{"identifier":"deny-set-always-on-bottom","description":"Denies the set_always_on_bottom command without any pre-configured scope.","commands":{"allow":[],"deny":["set_always_on_bottom"]}},"deny-set-always-on-top":{"identifier":"deny-set-always-on-top","description":"Denies the set_always_on_top command without any pre-configured scope.","commands":{"allow":[],"deny":["set_always_on_top"]}},"deny-set-background-color":{"identifier":"deny-set-background-color","description":"Denies the set_background_color command without any pre-configured scope.","commands":{"allow":[],"deny":["set_background_color"]}},"deny-set-badge-count":{"identifier":"deny-set-badge-count","description":"Denies the set_badge_count command without any pre-configured scope.","commands":{"allow":[],"deny":["set_badge_count"]}},"deny-set-badge-label":{"identifier":"deny-set-badge-label","description":"Denies the set_badge_label command without any pre-configured scope.","commands":{"allow":[],"deny":["set_badge_label"]}},"deny-set-closable":{"identifier":"deny-set-closable","description":"Denies the set_closable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_closable"]}},"deny-set-content-protected":{"identifier":"deny-set-content-protected","description":"Denies the set_content_protected command without any pre-configured scope.","commands":{"allow":[],"deny":["set_content_protected"]}},"deny-set-cursor-grab":{"identifier":"deny-set-cursor-grab","description":"Denies the set_cursor_grab command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_grab"]}},"deny-set-cursor-icon":{"identifier":"deny-set-cursor-icon","description":"Denies the set_cursor_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_icon"]}},"deny-set-cursor-position":{"identifier":"deny-set-cursor-position","description":"Denies the set_cursor_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_position"]}},"deny-set-cursor-visible":{"identifier":"deny-set-cursor-visible","description":"Denies the set_cursor_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_visible"]}},"deny-set-decorations":{"identifier":"deny-set-decorations","description":"Denies the set_decorations command without any pre-configured scope.","commands":{"allow":[],"deny":["set_decorations"]}},"deny-set-effects":{"identifier":"deny-set-effects","description":"Denies the set_effects command without any pre-configured scope.","commands":{"allow":[],"deny":["set_effects"]}},"deny-set-enabled":{"identifier":"deny-set-enabled","description":"Denies the set_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["set_enabled"]}},"deny-set-focus":{"identifier":"deny-set-focus","description":"Denies the set_focus command without any pre-configured scope.","commands":{"allow":[],"deny":["set_focus"]}},"deny-set-focusable":{"identifier":"deny-set-focusable","description":"Denies the set_focusable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_focusable"]}},"deny-set-fullscreen":{"identifier":"deny-set-fullscreen","description":"Denies the set_fullscreen command without any pre-configured scope.","commands":{"allow":[],"deny":["set_fullscreen"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-ignore-cursor-events":{"identifier":"deny-set-ignore-cursor-events","description":"Denies the set_ignore_cursor_events command without any pre-configured scope.","commands":{"allow":[],"deny":["set_ignore_cursor_events"]}},"deny-set-max-size":{"identifier":"deny-set-max-size","description":"Denies the set_max_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_max_size"]}},"deny-set-maximizable":{"identifier":"deny-set-maximizable","description":"Denies the set_maximizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_maximizable"]}},"deny-set-min-size":{"identifier":"deny-set-min-size","description":"Denies the set_min_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_min_size"]}},"deny-set-minimizable":{"identifier":"deny-set-minimizable","description":"Denies the set_minimizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_minimizable"]}},"deny-set-overlay-icon":{"identifier":"deny-set-overlay-icon","description":"Denies the set_overlay_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_overlay_icon"]}},"deny-set-position":{"identifier":"deny-set-position","description":"Denies the set_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_position"]}},"deny-set-progress-bar":{"identifier":"deny-set-progress-bar","description":"Denies the set_progress_bar command without any pre-configured scope.","commands":{"allow":[],"deny":["set_progress_bar"]}},"deny-set-resizable":{"identifier":"deny-set-resizable","description":"Denies the set_resizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_resizable"]}},"deny-set-shadow":{"identifier":"deny-set-shadow","description":"Denies the set_shadow command without any pre-configured scope.","commands":{"allow":[],"deny":["set_shadow"]}},"deny-set-simple-fullscreen":{"identifier":"deny-set-simple-fullscreen","description":"Denies the set_simple_fullscreen command without any pre-configured scope.","commands":{"allow":[],"deny":["set_simple_fullscreen"]}},"deny-set-size":{"identifier":"deny-set-size","description":"Denies the set_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_size"]}},"deny-set-size-constraints":{"identifier":"deny-set-size-constraints","description":"Denies the set_size_constraints command without any pre-configured scope.","commands":{"allow":[],"deny":["set_size_constraints"]}},"deny-set-skip-taskbar":{"identifier":"deny-set-skip-taskbar","description":"Denies the set_skip_taskbar command without any pre-configured scope.","commands":{"allow":[],"deny":["set_skip_taskbar"]}},"deny-set-theme":{"identifier":"deny-set-theme","description":"Denies the set_theme command without any pre-configured scope.","commands":{"allow":[],"deny":["set_theme"]}},"deny-set-title":{"identifier":"deny-set-title","description":"Denies the set_title command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title"]}},"deny-set-title-bar-style":{"identifier":"deny-set-title-bar-style","description":"Denies the set_title_bar_style command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title_bar_style"]}},"deny-set-visible-on-all-workspaces":{"identifier":"deny-set-visible-on-all-workspaces","description":"Denies the set_visible_on_all_workspaces command without any pre-configured scope.","commands":{"allow":[],"deny":["set_visible_on_all_workspaces"]}},"deny-show":{"identifier":"deny-show","description":"Denies the show command without any pre-configured scope.","commands":{"allow":[],"deny":["show"]}},"deny-start-dragging":{"identifier":"deny-start-dragging","description":"Denies the start_dragging command without any pre-configured scope.","commands":{"allow":[],"deny":["start_dragging"]}},"deny-start-resize-dragging":{"identifier":"deny-start-resize-dragging","description":"Denies the start_resize_dragging command without any pre-configured scope.","commands":{"allow":[],"deny":["start_resize_dragging"]}},"deny-theme":{"identifier":"deny-theme","description":"Denies the theme command without any pre-configured scope.","commands":{"allow":[],"deny":["theme"]}},"deny-title":{"identifier":"deny-title","description":"Denies the title command without any pre-configured scope.","commands":{"allow":[],"deny":["title"]}},"deny-toggle-maximize":{"identifier":"deny-toggle-maximize","description":"Denies the toggle_maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["toggle_maximize"]}},"deny-unmaximize":{"identifier":"deny-unmaximize","description":"Denies the unmaximize command without any pre-configured scope.","commands":{"allow":[],"deny":["unmaximize"]}},"deny-unminimize":{"identifier":"deny-unminimize","description":"Denies the unminimize command without any pre-configured scope.","commands":{"allow":[],"deny":["unminimize"]}}},"permission_sets":{},"global_scope_schema":null},"http":{"default_permission":{"identifier":"default","description":"This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n","permissions":["allow-fetch","allow-fetch-cancel","allow-fetch-send","allow-fetch-read-body","allow-fetch-cancel-body"]},"permissions":{"allow-fetch":{"identifier":"allow-fetch","description":"Enables the fetch command without any pre-configured scope.","commands":{"allow":["fetch"],"deny":[]}},"allow-fetch-cancel":{"identifier":"allow-fetch-cancel","description":"Enables the fetch_cancel command without any pre-configured scope.","commands":{"allow":["fetch_cancel"],"deny":[]}},"allow-fetch-cancel-body":{"identifier":"allow-fetch-cancel-body","description":"Enables the fetch_cancel_body command without any pre-configured scope.","commands":{"allow":["fetch_cancel_body"],"deny":[]}},"allow-fetch-read-body":{"identifier":"allow-fetch-read-body","description":"Enables the fetch_read_body command without any pre-configured scope.","commands":{"allow":["fetch_read_body"],"deny":[]}},"allow-fetch-send":{"identifier":"allow-fetch-send","description":"Enables the fetch_send command without any pre-configured scope.","commands":{"allow":["fetch_send"],"deny":[]}},"deny-fetch":{"identifier":"deny-fetch","description":"Denies the fetch command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch"]}},"deny-fetch-cancel":{"identifier":"deny-fetch-cancel","description":"Denies the fetch_cancel command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_cancel"]}},"deny-fetch-cancel-body":{"identifier":"deny-fetch-cancel-body","description":"Denies the fetch_cancel_body command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_cancel_body"]}},"deny-fetch-read-body":{"identifier":"deny-fetch-read-body","description":"Denies the fetch_read_body command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_read_body"]}},"deny-fetch-send":{"identifier":"deny-fetch-send","description":"Denies the fetch_send command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_send"]}}},"permission_sets":{},"global_scope_schema":{"$schema":"http://json-schema.org/draft-07/schema#","anyOf":[{"description":"A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"","type":"string"},{"properties":{"url":{"description":"A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"","type":"string"}},"required":["url"],"type":"object"}],"description":"HTTP scope entry.","title":"HttpScopeEntry"}},"process":{"default_permission":{"identifier":"default","description":"This permission set configures which\nprocess features are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n","permissions":["allow-exit","allow-restart"]},"permissions":{"allow-exit":{"identifier":"allow-exit","description":"Enables the exit command without any pre-configured scope.","commands":{"allow":["exit"],"deny":[]}},"allow-restart":{"identifier":"allow-restart","description":"Enables the restart command without any pre-configured scope.","commands":{"allow":["restart"],"deny":[]}},"deny-exit":{"identifier":"deny-exit","description":"Denies the exit command without any pre-configured scope.","commands":{"allow":[],"deny":["exit"]}},"deny-restart":{"identifier":"deny-restart","description":"Denies the restart command without any pre-configured scope.","commands":{"allow":[],"deny":["restart"]}}},"permission_sets":{},"global_scope_schema":null},"shell":{"default_permission":{"identifier":"default","description":"This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n","permissions":["allow-open"]},"permissions":{"allow-execute":{"identifier":"allow-execute","description":"Enables the execute command without any pre-configured scope.","commands":{"allow":["execute"],"deny":[]}},"allow-kill":{"identifier":"allow-kill","description":"Enables the kill command without any pre-configured scope.","commands":{"allow":["kill"],"deny":[]}},"allow-open":{"identifier":"allow-open","description":"Enables the open command without any pre-configured scope.","commands":{"allow":["open"],"deny":[]}},"allow-spawn":{"identifier":"allow-spawn","description":"Enables the spawn command without any pre-configured scope.","commands":{"allow":["spawn"],"deny":[]}},"allow-stdin-write":{"identifier":"allow-stdin-write","description":"Enables the stdin_write command without any pre-configured scope.","commands":{"allow":["stdin_write"],"deny":[]}},"deny-execute":{"identifier":"deny-execute","description":"Denies the execute command without any pre-configured scope.","commands":{"allow":[],"deny":["execute"]}},"deny-kill":{"identifier":"deny-kill","description":"Denies the kill command without any pre-configured scope.","commands":{"allow":[],"deny":["kill"]}},"deny-open":{"identifier":"deny-open","description":"Denies the open command without any pre-configured scope.","commands":{"allow":[],"deny":["open"]}},"deny-spawn":{"identifier":"deny-spawn","description":"Denies the spawn command without any pre-configured scope.","commands":{"allow":[],"deny":["spawn"]}},"deny-stdin-write":{"identifier":"deny-stdin-write","description":"Denies the stdin_write command without any pre-configured scope.","commands":{"allow":[],"deny":["stdin_write"]}}},"permission_sets":{},"global_scope_schema":{"$schema":"http://json-schema.org/draft-07/schema#","anyOf":[{"additionalProperties":false,"properties":{"args":{"allOf":[{"$ref":"#/definitions/ShellScopeEntryAllowedArgs"}],"description":"The allowed arguments for the command execution."},"cmd":{"description":"The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.","type":"string"},"name":{"description":"The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.","type":"string"}},"required":["cmd","name"],"type":"object"},{"additionalProperties":false,"properties":{"args":{"allOf":[{"$ref":"#/definitions/ShellScopeEntryAllowedArgs"}],"description":"The allowed arguments for the command execution."},"name":{"description":"The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.","type":"string"},"sidecar":{"description":"If this command is a sidecar command.","type":"boolean"}},"required":["name","sidecar"],"type":"object"}],"definitions":{"ShellScopeEntryAllowedArg":{"anyOf":[{"description":"A non-configurable argument that is passed to the command in the order it was specified.","type":"string"},{"additionalProperties":false,"description":"A variable that is set while calling the command from the webview API.","properties":{"raw":{"default":false,"description":"Marks the validator as a raw regex, meaning the plugin should not make any modification at runtime.\n\nThis means the regex will not match on the entire string by default, which might be exploited if your regex allow unexpected input to be considered valid. When using this option, make sure your regex is correct.","type":"boolean"},"validator":{"description":"[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\nThe regex string is by default surrounded by `^...$` to match the full string. For example the `https?://\\w+` regex would be registered as `^https?://\\w+$`.\n\n[regex]: ","type":"string"}},"required":["validator"],"type":"object"}],"description":"A command argument allowed to be executed by the webview API."},"ShellScopeEntryAllowedArgs":{"anyOf":[{"description":"Use a simple boolean to allow all or disable all arguments to this command configuration.","type":"boolean"},{"description":"A specific set of [`ShellScopeEntryAllowedArg`] that are valid to call for the command configuration.","items":{"$ref":"#/definitions/ShellScopeEntryAllowedArg"},"type":"array"}],"description":"A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellScopeEntryAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration."}},"description":"Shell scope entry.","title":"ShellScopeEntry"}},"updater":{"default_permission":{"identifier":"default","description":"This permission set configures which kind of\nupdater functions are exposed to the frontend.\n\n#### Granted Permissions\n\nThe full workflow from checking for updates to installing them\nis enabled.\n\n","permissions":["allow-check","allow-download","allow-install","allow-download-and-install"]},"permissions":{"allow-check":{"identifier":"allow-check","description":"Enables the check command without any pre-configured scope.","commands":{"allow":["check"],"deny":[]}},"allow-download":{"identifier":"allow-download","description":"Enables the download command without any pre-configured scope.","commands":{"allow":["download"],"deny":[]}},"allow-download-and-install":{"identifier":"allow-download-and-install","description":"Enables the download_and_install command without any pre-configured scope.","commands":{"allow":["download_and_install"],"deny":[]}},"allow-install":{"identifier":"allow-install","description":"Enables the install command without any pre-configured scope.","commands":{"allow":["install"],"deny":[]}},"deny-check":{"identifier":"deny-check","description":"Denies the check command without any pre-configured scope.","commands":{"allow":[],"deny":["check"]}},"deny-download":{"identifier":"deny-download","description":"Denies the download command without any pre-configured scope.","commands":{"allow":[],"deny":["download"]}},"deny-download-and-install":{"identifier":"deny-download-and-install","description":"Denies the download_and_install command without any pre-configured scope.","commands":{"allow":[],"deny":["download_and_install"]}},"deny-install":{"identifier":"deny-install","description":"Denies the install command without any pre-configured scope.","commands":{"allow":[],"deny":["install"]}}},"permission_sets":{},"global_scope_schema":null}} \ No newline at end of file diff --git a/src-tauri/gen/schemas/capabilities.json b/src-tauri/gen/schemas/capabilities.json new file mode 100644 index 0000000..26cfb4a --- /dev/null +++ b/src-tauri/gen/schemas/capabilities.json @@ -0,0 +1 @@ +{"default":{"identifier":"default","description":"Default capabilities for the main and login windows","local":true,"windows":["main","login"],"permissions":["core:default","core:window:allow-create","core:window:allow-close","core:window:allow-show","core:window:allow-hide","core:window:allow-set-focus","core:window:allow-center","core:webview:allow-create-webview-window","shell:allow-open","updater:default","process:allow-restart",{"identifier":"http:default","allow":[{"url":"https://api.eritors.com/**"},{"url":"https://scribe.eritors.com/**"},{"url":"https://eritors.com/**"}]}]}} \ No newline at end of file diff --git a/src-tauri/gen/schemas/desktop-schema.json b/src-tauri/gen/schemas/desktop-schema.json new file mode 100644 index 0000000..2949dec --- /dev/null +++ b/src-tauri/gen/schemas/desktop-schema.json @@ -0,0 +1,2852 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "CapabilityFile", + "description": "Capability formats accepted in a capability file.", + "anyOf": [ + { + "description": "A single capability.", + "allOf": [ + { + "$ref": "#/definitions/Capability" + } + ] + }, + { + "description": "A list of capabilities.", + "type": "array", + "items": { + "$ref": "#/definitions/Capability" + } + }, + { + "description": "A list of capabilities.", + "type": "object", + "required": [ + "capabilities" + ], + "properties": { + "capabilities": { + "description": "The list of capabilities.", + "type": "array", + "items": { + "$ref": "#/definitions/Capability" + } + } + } + } + ], + "definitions": { + "Capability": { + "description": "A grouping and boundary mechanism developers can use to isolate access to the IPC layer.\n\nIt controls application windows' and webviews' fine grained access to the Tauri core, application, or plugin commands. If a webview or its window is not matching any capability then it has no access to the IPC layer at all.\n\nThis can be done to create groups of windows, based on their required system access, which can reduce impact of frontend vulnerabilities in less privileged windows. Windows can be added to a capability by exact name (e.g. `main-window`) or glob patterns like `*` or `admin-*`. A Window can have none, one, or multiple associated capabilities.\n\n## Example\n\n```json { \"identifier\": \"main-user-files-write\", \"description\": \"This capability allows the `main` window on macOS and Windows access to `filesystem` write related commands and `dialog` commands to enable programmatic access to files selected by the user.\", \"windows\": [ \"main\" ], \"permissions\": [ \"core:default\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] }, ], \"platforms\": [\"macOS\",\"windows\"] } ```", + "type": "object", + "required": [ + "identifier", + "permissions" + ], + "properties": { + "identifier": { + "description": "Identifier of the capability.\n\n## Example\n\n`main-user-files-write`", + "type": "string" + }, + "description": { + "description": "Description of what the capability is intended to allow on associated windows.\n\nIt should contain a description of what the grouped permissions should allow.\n\n## Example\n\nThis capability allows the `main` window access to `filesystem` write related commands and `dialog` commands to enable programmatic access to files selected by the user.", + "default": "", + "type": "string" + }, + "remote": { + "description": "Configure remote URLs that can use the capability permissions.\n\nThis setting is optional and defaults to not being set, as our default use case is that the content is served from our local application.\n\n:::caution Make sure you understand the security implications of providing remote sources with local system access. :::\n\n## Example\n\n```json { \"urls\": [\"https://*.mydomain.dev\"] } ```", + "anyOf": [ + { + "$ref": "#/definitions/CapabilityRemote" + }, + { + "type": "null" + } + ] + }, + "local": { + "description": "Whether this capability is enabled for local app URLs or not. Defaults to `true`.", + "default": true, + "type": "boolean" + }, + "windows": { + "description": "List of windows that are affected by this capability. Can be a glob pattern.\n\nIf a window label matches any of the patterns in this list, the capability will be enabled on all the webviews of that window, regardless of the value of [`Self::webviews`].\n\nOn multiwebview windows, prefer specifying [`Self::webviews`] and omitting [`Self::windows`] for a fine grained access control.\n\n## Example\n\n`[\"main\"]`", + "type": "array", + "items": { + "type": "string" + } + }, + "webviews": { + "description": "List of webviews that are affected by this capability. Can be a glob pattern.\n\nThe capability will be enabled on all the webviews whose label matches any of the patterns in this list, regardless of whether the webview's window label matches a pattern in [`Self::windows`].\n\n## Example\n\n`[\"sub-webview-one\", \"sub-webview-two\"]`", + "type": "array", + "items": { + "type": "string" + } + }, + "permissions": { + "description": "List of permissions attached to this capability.\n\nMust include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`. For commands directly implemented in the application itself only `${permission-name}` is required.\n\n## Example\n\n```json [ \"core:default\", \"shell:allow-open\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] } ] ```", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionEntry" + }, + "uniqueItems": true + }, + "platforms": { + "description": "Limit which target platforms this capability applies to.\n\nBy default all platforms are targeted.\n\n## Example\n\n`[\"macOS\",\"windows\"]`", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Target" + } + } + } + }, + "CapabilityRemote": { + "description": "Configuration for remote URLs that are associated with the capability.", + "type": "object", + "required": [ + "urls" + ], + "properties": { + "urls": { + "description": "Remote domains this capability refers to using the [URLPattern standard](https://urlpattern.spec.whatwg.org/).\n\n## Examples\n\n- \"https://*.mydomain.dev\": allows subdomains of mydomain.dev - \"https://mydomain.dev/api/*\": allows any subpath of mydomain.dev/api", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PermissionEntry": { + "description": "An entry for a permission value in a [`Capability`] can be either a raw permission [`Identifier`] or an object that references a permission and extends its scope.", + "anyOf": [ + { + "description": "Reference a permission or permission set by identifier.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } + ] + }, + { + "description": "Reference a permission or permission set by identifier and extends its scope.", + "type": "object", + "allOf": [ + { + "if": { + "properties": { + "identifier": { + "anyOf": [ + { + "description": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`", + "type": "string", + "const": "http:default", + "markdownDescription": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`" + }, + { + "description": "Enables the fetch command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch", + "markdownDescription": "Enables the fetch command without any pre-configured scope." + }, + { + "description": "Enables the fetch_cancel command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-cancel", + "markdownDescription": "Enables the fetch_cancel command without any pre-configured scope." + }, + { + "description": "Enables the fetch_cancel_body command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-cancel-body", + "markdownDescription": "Enables the fetch_cancel_body command without any pre-configured scope." + }, + { + "description": "Enables the fetch_read_body command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-read-body", + "markdownDescription": "Enables the fetch_read_body command without any pre-configured scope." + }, + { + "description": "Enables the fetch_send command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-send", + "markdownDescription": "Enables the fetch_send command without any pre-configured scope." + }, + { + "description": "Denies the fetch command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch", + "markdownDescription": "Denies the fetch command without any pre-configured scope." + }, + { + "description": "Denies the fetch_cancel command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-cancel", + "markdownDescription": "Denies the fetch_cancel command without any pre-configured scope." + }, + { + "description": "Denies the fetch_cancel_body command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-cancel-body", + "markdownDescription": "Denies the fetch_cancel_body command without any pre-configured scope." + }, + { + "description": "Denies the fetch_read_body command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-read-body", + "markdownDescription": "Denies the fetch_read_body command without any pre-configured scope." + }, + { + "description": "Denies the fetch_send command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-send", + "markdownDescription": "Denies the fetch_send command without any pre-configured scope." + } + ] + } + } + }, + "then": { + "properties": { + "allow": { + "items": { + "title": "HttpScopeEntry", + "description": "HTTP scope entry.", + "anyOf": [ + { + "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", + "type": "string" + }, + { + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", + "type": "string" + } + } + } + ] + } + }, + "deny": { + "items": { + "title": "HttpScopeEntry", + "description": "HTTP scope entry.", + "anyOf": [ + { + "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", + "type": "string" + }, + { + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", + "type": "string" + } + } + } + ] + } + } + } + }, + "properties": { + "identifier": { + "description": "Identifier of the permission or permission set.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } + ] + } + } + }, + { + "if": { + "properties": { + "identifier": { + "anyOf": [ + { + "description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n\n#### This default permission set includes:\n\n- `allow-open`", + "type": "string", + "const": "shell:default", + "markdownDescription": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n\n#### This default permission set includes:\n\n- `allow-open`" + }, + { + "description": "Enables the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-execute", + "markdownDescription": "Enables the execute command without any pre-configured scope." + }, + { + "description": "Enables the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-kill", + "markdownDescription": "Enables the kill command without any pre-configured scope." + }, + { + "description": "Enables the open command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-open", + "markdownDescription": "Enables the open command without any pre-configured scope." + }, + { + "description": "Enables the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-spawn", + "markdownDescription": "Enables the spawn command without any pre-configured scope." + }, + { + "description": "Enables the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-stdin-write", + "markdownDescription": "Enables the stdin_write command without any pre-configured scope." + }, + { + "description": "Denies the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-execute", + "markdownDescription": "Denies the execute command without any pre-configured scope." + }, + { + "description": "Denies the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-kill", + "markdownDescription": "Denies the kill command without any pre-configured scope." + }, + { + "description": "Denies the open command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-open", + "markdownDescription": "Denies the open command without any pre-configured scope." + }, + { + "description": "Denies the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-spawn", + "markdownDescription": "Denies the spawn command without any pre-configured scope." + }, + { + "description": "Denies the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-stdin-write", + "markdownDescription": "Denies the stdin_write command without any pre-configured scope." + } + ] + } + } + }, + "then": { + "properties": { + "allow": { + "items": { + "title": "ShellScopeEntry", + "description": "Shell scope entry.", + "anyOf": [ + { + "type": "object", + "required": [ + "cmd", + "name" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "cmd": { + "description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", + "type": "string" + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "name", + "sidecar" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + }, + "sidecar": { + "description": "If this command is a sidecar command.", + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + } + }, + "deny": { + "items": { + "title": "ShellScopeEntry", + "description": "Shell scope entry.", + "anyOf": [ + { + "type": "object", + "required": [ + "cmd", + "name" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "cmd": { + "description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", + "type": "string" + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "name", + "sidecar" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + }, + "sidecar": { + "description": "If this command is a sidecar command.", + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + } + } + } + }, + "properties": { + "identifier": { + "description": "Identifier of the permission or permission set.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } + ] + } + } + }, + { + "properties": { + "identifier": { + "description": "Identifier of the permission or permission set.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } + ] + }, + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope. This should be prioritized by validation logic.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + } + ], + "required": [ + "identifier" + ] + } + ] + }, + "Identifier": { + "description": "Permission identifier", + "oneOf": [ + { + "description": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`", + "type": "string", + "const": "core:default", + "markdownDescription": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`" + }, + { + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`", + "type": "string", + "const": "core:app:default", + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`" + }, + { + "description": "Enables the app_hide command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-app-hide", + "markdownDescription": "Enables the app_hide command without any pre-configured scope." + }, + { + "description": "Enables the app_show command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-app-show", + "markdownDescription": "Enables the app_show command without any pre-configured scope." + }, + { + "description": "Enables the bundle_type command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-bundle-type", + "markdownDescription": "Enables the bundle_type command without any pre-configured scope." + }, + { + "description": "Enables the default_window_icon command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-default-window-icon", + "markdownDescription": "Enables the default_window_icon command without any pre-configured scope." + }, + { + "description": "Enables the fetch_data_store_identifiers command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-fetch-data-store-identifiers", + "markdownDescription": "Enables the fetch_data_store_identifiers command without any pre-configured scope." + }, + { + "description": "Enables the identifier command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-identifier", + "markdownDescription": "Enables the identifier command without any pre-configured scope." + }, + { + "description": "Enables the name command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-name", + "markdownDescription": "Enables the name command without any pre-configured scope." + }, + { + "description": "Enables the register_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-register-listener", + "markdownDescription": "Enables the register_listener command without any pre-configured scope." + }, + { + "description": "Enables the remove_data_store command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-remove-data-store", + "markdownDescription": "Enables the remove_data_store command without any pre-configured scope." + }, + { + "description": "Enables the remove_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-remove-listener", + "markdownDescription": "Enables the remove_listener command without any pre-configured scope." + }, + { + "description": "Enables the set_app_theme command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-set-app-theme", + "markdownDescription": "Enables the set_app_theme command without any pre-configured scope." + }, + { + "description": "Enables the set_dock_visibility command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-set-dock-visibility", + "markdownDescription": "Enables the set_dock_visibility command without any pre-configured scope." + }, + { + "description": "Enables the tauri_version command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-tauri-version", + "markdownDescription": "Enables the tauri_version command without any pre-configured scope." + }, + { + "description": "Enables the version command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-version", + "markdownDescription": "Enables the version command without any pre-configured scope." + }, + { + "description": "Denies the app_hide command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-app-hide", + "markdownDescription": "Denies the app_hide command without any pre-configured scope." + }, + { + "description": "Denies the app_show command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-app-show", + "markdownDescription": "Denies the app_show command without any pre-configured scope." + }, + { + "description": "Denies the bundle_type command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-bundle-type", + "markdownDescription": "Denies the bundle_type command without any pre-configured scope." + }, + { + "description": "Denies the default_window_icon command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-default-window-icon", + "markdownDescription": "Denies the default_window_icon command without any pre-configured scope." + }, + { + "description": "Denies the fetch_data_store_identifiers command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-fetch-data-store-identifiers", + "markdownDescription": "Denies the fetch_data_store_identifiers command without any pre-configured scope." + }, + { + "description": "Denies the identifier command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-identifier", + "markdownDescription": "Denies the identifier command without any pre-configured scope." + }, + { + "description": "Denies the name command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-name", + "markdownDescription": "Denies the name command without any pre-configured scope." + }, + { + "description": "Denies the register_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-register-listener", + "markdownDescription": "Denies the register_listener command without any pre-configured scope." + }, + { + "description": "Denies the remove_data_store command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-remove-data-store", + "markdownDescription": "Denies the remove_data_store command without any pre-configured scope." + }, + { + "description": "Denies the remove_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-remove-listener", + "markdownDescription": "Denies the remove_listener command without any pre-configured scope." + }, + { + "description": "Denies the set_app_theme command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-set-app-theme", + "markdownDescription": "Denies the set_app_theme command without any pre-configured scope." + }, + { + "description": "Denies the set_dock_visibility command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-set-dock-visibility", + "markdownDescription": "Denies the set_dock_visibility command without any pre-configured scope." + }, + { + "description": "Denies the tauri_version command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-tauri-version", + "markdownDescription": "Denies the tauri_version command without any pre-configured scope." + }, + { + "description": "Denies the version command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-version", + "markdownDescription": "Denies the version command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`", + "type": "string", + "const": "core:event:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`" + }, + { + "description": "Enables the emit command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-emit", + "markdownDescription": "Enables the emit command without any pre-configured scope." + }, + { + "description": "Enables the emit_to command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-emit-to", + "markdownDescription": "Enables the emit_to command without any pre-configured scope." + }, + { + "description": "Enables the listen command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-listen", + "markdownDescription": "Enables the listen command without any pre-configured scope." + }, + { + "description": "Enables the unlisten command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-unlisten", + "markdownDescription": "Enables the unlisten command without any pre-configured scope." + }, + { + "description": "Denies the emit command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-emit", + "markdownDescription": "Denies the emit command without any pre-configured scope." + }, + { + "description": "Denies the emit_to command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-emit-to", + "markdownDescription": "Denies the emit_to command without any pre-configured scope." + }, + { + "description": "Denies the listen command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-listen", + "markdownDescription": "Denies the listen command without any pre-configured scope." + }, + { + "description": "Denies the unlisten command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-unlisten", + "markdownDescription": "Denies the unlisten command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`", + "type": "string", + "const": "core:image:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`" + }, + { + "description": "Enables the from_bytes command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-from-bytes", + "markdownDescription": "Enables the from_bytes command without any pre-configured scope." + }, + { + "description": "Enables the from_path command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-from-path", + "markdownDescription": "Enables the from_path command without any pre-configured scope." + }, + { + "description": "Enables the new command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-new", + "markdownDescription": "Enables the new command without any pre-configured scope." + }, + { + "description": "Enables the rgba command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-rgba", + "markdownDescription": "Enables the rgba command without any pre-configured scope." + }, + { + "description": "Enables the size command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-size", + "markdownDescription": "Enables the size command without any pre-configured scope." + }, + { + "description": "Denies the from_bytes command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-from-bytes", + "markdownDescription": "Denies the from_bytes command without any pre-configured scope." + }, + { + "description": "Denies the from_path command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-from-path", + "markdownDescription": "Denies the from_path command without any pre-configured scope." + }, + { + "description": "Denies the new command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-new", + "markdownDescription": "Denies the new command without any pre-configured scope." + }, + { + "description": "Denies the rgba command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-rgba", + "markdownDescription": "Denies the rgba command without any pre-configured scope." + }, + { + "description": "Denies the size command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-size", + "markdownDescription": "Denies the size command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`", + "type": "string", + "const": "core:menu:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`" + }, + { + "description": "Enables the append command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-append", + "markdownDescription": "Enables the append command without any pre-configured scope." + }, + { + "description": "Enables the create_default command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-create-default", + "markdownDescription": "Enables the create_default command without any pre-configured scope." + }, + { + "description": "Enables the get command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-get", + "markdownDescription": "Enables the get command without any pre-configured scope." + }, + { + "description": "Enables the insert command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-insert", + "markdownDescription": "Enables the insert command without any pre-configured scope." + }, + { + "description": "Enables the is_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-is-checked", + "markdownDescription": "Enables the is_checked command without any pre-configured scope." + }, + { + "description": "Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-is-enabled", + "markdownDescription": "Enables the is_enabled command without any pre-configured scope." + }, + { + "description": "Enables the items command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-items", + "markdownDescription": "Enables the items command without any pre-configured scope." + }, + { + "description": "Enables the new command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-new", + "markdownDescription": "Enables the new command without any pre-configured scope." + }, + { + "description": "Enables the popup command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-popup", + "markdownDescription": "Enables the popup command without any pre-configured scope." + }, + { + "description": "Enables the prepend command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-prepend", + "markdownDescription": "Enables the prepend command without any pre-configured scope." + }, + { + "description": "Enables the remove command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-remove", + "markdownDescription": "Enables the remove command without any pre-configured scope." + }, + { + "description": "Enables the remove_at command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-remove-at", + "markdownDescription": "Enables the remove_at command without any pre-configured scope." + }, + { + "description": "Enables the set_accelerator command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-accelerator", + "markdownDescription": "Enables the set_accelerator command without any pre-configured scope." + }, + { + "description": "Enables the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-app-menu", + "markdownDescription": "Enables the set_as_app_menu command without any pre-configured scope." + }, + { + "description": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-help-menu-for-nsapp", + "markdownDescription": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Enables the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-window-menu", + "markdownDescription": "Enables the set_as_window_menu command without any pre-configured scope." + }, + { + "description": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-windows-menu-for-nsapp", + "markdownDescription": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Enables the set_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-checked", + "markdownDescription": "Enables the set_checked command without any pre-configured scope." + }, + { + "description": "Enables the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-enabled", + "markdownDescription": "Enables the set_enabled command without any pre-configured scope." + }, + { + "description": "Enables the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-icon", + "markdownDescription": "Enables the set_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-text", + "markdownDescription": "Enables the set_text command without any pre-configured scope." + }, + { + "description": "Enables the text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-text", + "markdownDescription": "Enables the text command without any pre-configured scope." + }, + { + "description": "Denies the append command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-append", + "markdownDescription": "Denies the append command without any pre-configured scope." + }, + { + "description": "Denies the create_default command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-create-default", + "markdownDescription": "Denies the create_default command without any pre-configured scope." + }, + { + "description": "Denies the get command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-get", + "markdownDescription": "Denies the get command without any pre-configured scope." + }, + { + "description": "Denies the insert command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-insert", + "markdownDescription": "Denies the insert command without any pre-configured scope." + }, + { + "description": "Denies the is_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-is-checked", + "markdownDescription": "Denies the is_checked command without any pre-configured scope." + }, + { + "description": "Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-is-enabled", + "markdownDescription": "Denies the is_enabled command without any pre-configured scope." + }, + { + "description": "Denies the items command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-items", + "markdownDescription": "Denies the items command without any pre-configured scope." + }, + { + "description": "Denies the new command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-new", + "markdownDescription": "Denies the new command without any pre-configured scope." + }, + { + "description": "Denies the popup command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-popup", + "markdownDescription": "Denies the popup command without any pre-configured scope." + }, + { + "description": "Denies the prepend command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-prepend", + "markdownDescription": "Denies the prepend command without any pre-configured scope." + }, + { + "description": "Denies the remove command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-remove", + "markdownDescription": "Denies the remove command without any pre-configured scope." + }, + { + "description": "Denies the remove_at command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-remove-at", + "markdownDescription": "Denies the remove_at command without any pre-configured scope." + }, + { + "description": "Denies the set_accelerator command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-accelerator", + "markdownDescription": "Denies the set_accelerator command without any pre-configured scope." + }, + { + "description": "Denies the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-app-menu", + "markdownDescription": "Denies the set_as_app_menu command without any pre-configured scope." + }, + { + "description": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-help-menu-for-nsapp", + "markdownDescription": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Denies the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-window-menu", + "markdownDescription": "Denies the set_as_window_menu command without any pre-configured scope." + }, + { + "description": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-windows-menu-for-nsapp", + "markdownDescription": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Denies the set_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-checked", + "markdownDescription": "Denies the set_checked command without any pre-configured scope." + }, + { + "description": "Denies the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-enabled", + "markdownDescription": "Denies the set_enabled command without any pre-configured scope." + }, + { + "description": "Denies the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-icon", + "markdownDescription": "Denies the set_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-text", + "markdownDescription": "Denies the set_text command without any pre-configured scope." + }, + { + "description": "Denies the text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-text", + "markdownDescription": "Denies the text command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`", + "type": "string", + "const": "core:path:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`" + }, + { + "description": "Enables the basename command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-basename", + "markdownDescription": "Enables the basename command without any pre-configured scope." + }, + { + "description": "Enables the dirname command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-dirname", + "markdownDescription": "Enables the dirname command without any pre-configured scope." + }, + { + "description": "Enables the extname command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-extname", + "markdownDescription": "Enables the extname command without any pre-configured scope." + }, + { + "description": "Enables the is_absolute command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-is-absolute", + "markdownDescription": "Enables the is_absolute command without any pre-configured scope." + }, + { + "description": "Enables the join command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-join", + "markdownDescription": "Enables the join command without any pre-configured scope." + }, + { + "description": "Enables the normalize command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-normalize", + "markdownDescription": "Enables the normalize command without any pre-configured scope." + }, + { + "description": "Enables the resolve command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-resolve", + "markdownDescription": "Enables the resolve command without any pre-configured scope." + }, + { + "description": "Enables the resolve_directory command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-resolve-directory", + "markdownDescription": "Enables the resolve_directory command without any pre-configured scope." + }, + { + "description": "Denies the basename command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-basename", + "markdownDescription": "Denies the basename command without any pre-configured scope." + }, + { + "description": "Denies the dirname command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-dirname", + "markdownDescription": "Denies the dirname command without any pre-configured scope." + }, + { + "description": "Denies the extname command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-extname", + "markdownDescription": "Denies the extname command without any pre-configured scope." + }, + { + "description": "Denies the is_absolute command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-is-absolute", + "markdownDescription": "Denies the is_absolute command without any pre-configured scope." + }, + { + "description": "Denies the join command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-join", + "markdownDescription": "Denies the join command without any pre-configured scope." + }, + { + "description": "Denies the normalize command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-normalize", + "markdownDescription": "Denies the normalize command without any pre-configured scope." + }, + { + "description": "Denies the resolve command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-resolve", + "markdownDescription": "Denies the resolve command without any pre-configured scope." + }, + { + "description": "Denies the resolve_directory command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-resolve-directory", + "markdownDescription": "Denies the resolve_directory command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`", + "type": "string", + "const": "core:resources:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`" + }, + { + "description": "Enables the close command without any pre-configured scope.", + "type": "string", + "const": "core:resources:allow-close", + "markdownDescription": "Enables the close command without any pre-configured scope." + }, + { + "description": "Denies the close command without any pre-configured scope.", + "type": "string", + "const": "core:resources:deny-close", + "markdownDescription": "Denies the close command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-show-menu-on-left-click`", + "type": "string", + "const": "core:tray:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-show-menu-on-left-click`" + }, + { + "description": "Enables the get_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-get-by-id", + "markdownDescription": "Enables the get_by_id command without any pre-configured scope." + }, + { + "description": "Enables the new command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-new", + "markdownDescription": "Enables the new command without any pre-configured scope." + }, + { + "description": "Enables the remove_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-remove-by-id", + "markdownDescription": "Enables the remove_by_id command without any pre-configured scope." + }, + { + "description": "Enables the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-icon", + "markdownDescription": "Enables the set_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-icon-as-template", + "markdownDescription": "Enables the set_icon_as_template command without any pre-configured scope." + }, + { + "description": "Enables the set_menu command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-menu", + "markdownDescription": "Enables the set_menu command without any pre-configured scope." + }, + { + "description": "Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-show-menu-on-left-click", + "markdownDescription": "Enables the set_show_menu_on_left_click command without any pre-configured scope." + }, + { + "description": "Enables the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-temp-dir-path", + "markdownDescription": "Enables the set_temp_dir_path command without any pre-configured scope." + }, + { + "description": "Enables the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-title", + "markdownDescription": "Enables the set_title command without any pre-configured scope." + }, + { + "description": "Enables the set_tooltip command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-tooltip", + "markdownDescription": "Enables the set_tooltip command without any pre-configured scope." + }, + { + "description": "Enables the set_visible command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-visible", + "markdownDescription": "Enables the set_visible command without any pre-configured scope." + }, + { + "description": "Denies the get_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-get-by-id", + "markdownDescription": "Denies the get_by_id command without any pre-configured scope." + }, + { + "description": "Denies the new command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-new", + "markdownDescription": "Denies the new command without any pre-configured scope." + }, + { + "description": "Denies the remove_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-remove-by-id", + "markdownDescription": "Denies the remove_by_id command without any pre-configured scope." + }, + { + "description": "Denies the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-icon", + "markdownDescription": "Denies the set_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-icon-as-template", + "markdownDescription": "Denies the set_icon_as_template command without any pre-configured scope." + }, + { + "description": "Denies the set_menu command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-menu", + "markdownDescription": "Denies the set_menu command without any pre-configured scope." + }, + { + "description": "Denies the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-show-menu-on-left-click", + "markdownDescription": "Denies the set_show_menu_on_left_click command without any pre-configured scope." + }, + { + "description": "Denies the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-temp-dir-path", + "markdownDescription": "Denies the set_temp_dir_path command without any pre-configured scope." + }, + { + "description": "Denies the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-title", + "markdownDescription": "Denies the set_title command without any pre-configured scope." + }, + { + "description": "Denies the set_tooltip command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-tooltip", + "markdownDescription": "Denies the set_tooltip command without any pre-configured scope." + }, + { + "description": "Denies the set_visible command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-visible", + "markdownDescription": "Denies the set_visible command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`", + "type": "string", + "const": "core:webview:default", + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`" + }, + { + "description": "Enables the clear_all_browsing_data command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-clear-all-browsing-data", + "markdownDescription": "Enables the clear_all_browsing_data command without any pre-configured scope." + }, + { + "description": "Enables the create_webview command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-create-webview", + "markdownDescription": "Enables the create_webview command without any pre-configured scope." + }, + { + "description": "Enables the create_webview_window command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-create-webview-window", + "markdownDescription": "Enables the create_webview_window command without any pre-configured scope." + }, + { + "description": "Enables the get_all_webviews command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-get-all-webviews", + "markdownDescription": "Enables the get_all_webviews command without any pre-configured scope." + }, + { + "description": "Enables the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-internal-toggle-devtools", + "markdownDescription": "Enables the internal_toggle_devtools command without any pre-configured scope." + }, + { + "description": "Enables the print command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-print", + "markdownDescription": "Enables the print command without any pre-configured scope." + }, + { + "description": "Enables the reparent command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-reparent", + "markdownDescription": "Enables the reparent command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_auto_resize command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-auto-resize", + "markdownDescription": "Enables the set_webview_auto_resize command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-background-color", + "markdownDescription": "Enables the set_webview_background_color command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_focus command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-focus", + "markdownDescription": "Enables the set_webview_focus command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-position", + "markdownDescription": "Enables the set_webview_position command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-size", + "markdownDescription": "Enables the set_webview_size command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_zoom command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-zoom", + "markdownDescription": "Enables the set_webview_zoom command without any pre-configured scope." + }, + { + "description": "Enables the webview_close command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-close", + "markdownDescription": "Enables the webview_close command without any pre-configured scope." + }, + { + "description": "Enables the webview_hide command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-hide", + "markdownDescription": "Enables the webview_hide command without any pre-configured scope." + }, + { + "description": "Enables the webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-position", + "markdownDescription": "Enables the webview_position command without any pre-configured scope." + }, + { + "description": "Enables the webview_show command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-show", + "markdownDescription": "Enables the webview_show command without any pre-configured scope." + }, + { + "description": "Enables the webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-size", + "markdownDescription": "Enables the webview_size command without any pre-configured scope." + }, + { + "description": "Denies the clear_all_browsing_data command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-clear-all-browsing-data", + "markdownDescription": "Denies the clear_all_browsing_data command without any pre-configured scope." + }, + { + "description": "Denies the create_webview command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-create-webview", + "markdownDescription": "Denies the create_webview command without any pre-configured scope." + }, + { + "description": "Denies the create_webview_window command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-create-webview-window", + "markdownDescription": "Denies the create_webview_window command without any pre-configured scope." + }, + { + "description": "Denies the get_all_webviews command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-get-all-webviews", + "markdownDescription": "Denies the get_all_webviews command without any pre-configured scope." + }, + { + "description": "Denies the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-internal-toggle-devtools", + "markdownDescription": "Denies the internal_toggle_devtools command without any pre-configured scope." + }, + { + "description": "Denies the print command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-print", + "markdownDescription": "Denies the print command without any pre-configured scope." + }, + { + "description": "Denies the reparent command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-reparent", + "markdownDescription": "Denies the reparent command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_auto_resize command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-auto-resize", + "markdownDescription": "Denies the set_webview_auto_resize command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-background-color", + "markdownDescription": "Denies the set_webview_background_color command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_focus command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-focus", + "markdownDescription": "Denies the set_webview_focus command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-position", + "markdownDescription": "Denies the set_webview_position command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-size", + "markdownDescription": "Denies the set_webview_size command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_zoom command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-zoom", + "markdownDescription": "Denies the set_webview_zoom command without any pre-configured scope." + }, + { + "description": "Denies the webview_close command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-close", + "markdownDescription": "Denies the webview_close command without any pre-configured scope." + }, + { + "description": "Denies the webview_hide command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-hide", + "markdownDescription": "Denies the webview_hide command without any pre-configured scope." + }, + { + "description": "Denies the webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-position", + "markdownDescription": "Denies the webview_position command without any pre-configured scope." + }, + { + "description": "Denies the webview_show command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-show", + "markdownDescription": "Denies the webview_show command without any pre-configured scope." + }, + { + "description": "Denies the webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-size", + "markdownDescription": "Denies the webview_size command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-internal-toggle-maximize`", + "type": "string", + "const": "core:window:default", + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-internal-toggle-maximize`" + }, + { + "description": "Enables the available_monitors command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-available-monitors", + "markdownDescription": "Enables the available_monitors command without any pre-configured scope." + }, + { + "description": "Enables the center command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-center", + "markdownDescription": "Enables the center command without any pre-configured scope." + }, + { + "description": "Enables the close command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-close", + "markdownDescription": "Enables the close command without any pre-configured scope." + }, + { + "description": "Enables the create command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-create", + "markdownDescription": "Enables the create command without any pre-configured scope." + }, + { + "description": "Enables the current_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-current-monitor", + "markdownDescription": "Enables the current_monitor command without any pre-configured scope." + }, + { + "description": "Enables the cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-cursor-position", + "markdownDescription": "Enables the cursor_position command without any pre-configured scope." + }, + { + "description": "Enables the destroy command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-destroy", + "markdownDescription": "Enables the destroy command without any pre-configured scope." + }, + { + "description": "Enables the get_all_windows command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-get-all-windows", + "markdownDescription": "Enables the get_all_windows command without any pre-configured scope." + }, + { + "description": "Enables the hide command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-hide", + "markdownDescription": "Enables the hide command without any pre-configured scope." + }, + { + "description": "Enables the inner_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-inner-position", + "markdownDescription": "Enables the inner_position command without any pre-configured scope." + }, + { + "description": "Enables the inner_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-inner-size", + "markdownDescription": "Enables the inner_size command without any pre-configured scope." + }, + { + "description": "Enables the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-internal-toggle-maximize", + "markdownDescription": "Enables the internal_toggle_maximize command without any pre-configured scope." + }, + { + "description": "Enables the is_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-always-on-top", + "markdownDescription": "Enables the is_always_on_top command without any pre-configured scope." + }, + { + "description": "Enables the is_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-closable", + "markdownDescription": "Enables the is_closable command without any pre-configured scope." + }, + { + "description": "Enables the is_decorated command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-decorated", + "markdownDescription": "Enables the is_decorated command without any pre-configured scope." + }, + { + "description": "Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-enabled", + "markdownDescription": "Enables the is_enabled command without any pre-configured scope." + }, + { + "description": "Enables the is_focused command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-focused", + "markdownDescription": "Enables the is_focused command without any pre-configured scope." + }, + { + "description": "Enables the is_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-fullscreen", + "markdownDescription": "Enables the is_fullscreen command without any pre-configured scope." + }, + { + "description": "Enables the is_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-maximizable", + "markdownDescription": "Enables the is_maximizable command without any pre-configured scope." + }, + { + "description": "Enables the is_maximized command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-maximized", + "markdownDescription": "Enables the is_maximized command without any pre-configured scope." + }, + { + "description": "Enables the is_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-minimizable", + "markdownDescription": "Enables the is_minimizable command without any pre-configured scope." + }, + { + "description": "Enables the is_minimized command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-minimized", + "markdownDescription": "Enables the is_minimized command without any pre-configured scope." + }, + { + "description": "Enables the is_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-resizable", + "markdownDescription": "Enables the is_resizable command without any pre-configured scope." + }, + { + "description": "Enables the is_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-visible", + "markdownDescription": "Enables the is_visible command without any pre-configured scope." + }, + { + "description": "Enables the maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-maximize", + "markdownDescription": "Enables the maximize command without any pre-configured scope." + }, + { + "description": "Enables the minimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-minimize", + "markdownDescription": "Enables the minimize command without any pre-configured scope." + }, + { + "description": "Enables the monitor_from_point command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-monitor-from-point", + "markdownDescription": "Enables the monitor_from_point command without any pre-configured scope." + }, + { + "description": "Enables the outer_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-outer-position", + "markdownDescription": "Enables the outer_position command without any pre-configured scope." + }, + { + "description": "Enables the outer_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-outer-size", + "markdownDescription": "Enables the outer_size command without any pre-configured scope." + }, + { + "description": "Enables the primary_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-primary-monitor", + "markdownDescription": "Enables the primary_monitor command without any pre-configured scope." + }, + { + "description": "Enables the request_user_attention command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-request-user-attention", + "markdownDescription": "Enables the request_user_attention command without any pre-configured scope." + }, + { + "description": "Enables the scale_factor command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-scale-factor", + "markdownDescription": "Enables the scale_factor command without any pre-configured scope." + }, + { + "description": "Enables the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-always-on-bottom", + "markdownDescription": "Enables the set_always_on_bottom command without any pre-configured scope." + }, + { + "description": "Enables the set_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-always-on-top", + "markdownDescription": "Enables the set_always_on_top command without any pre-configured scope." + }, + { + "description": "Enables the set_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-background-color", + "markdownDescription": "Enables the set_background_color command without any pre-configured scope." + }, + { + "description": "Enables the set_badge_count command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-badge-count", + "markdownDescription": "Enables the set_badge_count command without any pre-configured scope." + }, + { + "description": "Enables the set_badge_label command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-badge-label", + "markdownDescription": "Enables the set_badge_label command without any pre-configured scope." + }, + { + "description": "Enables the set_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-closable", + "markdownDescription": "Enables the set_closable command without any pre-configured scope." + }, + { + "description": "Enables the set_content_protected command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-content-protected", + "markdownDescription": "Enables the set_content_protected command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-grab", + "markdownDescription": "Enables the set_cursor_grab command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-icon", + "markdownDescription": "Enables the set_cursor_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-position", + "markdownDescription": "Enables the set_cursor_position command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-visible", + "markdownDescription": "Enables the set_cursor_visible command without any pre-configured scope." + }, + { + "description": "Enables the set_decorations command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-decorations", + "markdownDescription": "Enables the set_decorations command without any pre-configured scope." + }, + { + "description": "Enables the set_effects command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-effects", + "markdownDescription": "Enables the set_effects command without any pre-configured scope." + }, + { + "description": "Enables the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-enabled", + "markdownDescription": "Enables the set_enabled command without any pre-configured scope." + }, + { + "description": "Enables the set_focus command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-focus", + "markdownDescription": "Enables the set_focus command without any pre-configured scope." + }, + { + "description": "Enables the set_focusable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-focusable", + "markdownDescription": "Enables the set_focusable command without any pre-configured scope." + }, + { + "description": "Enables the set_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-fullscreen", + "markdownDescription": "Enables the set_fullscreen command without any pre-configured scope." + }, + { + "description": "Enables the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-icon", + "markdownDescription": "Enables the set_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-ignore-cursor-events", + "markdownDescription": "Enables the set_ignore_cursor_events command without any pre-configured scope." + }, + { + "description": "Enables the set_max_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-max-size", + "markdownDescription": "Enables the set_max_size command without any pre-configured scope." + }, + { + "description": "Enables the set_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-maximizable", + "markdownDescription": "Enables the set_maximizable command without any pre-configured scope." + }, + { + "description": "Enables the set_min_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-min-size", + "markdownDescription": "Enables the set_min_size command without any pre-configured scope." + }, + { + "description": "Enables the set_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-minimizable", + "markdownDescription": "Enables the set_minimizable command without any pre-configured scope." + }, + { + "description": "Enables the set_overlay_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-overlay-icon", + "markdownDescription": "Enables the set_overlay_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-position", + "markdownDescription": "Enables the set_position command without any pre-configured scope." + }, + { + "description": "Enables the set_progress_bar command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-progress-bar", + "markdownDescription": "Enables the set_progress_bar command without any pre-configured scope." + }, + { + "description": "Enables the set_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-resizable", + "markdownDescription": "Enables the set_resizable command without any pre-configured scope." + }, + { + "description": "Enables the set_shadow command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-shadow", + "markdownDescription": "Enables the set_shadow command without any pre-configured scope." + }, + { + "description": "Enables the set_simple_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-simple-fullscreen", + "markdownDescription": "Enables the set_simple_fullscreen command without any pre-configured scope." + }, + { + "description": "Enables the set_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-size", + "markdownDescription": "Enables the set_size command without any pre-configured scope." + }, + { + "description": "Enables the set_size_constraints command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-size-constraints", + "markdownDescription": "Enables the set_size_constraints command without any pre-configured scope." + }, + { + "description": "Enables the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-skip-taskbar", + "markdownDescription": "Enables the set_skip_taskbar command without any pre-configured scope." + }, + { + "description": "Enables the set_theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-theme", + "markdownDescription": "Enables the set_theme command without any pre-configured scope." + }, + { + "description": "Enables the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-title", + "markdownDescription": "Enables the set_title command without any pre-configured scope." + }, + { + "description": "Enables the set_title_bar_style command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-title-bar-style", + "markdownDescription": "Enables the set_title_bar_style command without any pre-configured scope." + }, + { + "description": "Enables the set_visible_on_all_workspaces command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-visible-on-all-workspaces", + "markdownDescription": "Enables the set_visible_on_all_workspaces command without any pre-configured scope." + }, + { + "description": "Enables the show command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-show", + "markdownDescription": "Enables the show command without any pre-configured scope." + }, + { + "description": "Enables the start_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-start-dragging", + "markdownDescription": "Enables the start_dragging command without any pre-configured scope." + }, + { + "description": "Enables the start_resize_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-start-resize-dragging", + "markdownDescription": "Enables the start_resize_dragging command without any pre-configured scope." + }, + { + "description": "Enables the theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-theme", + "markdownDescription": "Enables the theme command without any pre-configured scope." + }, + { + "description": "Enables the title command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-title", + "markdownDescription": "Enables the title command without any pre-configured scope." + }, + { + "description": "Enables the toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-toggle-maximize", + "markdownDescription": "Enables the toggle_maximize command without any pre-configured scope." + }, + { + "description": "Enables the unmaximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-unmaximize", + "markdownDescription": "Enables the unmaximize command without any pre-configured scope." + }, + { + "description": "Enables the unminimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-unminimize", + "markdownDescription": "Enables the unminimize command without any pre-configured scope." + }, + { + "description": "Denies the available_monitors command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-available-monitors", + "markdownDescription": "Denies the available_monitors command without any pre-configured scope." + }, + { + "description": "Denies the center command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-center", + "markdownDescription": "Denies the center command without any pre-configured scope." + }, + { + "description": "Denies the close command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-close", + "markdownDescription": "Denies the close command without any pre-configured scope." + }, + { + "description": "Denies the create command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-create", + "markdownDescription": "Denies the create command without any pre-configured scope." + }, + { + "description": "Denies the current_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-current-monitor", + "markdownDescription": "Denies the current_monitor command without any pre-configured scope." + }, + { + "description": "Denies the cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-cursor-position", + "markdownDescription": "Denies the cursor_position command without any pre-configured scope." + }, + { + "description": "Denies the destroy command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-destroy", + "markdownDescription": "Denies the destroy command without any pre-configured scope." + }, + { + "description": "Denies the get_all_windows command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-get-all-windows", + "markdownDescription": "Denies the get_all_windows command without any pre-configured scope." + }, + { + "description": "Denies the hide command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-hide", + "markdownDescription": "Denies the hide command without any pre-configured scope." + }, + { + "description": "Denies the inner_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-inner-position", + "markdownDescription": "Denies the inner_position command without any pre-configured scope." + }, + { + "description": "Denies the inner_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-inner-size", + "markdownDescription": "Denies the inner_size command without any pre-configured scope." + }, + { + "description": "Denies the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-internal-toggle-maximize", + "markdownDescription": "Denies the internal_toggle_maximize command without any pre-configured scope." + }, + { + "description": "Denies the is_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-always-on-top", + "markdownDescription": "Denies the is_always_on_top command without any pre-configured scope." + }, + { + "description": "Denies the is_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-closable", + "markdownDescription": "Denies the is_closable command without any pre-configured scope." + }, + { + "description": "Denies the is_decorated command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-decorated", + "markdownDescription": "Denies the is_decorated command without any pre-configured scope." + }, + { + "description": "Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-enabled", + "markdownDescription": "Denies the is_enabled command without any pre-configured scope." + }, + { + "description": "Denies the is_focused command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-focused", + "markdownDescription": "Denies the is_focused command without any pre-configured scope." + }, + { + "description": "Denies the is_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-fullscreen", + "markdownDescription": "Denies the is_fullscreen command without any pre-configured scope." + }, + { + "description": "Denies the is_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-maximizable", + "markdownDescription": "Denies the is_maximizable command without any pre-configured scope." + }, + { + "description": "Denies the is_maximized command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-maximized", + "markdownDescription": "Denies the is_maximized command without any pre-configured scope." + }, + { + "description": "Denies the is_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-minimizable", + "markdownDescription": "Denies the is_minimizable command without any pre-configured scope." + }, + { + "description": "Denies the is_minimized command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-minimized", + "markdownDescription": "Denies the is_minimized command without any pre-configured scope." + }, + { + "description": "Denies the is_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-resizable", + "markdownDescription": "Denies the is_resizable command without any pre-configured scope." + }, + { + "description": "Denies the is_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-visible", + "markdownDescription": "Denies the is_visible command without any pre-configured scope." + }, + { + "description": "Denies the maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-maximize", + "markdownDescription": "Denies the maximize command without any pre-configured scope." + }, + { + "description": "Denies the minimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-minimize", + "markdownDescription": "Denies the minimize command without any pre-configured scope." + }, + { + "description": "Denies the monitor_from_point command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-monitor-from-point", + "markdownDescription": "Denies the monitor_from_point command without any pre-configured scope." + }, + { + "description": "Denies the outer_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-outer-position", + "markdownDescription": "Denies the outer_position command without any pre-configured scope." + }, + { + "description": "Denies the outer_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-outer-size", + "markdownDescription": "Denies the outer_size command without any pre-configured scope." + }, + { + "description": "Denies the primary_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-primary-monitor", + "markdownDescription": "Denies the primary_monitor command without any pre-configured scope." + }, + { + "description": "Denies the request_user_attention command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-request-user-attention", + "markdownDescription": "Denies the request_user_attention command without any pre-configured scope." + }, + { + "description": "Denies the scale_factor command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-scale-factor", + "markdownDescription": "Denies the scale_factor command without any pre-configured scope." + }, + { + "description": "Denies the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-always-on-bottom", + "markdownDescription": "Denies the set_always_on_bottom command without any pre-configured scope." + }, + { + "description": "Denies the set_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-always-on-top", + "markdownDescription": "Denies the set_always_on_top command without any pre-configured scope." + }, + { + "description": "Denies the set_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-background-color", + "markdownDescription": "Denies the set_background_color command without any pre-configured scope." + }, + { + "description": "Denies the set_badge_count command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-badge-count", + "markdownDescription": "Denies the set_badge_count command without any pre-configured scope." + }, + { + "description": "Denies the set_badge_label command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-badge-label", + "markdownDescription": "Denies the set_badge_label command without any pre-configured scope." + }, + { + "description": "Denies the set_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-closable", + "markdownDescription": "Denies the set_closable command without any pre-configured scope." + }, + { + "description": "Denies the set_content_protected command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-content-protected", + "markdownDescription": "Denies the set_content_protected command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-grab", + "markdownDescription": "Denies the set_cursor_grab command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-icon", + "markdownDescription": "Denies the set_cursor_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-position", + "markdownDescription": "Denies the set_cursor_position command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-visible", + "markdownDescription": "Denies the set_cursor_visible command without any pre-configured scope." + }, + { + "description": "Denies the set_decorations command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-decorations", + "markdownDescription": "Denies the set_decorations command without any pre-configured scope." + }, + { + "description": "Denies the set_effects command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-effects", + "markdownDescription": "Denies the set_effects command without any pre-configured scope." + }, + { + "description": "Denies the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-enabled", + "markdownDescription": "Denies the set_enabled command without any pre-configured scope." + }, + { + "description": "Denies the set_focus command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-focus", + "markdownDescription": "Denies the set_focus command without any pre-configured scope." + }, + { + "description": "Denies the set_focusable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-focusable", + "markdownDescription": "Denies the set_focusable command without any pre-configured scope." + }, + { + "description": "Denies the set_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-fullscreen", + "markdownDescription": "Denies the set_fullscreen command without any pre-configured scope." + }, + { + "description": "Denies the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-icon", + "markdownDescription": "Denies the set_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-ignore-cursor-events", + "markdownDescription": "Denies the set_ignore_cursor_events command without any pre-configured scope." + }, + { + "description": "Denies the set_max_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-max-size", + "markdownDescription": "Denies the set_max_size command without any pre-configured scope." + }, + { + "description": "Denies the set_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-maximizable", + "markdownDescription": "Denies the set_maximizable command without any pre-configured scope." + }, + { + "description": "Denies the set_min_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-min-size", + "markdownDescription": "Denies the set_min_size command without any pre-configured scope." + }, + { + "description": "Denies the set_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-minimizable", + "markdownDescription": "Denies the set_minimizable command without any pre-configured scope." + }, + { + "description": "Denies the set_overlay_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-overlay-icon", + "markdownDescription": "Denies the set_overlay_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-position", + "markdownDescription": "Denies the set_position command without any pre-configured scope." + }, + { + "description": "Denies the set_progress_bar command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-progress-bar", + "markdownDescription": "Denies the set_progress_bar command without any pre-configured scope." + }, + { + "description": "Denies the set_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-resizable", + "markdownDescription": "Denies the set_resizable command without any pre-configured scope." + }, + { + "description": "Denies the set_shadow command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-shadow", + "markdownDescription": "Denies the set_shadow command without any pre-configured scope." + }, + { + "description": "Denies the set_simple_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-simple-fullscreen", + "markdownDescription": "Denies the set_simple_fullscreen command without any pre-configured scope." + }, + { + "description": "Denies the set_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-size", + "markdownDescription": "Denies the set_size command without any pre-configured scope." + }, + { + "description": "Denies the set_size_constraints command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-size-constraints", + "markdownDescription": "Denies the set_size_constraints command without any pre-configured scope." + }, + { + "description": "Denies the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-skip-taskbar", + "markdownDescription": "Denies the set_skip_taskbar command without any pre-configured scope." + }, + { + "description": "Denies the set_theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-theme", + "markdownDescription": "Denies the set_theme command without any pre-configured scope." + }, + { + "description": "Denies the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-title", + "markdownDescription": "Denies the set_title command without any pre-configured scope." + }, + { + "description": "Denies the set_title_bar_style command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-title-bar-style", + "markdownDescription": "Denies the set_title_bar_style command without any pre-configured scope." + }, + { + "description": "Denies the set_visible_on_all_workspaces command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-visible-on-all-workspaces", + "markdownDescription": "Denies the set_visible_on_all_workspaces command without any pre-configured scope." + }, + { + "description": "Denies the show command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-show", + "markdownDescription": "Denies the show command without any pre-configured scope." + }, + { + "description": "Denies the start_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-start-dragging", + "markdownDescription": "Denies the start_dragging command without any pre-configured scope." + }, + { + "description": "Denies the start_resize_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-start-resize-dragging", + "markdownDescription": "Denies the start_resize_dragging command without any pre-configured scope." + }, + { + "description": "Denies the theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-theme", + "markdownDescription": "Denies the theme command without any pre-configured scope." + }, + { + "description": "Denies the title command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-title", + "markdownDescription": "Denies the title command without any pre-configured scope." + }, + { + "description": "Denies the toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-toggle-maximize", + "markdownDescription": "Denies the toggle_maximize command without any pre-configured scope." + }, + { + "description": "Denies the unmaximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-unmaximize", + "markdownDescription": "Denies the unmaximize command without any pre-configured scope." + }, + { + "description": "Denies the unminimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-unminimize", + "markdownDescription": "Denies the unminimize command without any pre-configured scope." + }, + { + "description": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`", + "type": "string", + "const": "http:default", + "markdownDescription": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`" + }, + { + "description": "Enables the fetch command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch", + "markdownDescription": "Enables the fetch command without any pre-configured scope." + }, + { + "description": "Enables the fetch_cancel command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-cancel", + "markdownDescription": "Enables the fetch_cancel command without any pre-configured scope." + }, + { + "description": "Enables the fetch_cancel_body command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-cancel-body", + "markdownDescription": "Enables the fetch_cancel_body command without any pre-configured scope." + }, + { + "description": "Enables the fetch_read_body command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-read-body", + "markdownDescription": "Enables the fetch_read_body command without any pre-configured scope." + }, + { + "description": "Enables the fetch_send command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-send", + "markdownDescription": "Enables the fetch_send command without any pre-configured scope." + }, + { + "description": "Denies the fetch command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch", + "markdownDescription": "Denies the fetch command without any pre-configured scope." + }, + { + "description": "Denies the fetch_cancel command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-cancel", + "markdownDescription": "Denies the fetch_cancel command without any pre-configured scope." + }, + { + "description": "Denies the fetch_cancel_body command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-cancel-body", + "markdownDescription": "Denies the fetch_cancel_body command without any pre-configured scope." + }, + { + "description": "Denies the fetch_read_body command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-read-body", + "markdownDescription": "Denies the fetch_read_body command without any pre-configured scope." + }, + { + "description": "Denies the fetch_send command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-send", + "markdownDescription": "Denies the fetch_send command without any pre-configured scope." + }, + { + "description": "This permission set configures which\nprocess features are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n\n#### This default permission set includes:\n\n- `allow-exit`\n- `allow-restart`", + "type": "string", + "const": "process:default", + "markdownDescription": "This permission set configures which\nprocess features are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n\n#### This default permission set includes:\n\n- `allow-exit`\n- `allow-restart`" + }, + { + "description": "Enables the exit command without any pre-configured scope.", + "type": "string", + "const": "process:allow-exit", + "markdownDescription": "Enables the exit command without any pre-configured scope." + }, + { + "description": "Enables the restart command without any pre-configured scope.", + "type": "string", + "const": "process:allow-restart", + "markdownDescription": "Enables the restart command without any pre-configured scope." + }, + { + "description": "Denies the exit command without any pre-configured scope.", + "type": "string", + "const": "process:deny-exit", + "markdownDescription": "Denies the exit command without any pre-configured scope." + }, + { + "description": "Denies the restart command without any pre-configured scope.", + "type": "string", + "const": "process:deny-restart", + "markdownDescription": "Denies the restart command without any pre-configured scope." + }, + { + "description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n\n#### This default permission set includes:\n\n- `allow-open`", + "type": "string", + "const": "shell:default", + "markdownDescription": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n\n#### This default permission set includes:\n\n- `allow-open`" + }, + { + "description": "Enables the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-execute", + "markdownDescription": "Enables the execute command without any pre-configured scope." + }, + { + "description": "Enables the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-kill", + "markdownDescription": "Enables the kill command without any pre-configured scope." + }, + { + "description": "Enables the open command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-open", + "markdownDescription": "Enables the open command without any pre-configured scope." + }, + { + "description": "Enables the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-spawn", + "markdownDescription": "Enables the spawn command without any pre-configured scope." + }, + { + "description": "Enables the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-stdin-write", + "markdownDescription": "Enables the stdin_write command without any pre-configured scope." + }, + { + "description": "Denies the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-execute", + "markdownDescription": "Denies the execute command without any pre-configured scope." + }, + { + "description": "Denies the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-kill", + "markdownDescription": "Denies the kill command without any pre-configured scope." + }, + { + "description": "Denies the open command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-open", + "markdownDescription": "Denies the open command without any pre-configured scope." + }, + { + "description": "Denies the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-spawn", + "markdownDescription": "Denies the spawn command without any pre-configured scope." + }, + { + "description": "Denies the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-stdin-write", + "markdownDescription": "Denies the stdin_write command without any pre-configured scope." + }, + { + "description": "This permission set configures which kind of\nupdater functions are exposed to the frontend.\n\n#### Granted Permissions\n\nThe full workflow from checking for updates to installing them\nis enabled.\n\n\n#### This default permission set includes:\n\n- `allow-check`\n- `allow-download`\n- `allow-install`\n- `allow-download-and-install`", + "type": "string", + "const": "updater:default", + "markdownDescription": "This permission set configures which kind of\nupdater functions are exposed to the frontend.\n\n#### Granted Permissions\n\nThe full workflow from checking for updates to installing them\nis enabled.\n\n\n#### This default permission set includes:\n\n- `allow-check`\n- `allow-download`\n- `allow-install`\n- `allow-download-and-install`" + }, + { + "description": "Enables the check command without any pre-configured scope.", + "type": "string", + "const": "updater:allow-check", + "markdownDescription": "Enables the check command without any pre-configured scope." + }, + { + "description": "Enables the download command without any pre-configured scope.", + "type": "string", + "const": "updater:allow-download", + "markdownDescription": "Enables the download command without any pre-configured scope." + }, + { + "description": "Enables the download_and_install command without any pre-configured scope.", + "type": "string", + "const": "updater:allow-download-and-install", + "markdownDescription": "Enables the download_and_install command without any pre-configured scope." + }, + { + "description": "Enables the install command without any pre-configured scope.", + "type": "string", + "const": "updater:allow-install", + "markdownDescription": "Enables the install command without any pre-configured scope." + }, + { + "description": "Denies the check command without any pre-configured scope.", + "type": "string", + "const": "updater:deny-check", + "markdownDescription": "Denies the check command without any pre-configured scope." + }, + { + "description": "Denies the download command without any pre-configured scope.", + "type": "string", + "const": "updater:deny-download", + "markdownDescription": "Denies the download command without any pre-configured scope." + }, + { + "description": "Denies the download_and_install command without any pre-configured scope.", + "type": "string", + "const": "updater:deny-download-and-install", + "markdownDescription": "Denies the download_and_install command without any pre-configured scope." + }, + { + "description": "Denies the install command without any pre-configured scope.", + "type": "string", + "const": "updater:deny-install", + "markdownDescription": "Denies the install command without any pre-configured scope." + } + ] + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a null JSON value.", + "type": "null" + }, + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Target": { + "description": "Platform target.", + "oneOf": [ + { + "description": "MacOS.", + "type": "string", + "enum": [ + "macOS" + ] + }, + { + "description": "Windows.", + "type": "string", + "enum": [ + "windows" + ] + }, + { + "description": "Linux.", + "type": "string", + "enum": [ + "linux" + ] + }, + { + "description": "Android.", + "type": "string", + "enum": [ + "android" + ] + }, + { + "description": "iOS.", + "type": "string", + "enum": [ + "iOS" + ] + } + ] + }, + "ShellScopeEntryAllowedArg": { + "description": "A command argument allowed to be executed by the webview API.", + "anyOf": [ + { + "description": "A non-configurable argument that is passed to the command in the order it was specified.", + "type": "string" + }, + { + "description": "A variable that is set while calling the command from the webview API.", + "type": "object", + "required": [ + "validator" + ], + "properties": { + "raw": { + "description": "Marks the validator as a raw regex, meaning the plugin should not make any modification at runtime.\n\nThis means the regex will not match on the entire string by default, which might be exploited if your regex allow unexpected input to be considered valid. When using this option, make sure your regex is correct.", + "default": false, + "type": "boolean" + }, + "validator": { + "description": "[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\nThe regex string is by default surrounded by `^...$` to match the full string. For example the `https?://\\w+` regex would be registered as `^https?://\\w+$`.\n\n[regex]: ", + "type": "string" + } + }, + "additionalProperties": false + } + ] + }, + "ShellScopeEntryAllowedArgs": { + "description": "A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellScopeEntryAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration.", + "anyOf": [ + { + "description": "Use a simple boolean to allow all or disable all arguments to this command configuration.", + "type": "boolean" + }, + { + "description": "A specific set of [`ShellScopeEntryAllowedArg`] that are valid to call for the command configuration.", + "type": "array", + "items": { + "$ref": "#/definitions/ShellScopeEntryAllowedArg" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src-tauri/gen/schemas/macOS-schema.json b/src-tauri/gen/schemas/macOS-schema.json new file mode 100644 index 0000000..2949dec --- /dev/null +++ b/src-tauri/gen/schemas/macOS-schema.json @@ -0,0 +1,2852 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "CapabilityFile", + "description": "Capability formats accepted in a capability file.", + "anyOf": [ + { + "description": "A single capability.", + "allOf": [ + { + "$ref": "#/definitions/Capability" + } + ] + }, + { + "description": "A list of capabilities.", + "type": "array", + "items": { + "$ref": "#/definitions/Capability" + } + }, + { + "description": "A list of capabilities.", + "type": "object", + "required": [ + "capabilities" + ], + "properties": { + "capabilities": { + "description": "The list of capabilities.", + "type": "array", + "items": { + "$ref": "#/definitions/Capability" + } + } + } + } + ], + "definitions": { + "Capability": { + "description": "A grouping and boundary mechanism developers can use to isolate access to the IPC layer.\n\nIt controls application windows' and webviews' fine grained access to the Tauri core, application, or plugin commands. If a webview or its window is not matching any capability then it has no access to the IPC layer at all.\n\nThis can be done to create groups of windows, based on their required system access, which can reduce impact of frontend vulnerabilities in less privileged windows. Windows can be added to a capability by exact name (e.g. `main-window`) or glob patterns like `*` or `admin-*`. A Window can have none, one, or multiple associated capabilities.\n\n## Example\n\n```json { \"identifier\": \"main-user-files-write\", \"description\": \"This capability allows the `main` window on macOS and Windows access to `filesystem` write related commands and `dialog` commands to enable programmatic access to files selected by the user.\", \"windows\": [ \"main\" ], \"permissions\": [ \"core:default\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] }, ], \"platforms\": [\"macOS\",\"windows\"] } ```", + "type": "object", + "required": [ + "identifier", + "permissions" + ], + "properties": { + "identifier": { + "description": "Identifier of the capability.\n\n## Example\n\n`main-user-files-write`", + "type": "string" + }, + "description": { + "description": "Description of what the capability is intended to allow on associated windows.\n\nIt should contain a description of what the grouped permissions should allow.\n\n## Example\n\nThis capability allows the `main` window access to `filesystem` write related commands and `dialog` commands to enable programmatic access to files selected by the user.", + "default": "", + "type": "string" + }, + "remote": { + "description": "Configure remote URLs that can use the capability permissions.\n\nThis setting is optional and defaults to not being set, as our default use case is that the content is served from our local application.\n\n:::caution Make sure you understand the security implications of providing remote sources with local system access. :::\n\n## Example\n\n```json { \"urls\": [\"https://*.mydomain.dev\"] } ```", + "anyOf": [ + { + "$ref": "#/definitions/CapabilityRemote" + }, + { + "type": "null" + } + ] + }, + "local": { + "description": "Whether this capability is enabled for local app URLs or not. Defaults to `true`.", + "default": true, + "type": "boolean" + }, + "windows": { + "description": "List of windows that are affected by this capability. Can be a glob pattern.\n\nIf a window label matches any of the patterns in this list, the capability will be enabled on all the webviews of that window, regardless of the value of [`Self::webviews`].\n\nOn multiwebview windows, prefer specifying [`Self::webviews`] and omitting [`Self::windows`] for a fine grained access control.\n\n## Example\n\n`[\"main\"]`", + "type": "array", + "items": { + "type": "string" + } + }, + "webviews": { + "description": "List of webviews that are affected by this capability. Can be a glob pattern.\n\nThe capability will be enabled on all the webviews whose label matches any of the patterns in this list, regardless of whether the webview's window label matches a pattern in [`Self::windows`].\n\n## Example\n\n`[\"sub-webview-one\", \"sub-webview-two\"]`", + "type": "array", + "items": { + "type": "string" + } + }, + "permissions": { + "description": "List of permissions attached to this capability.\n\nMust include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`. For commands directly implemented in the application itself only `${permission-name}` is required.\n\n## Example\n\n```json [ \"core:default\", \"shell:allow-open\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] } ] ```", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionEntry" + }, + "uniqueItems": true + }, + "platforms": { + "description": "Limit which target platforms this capability applies to.\n\nBy default all platforms are targeted.\n\n## Example\n\n`[\"macOS\",\"windows\"]`", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Target" + } + } + } + }, + "CapabilityRemote": { + "description": "Configuration for remote URLs that are associated with the capability.", + "type": "object", + "required": [ + "urls" + ], + "properties": { + "urls": { + "description": "Remote domains this capability refers to using the [URLPattern standard](https://urlpattern.spec.whatwg.org/).\n\n## Examples\n\n- \"https://*.mydomain.dev\": allows subdomains of mydomain.dev - \"https://mydomain.dev/api/*\": allows any subpath of mydomain.dev/api", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PermissionEntry": { + "description": "An entry for a permission value in a [`Capability`] can be either a raw permission [`Identifier`] or an object that references a permission and extends its scope.", + "anyOf": [ + { + "description": "Reference a permission or permission set by identifier.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } + ] + }, + { + "description": "Reference a permission or permission set by identifier and extends its scope.", + "type": "object", + "allOf": [ + { + "if": { + "properties": { + "identifier": { + "anyOf": [ + { + "description": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`", + "type": "string", + "const": "http:default", + "markdownDescription": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`" + }, + { + "description": "Enables the fetch command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch", + "markdownDescription": "Enables the fetch command without any pre-configured scope." + }, + { + "description": "Enables the fetch_cancel command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-cancel", + "markdownDescription": "Enables the fetch_cancel command without any pre-configured scope." + }, + { + "description": "Enables the fetch_cancel_body command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-cancel-body", + "markdownDescription": "Enables the fetch_cancel_body command without any pre-configured scope." + }, + { + "description": "Enables the fetch_read_body command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-read-body", + "markdownDescription": "Enables the fetch_read_body command without any pre-configured scope." + }, + { + "description": "Enables the fetch_send command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-send", + "markdownDescription": "Enables the fetch_send command without any pre-configured scope." + }, + { + "description": "Denies the fetch command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch", + "markdownDescription": "Denies the fetch command without any pre-configured scope." + }, + { + "description": "Denies the fetch_cancel command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-cancel", + "markdownDescription": "Denies the fetch_cancel command without any pre-configured scope." + }, + { + "description": "Denies the fetch_cancel_body command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-cancel-body", + "markdownDescription": "Denies the fetch_cancel_body command without any pre-configured scope." + }, + { + "description": "Denies the fetch_read_body command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-read-body", + "markdownDescription": "Denies the fetch_read_body command without any pre-configured scope." + }, + { + "description": "Denies the fetch_send command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-send", + "markdownDescription": "Denies the fetch_send command without any pre-configured scope." + } + ] + } + } + }, + "then": { + "properties": { + "allow": { + "items": { + "title": "HttpScopeEntry", + "description": "HTTP scope entry.", + "anyOf": [ + { + "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", + "type": "string" + }, + { + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", + "type": "string" + } + } + } + ] + } + }, + "deny": { + "items": { + "title": "HttpScopeEntry", + "description": "HTTP scope entry.", + "anyOf": [ + { + "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", + "type": "string" + }, + { + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", + "type": "string" + } + } + } + ] + } + } + } + }, + "properties": { + "identifier": { + "description": "Identifier of the permission or permission set.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } + ] + } + } + }, + { + "if": { + "properties": { + "identifier": { + "anyOf": [ + { + "description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n\n#### This default permission set includes:\n\n- `allow-open`", + "type": "string", + "const": "shell:default", + "markdownDescription": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n\n#### This default permission set includes:\n\n- `allow-open`" + }, + { + "description": "Enables the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-execute", + "markdownDescription": "Enables the execute command without any pre-configured scope." + }, + { + "description": "Enables the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-kill", + "markdownDescription": "Enables the kill command without any pre-configured scope." + }, + { + "description": "Enables the open command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-open", + "markdownDescription": "Enables the open command without any pre-configured scope." + }, + { + "description": "Enables the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-spawn", + "markdownDescription": "Enables the spawn command without any pre-configured scope." + }, + { + "description": "Enables the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-stdin-write", + "markdownDescription": "Enables the stdin_write command without any pre-configured scope." + }, + { + "description": "Denies the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-execute", + "markdownDescription": "Denies the execute command without any pre-configured scope." + }, + { + "description": "Denies the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-kill", + "markdownDescription": "Denies the kill command without any pre-configured scope." + }, + { + "description": "Denies the open command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-open", + "markdownDescription": "Denies the open command without any pre-configured scope." + }, + { + "description": "Denies the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-spawn", + "markdownDescription": "Denies the spawn command without any pre-configured scope." + }, + { + "description": "Denies the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-stdin-write", + "markdownDescription": "Denies the stdin_write command without any pre-configured scope." + } + ] + } + } + }, + "then": { + "properties": { + "allow": { + "items": { + "title": "ShellScopeEntry", + "description": "Shell scope entry.", + "anyOf": [ + { + "type": "object", + "required": [ + "cmd", + "name" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "cmd": { + "description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", + "type": "string" + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "name", + "sidecar" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + }, + "sidecar": { + "description": "If this command is a sidecar command.", + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + } + }, + "deny": { + "items": { + "title": "ShellScopeEntry", + "description": "Shell scope entry.", + "anyOf": [ + { + "type": "object", + "required": [ + "cmd", + "name" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "cmd": { + "description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", + "type": "string" + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "name", + "sidecar" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + }, + "sidecar": { + "description": "If this command is a sidecar command.", + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + } + } + } + }, + "properties": { + "identifier": { + "description": "Identifier of the permission or permission set.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } + ] + } + } + }, + { + "properties": { + "identifier": { + "description": "Identifier of the permission or permission set.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } + ] + }, + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope. This should be prioritized by validation logic.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + } + ], + "required": [ + "identifier" + ] + } + ] + }, + "Identifier": { + "description": "Permission identifier", + "oneOf": [ + { + "description": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`", + "type": "string", + "const": "core:default", + "markdownDescription": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`" + }, + { + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`", + "type": "string", + "const": "core:app:default", + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`" + }, + { + "description": "Enables the app_hide command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-app-hide", + "markdownDescription": "Enables the app_hide command without any pre-configured scope." + }, + { + "description": "Enables the app_show command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-app-show", + "markdownDescription": "Enables the app_show command without any pre-configured scope." + }, + { + "description": "Enables the bundle_type command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-bundle-type", + "markdownDescription": "Enables the bundle_type command without any pre-configured scope." + }, + { + "description": "Enables the default_window_icon command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-default-window-icon", + "markdownDescription": "Enables the default_window_icon command without any pre-configured scope." + }, + { + "description": "Enables the fetch_data_store_identifiers command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-fetch-data-store-identifiers", + "markdownDescription": "Enables the fetch_data_store_identifiers command without any pre-configured scope." + }, + { + "description": "Enables the identifier command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-identifier", + "markdownDescription": "Enables the identifier command without any pre-configured scope." + }, + { + "description": "Enables the name command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-name", + "markdownDescription": "Enables the name command without any pre-configured scope." + }, + { + "description": "Enables the register_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-register-listener", + "markdownDescription": "Enables the register_listener command without any pre-configured scope." + }, + { + "description": "Enables the remove_data_store command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-remove-data-store", + "markdownDescription": "Enables the remove_data_store command without any pre-configured scope." + }, + { + "description": "Enables the remove_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-remove-listener", + "markdownDescription": "Enables the remove_listener command without any pre-configured scope." + }, + { + "description": "Enables the set_app_theme command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-set-app-theme", + "markdownDescription": "Enables the set_app_theme command without any pre-configured scope." + }, + { + "description": "Enables the set_dock_visibility command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-set-dock-visibility", + "markdownDescription": "Enables the set_dock_visibility command without any pre-configured scope." + }, + { + "description": "Enables the tauri_version command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-tauri-version", + "markdownDescription": "Enables the tauri_version command without any pre-configured scope." + }, + { + "description": "Enables the version command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-version", + "markdownDescription": "Enables the version command without any pre-configured scope." + }, + { + "description": "Denies the app_hide command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-app-hide", + "markdownDescription": "Denies the app_hide command without any pre-configured scope." + }, + { + "description": "Denies the app_show command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-app-show", + "markdownDescription": "Denies the app_show command without any pre-configured scope." + }, + { + "description": "Denies the bundle_type command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-bundle-type", + "markdownDescription": "Denies the bundle_type command without any pre-configured scope." + }, + { + "description": "Denies the default_window_icon command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-default-window-icon", + "markdownDescription": "Denies the default_window_icon command without any pre-configured scope." + }, + { + "description": "Denies the fetch_data_store_identifiers command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-fetch-data-store-identifiers", + "markdownDescription": "Denies the fetch_data_store_identifiers command without any pre-configured scope." + }, + { + "description": "Denies the identifier command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-identifier", + "markdownDescription": "Denies the identifier command without any pre-configured scope." + }, + { + "description": "Denies the name command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-name", + "markdownDescription": "Denies the name command without any pre-configured scope." + }, + { + "description": "Denies the register_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-register-listener", + "markdownDescription": "Denies the register_listener command without any pre-configured scope." + }, + { + "description": "Denies the remove_data_store command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-remove-data-store", + "markdownDescription": "Denies the remove_data_store command without any pre-configured scope." + }, + { + "description": "Denies the remove_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-remove-listener", + "markdownDescription": "Denies the remove_listener command without any pre-configured scope." + }, + { + "description": "Denies the set_app_theme command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-set-app-theme", + "markdownDescription": "Denies the set_app_theme command without any pre-configured scope." + }, + { + "description": "Denies the set_dock_visibility command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-set-dock-visibility", + "markdownDescription": "Denies the set_dock_visibility command without any pre-configured scope." + }, + { + "description": "Denies the tauri_version command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-tauri-version", + "markdownDescription": "Denies the tauri_version command without any pre-configured scope." + }, + { + "description": "Denies the version command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-version", + "markdownDescription": "Denies the version command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`", + "type": "string", + "const": "core:event:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`" + }, + { + "description": "Enables the emit command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-emit", + "markdownDescription": "Enables the emit command without any pre-configured scope." + }, + { + "description": "Enables the emit_to command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-emit-to", + "markdownDescription": "Enables the emit_to command without any pre-configured scope." + }, + { + "description": "Enables the listen command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-listen", + "markdownDescription": "Enables the listen command without any pre-configured scope." + }, + { + "description": "Enables the unlisten command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-unlisten", + "markdownDescription": "Enables the unlisten command without any pre-configured scope." + }, + { + "description": "Denies the emit command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-emit", + "markdownDescription": "Denies the emit command without any pre-configured scope." + }, + { + "description": "Denies the emit_to command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-emit-to", + "markdownDescription": "Denies the emit_to command without any pre-configured scope." + }, + { + "description": "Denies the listen command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-listen", + "markdownDescription": "Denies the listen command without any pre-configured scope." + }, + { + "description": "Denies the unlisten command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-unlisten", + "markdownDescription": "Denies the unlisten command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`", + "type": "string", + "const": "core:image:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`" + }, + { + "description": "Enables the from_bytes command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-from-bytes", + "markdownDescription": "Enables the from_bytes command without any pre-configured scope." + }, + { + "description": "Enables the from_path command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-from-path", + "markdownDescription": "Enables the from_path command without any pre-configured scope." + }, + { + "description": "Enables the new command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-new", + "markdownDescription": "Enables the new command without any pre-configured scope." + }, + { + "description": "Enables the rgba command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-rgba", + "markdownDescription": "Enables the rgba command without any pre-configured scope." + }, + { + "description": "Enables the size command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-size", + "markdownDescription": "Enables the size command without any pre-configured scope." + }, + { + "description": "Denies the from_bytes command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-from-bytes", + "markdownDescription": "Denies the from_bytes command without any pre-configured scope." + }, + { + "description": "Denies the from_path command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-from-path", + "markdownDescription": "Denies the from_path command without any pre-configured scope." + }, + { + "description": "Denies the new command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-new", + "markdownDescription": "Denies the new command without any pre-configured scope." + }, + { + "description": "Denies the rgba command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-rgba", + "markdownDescription": "Denies the rgba command without any pre-configured scope." + }, + { + "description": "Denies the size command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-size", + "markdownDescription": "Denies the size command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`", + "type": "string", + "const": "core:menu:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`" + }, + { + "description": "Enables the append command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-append", + "markdownDescription": "Enables the append command without any pre-configured scope." + }, + { + "description": "Enables the create_default command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-create-default", + "markdownDescription": "Enables the create_default command without any pre-configured scope." + }, + { + "description": "Enables the get command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-get", + "markdownDescription": "Enables the get command without any pre-configured scope." + }, + { + "description": "Enables the insert command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-insert", + "markdownDescription": "Enables the insert command without any pre-configured scope." + }, + { + "description": "Enables the is_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-is-checked", + "markdownDescription": "Enables the is_checked command without any pre-configured scope." + }, + { + "description": "Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-is-enabled", + "markdownDescription": "Enables the is_enabled command without any pre-configured scope." + }, + { + "description": "Enables the items command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-items", + "markdownDescription": "Enables the items command without any pre-configured scope." + }, + { + "description": "Enables the new command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-new", + "markdownDescription": "Enables the new command without any pre-configured scope." + }, + { + "description": "Enables the popup command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-popup", + "markdownDescription": "Enables the popup command without any pre-configured scope." + }, + { + "description": "Enables the prepend command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-prepend", + "markdownDescription": "Enables the prepend command without any pre-configured scope." + }, + { + "description": "Enables the remove command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-remove", + "markdownDescription": "Enables the remove command without any pre-configured scope." + }, + { + "description": "Enables the remove_at command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-remove-at", + "markdownDescription": "Enables the remove_at command without any pre-configured scope." + }, + { + "description": "Enables the set_accelerator command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-accelerator", + "markdownDescription": "Enables the set_accelerator command without any pre-configured scope." + }, + { + "description": "Enables the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-app-menu", + "markdownDescription": "Enables the set_as_app_menu command without any pre-configured scope." + }, + { + "description": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-help-menu-for-nsapp", + "markdownDescription": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Enables the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-window-menu", + "markdownDescription": "Enables the set_as_window_menu command without any pre-configured scope." + }, + { + "description": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-windows-menu-for-nsapp", + "markdownDescription": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Enables the set_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-checked", + "markdownDescription": "Enables the set_checked command without any pre-configured scope." + }, + { + "description": "Enables the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-enabled", + "markdownDescription": "Enables the set_enabled command without any pre-configured scope." + }, + { + "description": "Enables the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-icon", + "markdownDescription": "Enables the set_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-text", + "markdownDescription": "Enables the set_text command without any pre-configured scope." + }, + { + "description": "Enables the text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-text", + "markdownDescription": "Enables the text command without any pre-configured scope." + }, + { + "description": "Denies the append command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-append", + "markdownDescription": "Denies the append command without any pre-configured scope." + }, + { + "description": "Denies the create_default command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-create-default", + "markdownDescription": "Denies the create_default command without any pre-configured scope." + }, + { + "description": "Denies the get command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-get", + "markdownDescription": "Denies the get command without any pre-configured scope." + }, + { + "description": "Denies the insert command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-insert", + "markdownDescription": "Denies the insert command without any pre-configured scope." + }, + { + "description": "Denies the is_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-is-checked", + "markdownDescription": "Denies the is_checked command without any pre-configured scope." + }, + { + "description": "Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-is-enabled", + "markdownDescription": "Denies the is_enabled command without any pre-configured scope." + }, + { + "description": "Denies the items command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-items", + "markdownDescription": "Denies the items command without any pre-configured scope." + }, + { + "description": "Denies the new command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-new", + "markdownDescription": "Denies the new command without any pre-configured scope." + }, + { + "description": "Denies the popup command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-popup", + "markdownDescription": "Denies the popup command without any pre-configured scope." + }, + { + "description": "Denies the prepend command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-prepend", + "markdownDescription": "Denies the prepend command without any pre-configured scope." + }, + { + "description": "Denies the remove command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-remove", + "markdownDescription": "Denies the remove command without any pre-configured scope." + }, + { + "description": "Denies the remove_at command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-remove-at", + "markdownDescription": "Denies the remove_at command without any pre-configured scope." + }, + { + "description": "Denies the set_accelerator command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-accelerator", + "markdownDescription": "Denies the set_accelerator command without any pre-configured scope." + }, + { + "description": "Denies the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-app-menu", + "markdownDescription": "Denies the set_as_app_menu command without any pre-configured scope." + }, + { + "description": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-help-menu-for-nsapp", + "markdownDescription": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Denies the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-window-menu", + "markdownDescription": "Denies the set_as_window_menu command without any pre-configured scope." + }, + { + "description": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-windows-menu-for-nsapp", + "markdownDescription": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Denies the set_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-checked", + "markdownDescription": "Denies the set_checked command without any pre-configured scope." + }, + { + "description": "Denies the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-enabled", + "markdownDescription": "Denies the set_enabled command without any pre-configured scope." + }, + { + "description": "Denies the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-icon", + "markdownDescription": "Denies the set_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-text", + "markdownDescription": "Denies the set_text command without any pre-configured scope." + }, + { + "description": "Denies the text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-text", + "markdownDescription": "Denies the text command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`", + "type": "string", + "const": "core:path:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`" + }, + { + "description": "Enables the basename command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-basename", + "markdownDescription": "Enables the basename command without any pre-configured scope." + }, + { + "description": "Enables the dirname command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-dirname", + "markdownDescription": "Enables the dirname command without any pre-configured scope." + }, + { + "description": "Enables the extname command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-extname", + "markdownDescription": "Enables the extname command without any pre-configured scope." + }, + { + "description": "Enables the is_absolute command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-is-absolute", + "markdownDescription": "Enables the is_absolute command without any pre-configured scope." + }, + { + "description": "Enables the join command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-join", + "markdownDescription": "Enables the join command without any pre-configured scope." + }, + { + "description": "Enables the normalize command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-normalize", + "markdownDescription": "Enables the normalize command without any pre-configured scope." + }, + { + "description": "Enables the resolve command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-resolve", + "markdownDescription": "Enables the resolve command without any pre-configured scope." + }, + { + "description": "Enables the resolve_directory command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-resolve-directory", + "markdownDescription": "Enables the resolve_directory command without any pre-configured scope." + }, + { + "description": "Denies the basename command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-basename", + "markdownDescription": "Denies the basename command without any pre-configured scope." + }, + { + "description": "Denies the dirname command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-dirname", + "markdownDescription": "Denies the dirname command without any pre-configured scope." + }, + { + "description": "Denies the extname command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-extname", + "markdownDescription": "Denies the extname command without any pre-configured scope." + }, + { + "description": "Denies the is_absolute command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-is-absolute", + "markdownDescription": "Denies the is_absolute command without any pre-configured scope." + }, + { + "description": "Denies the join command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-join", + "markdownDescription": "Denies the join command without any pre-configured scope." + }, + { + "description": "Denies the normalize command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-normalize", + "markdownDescription": "Denies the normalize command without any pre-configured scope." + }, + { + "description": "Denies the resolve command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-resolve", + "markdownDescription": "Denies the resolve command without any pre-configured scope." + }, + { + "description": "Denies the resolve_directory command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-resolve-directory", + "markdownDescription": "Denies the resolve_directory command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`", + "type": "string", + "const": "core:resources:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`" + }, + { + "description": "Enables the close command without any pre-configured scope.", + "type": "string", + "const": "core:resources:allow-close", + "markdownDescription": "Enables the close command without any pre-configured scope." + }, + { + "description": "Denies the close command without any pre-configured scope.", + "type": "string", + "const": "core:resources:deny-close", + "markdownDescription": "Denies the close command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-show-menu-on-left-click`", + "type": "string", + "const": "core:tray:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-show-menu-on-left-click`" + }, + { + "description": "Enables the get_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-get-by-id", + "markdownDescription": "Enables the get_by_id command without any pre-configured scope." + }, + { + "description": "Enables the new command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-new", + "markdownDescription": "Enables the new command without any pre-configured scope." + }, + { + "description": "Enables the remove_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-remove-by-id", + "markdownDescription": "Enables the remove_by_id command without any pre-configured scope." + }, + { + "description": "Enables the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-icon", + "markdownDescription": "Enables the set_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-icon-as-template", + "markdownDescription": "Enables the set_icon_as_template command without any pre-configured scope." + }, + { + "description": "Enables the set_menu command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-menu", + "markdownDescription": "Enables the set_menu command without any pre-configured scope." + }, + { + "description": "Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-show-menu-on-left-click", + "markdownDescription": "Enables the set_show_menu_on_left_click command without any pre-configured scope." + }, + { + "description": "Enables the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-temp-dir-path", + "markdownDescription": "Enables the set_temp_dir_path command without any pre-configured scope." + }, + { + "description": "Enables the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-title", + "markdownDescription": "Enables the set_title command without any pre-configured scope." + }, + { + "description": "Enables the set_tooltip command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-tooltip", + "markdownDescription": "Enables the set_tooltip command without any pre-configured scope." + }, + { + "description": "Enables the set_visible command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-visible", + "markdownDescription": "Enables the set_visible command without any pre-configured scope." + }, + { + "description": "Denies the get_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-get-by-id", + "markdownDescription": "Denies the get_by_id command without any pre-configured scope." + }, + { + "description": "Denies the new command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-new", + "markdownDescription": "Denies the new command without any pre-configured scope." + }, + { + "description": "Denies the remove_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-remove-by-id", + "markdownDescription": "Denies the remove_by_id command without any pre-configured scope." + }, + { + "description": "Denies the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-icon", + "markdownDescription": "Denies the set_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-icon-as-template", + "markdownDescription": "Denies the set_icon_as_template command without any pre-configured scope." + }, + { + "description": "Denies the set_menu command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-menu", + "markdownDescription": "Denies the set_menu command without any pre-configured scope." + }, + { + "description": "Denies the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-show-menu-on-left-click", + "markdownDescription": "Denies the set_show_menu_on_left_click command without any pre-configured scope." + }, + { + "description": "Denies the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-temp-dir-path", + "markdownDescription": "Denies the set_temp_dir_path command without any pre-configured scope." + }, + { + "description": "Denies the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-title", + "markdownDescription": "Denies the set_title command without any pre-configured scope." + }, + { + "description": "Denies the set_tooltip command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-tooltip", + "markdownDescription": "Denies the set_tooltip command without any pre-configured scope." + }, + { + "description": "Denies the set_visible command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-visible", + "markdownDescription": "Denies the set_visible command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`", + "type": "string", + "const": "core:webview:default", + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`" + }, + { + "description": "Enables the clear_all_browsing_data command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-clear-all-browsing-data", + "markdownDescription": "Enables the clear_all_browsing_data command without any pre-configured scope." + }, + { + "description": "Enables the create_webview command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-create-webview", + "markdownDescription": "Enables the create_webview command without any pre-configured scope." + }, + { + "description": "Enables the create_webview_window command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-create-webview-window", + "markdownDescription": "Enables the create_webview_window command without any pre-configured scope." + }, + { + "description": "Enables the get_all_webviews command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-get-all-webviews", + "markdownDescription": "Enables the get_all_webviews command without any pre-configured scope." + }, + { + "description": "Enables the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-internal-toggle-devtools", + "markdownDescription": "Enables the internal_toggle_devtools command without any pre-configured scope." + }, + { + "description": "Enables the print command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-print", + "markdownDescription": "Enables the print command without any pre-configured scope." + }, + { + "description": "Enables the reparent command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-reparent", + "markdownDescription": "Enables the reparent command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_auto_resize command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-auto-resize", + "markdownDescription": "Enables the set_webview_auto_resize command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-background-color", + "markdownDescription": "Enables the set_webview_background_color command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_focus command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-focus", + "markdownDescription": "Enables the set_webview_focus command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-position", + "markdownDescription": "Enables the set_webview_position command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-size", + "markdownDescription": "Enables the set_webview_size command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_zoom command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-zoom", + "markdownDescription": "Enables the set_webview_zoom command without any pre-configured scope." + }, + { + "description": "Enables the webview_close command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-close", + "markdownDescription": "Enables the webview_close command without any pre-configured scope." + }, + { + "description": "Enables the webview_hide command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-hide", + "markdownDescription": "Enables the webview_hide command without any pre-configured scope." + }, + { + "description": "Enables the webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-position", + "markdownDescription": "Enables the webview_position command without any pre-configured scope." + }, + { + "description": "Enables the webview_show command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-show", + "markdownDescription": "Enables the webview_show command without any pre-configured scope." + }, + { + "description": "Enables the webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-size", + "markdownDescription": "Enables the webview_size command without any pre-configured scope." + }, + { + "description": "Denies the clear_all_browsing_data command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-clear-all-browsing-data", + "markdownDescription": "Denies the clear_all_browsing_data command without any pre-configured scope." + }, + { + "description": "Denies the create_webview command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-create-webview", + "markdownDescription": "Denies the create_webview command without any pre-configured scope." + }, + { + "description": "Denies the create_webview_window command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-create-webview-window", + "markdownDescription": "Denies the create_webview_window command without any pre-configured scope." + }, + { + "description": "Denies the get_all_webviews command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-get-all-webviews", + "markdownDescription": "Denies the get_all_webviews command without any pre-configured scope." + }, + { + "description": "Denies the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-internal-toggle-devtools", + "markdownDescription": "Denies the internal_toggle_devtools command without any pre-configured scope." + }, + { + "description": "Denies the print command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-print", + "markdownDescription": "Denies the print command without any pre-configured scope." + }, + { + "description": "Denies the reparent command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-reparent", + "markdownDescription": "Denies the reparent command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_auto_resize command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-auto-resize", + "markdownDescription": "Denies the set_webview_auto_resize command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-background-color", + "markdownDescription": "Denies the set_webview_background_color command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_focus command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-focus", + "markdownDescription": "Denies the set_webview_focus command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-position", + "markdownDescription": "Denies the set_webview_position command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-size", + "markdownDescription": "Denies the set_webview_size command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_zoom command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-zoom", + "markdownDescription": "Denies the set_webview_zoom command without any pre-configured scope." + }, + { + "description": "Denies the webview_close command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-close", + "markdownDescription": "Denies the webview_close command without any pre-configured scope." + }, + { + "description": "Denies the webview_hide command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-hide", + "markdownDescription": "Denies the webview_hide command without any pre-configured scope." + }, + { + "description": "Denies the webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-position", + "markdownDescription": "Denies the webview_position command without any pre-configured scope." + }, + { + "description": "Denies the webview_show command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-show", + "markdownDescription": "Denies the webview_show command without any pre-configured scope." + }, + { + "description": "Denies the webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-size", + "markdownDescription": "Denies the webview_size command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-internal-toggle-maximize`", + "type": "string", + "const": "core:window:default", + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-internal-toggle-maximize`" + }, + { + "description": "Enables the available_monitors command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-available-monitors", + "markdownDescription": "Enables the available_monitors command without any pre-configured scope." + }, + { + "description": "Enables the center command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-center", + "markdownDescription": "Enables the center command without any pre-configured scope." + }, + { + "description": "Enables the close command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-close", + "markdownDescription": "Enables the close command without any pre-configured scope." + }, + { + "description": "Enables the create command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-create", + "markdownDescription": "Enables the create command without any pre-configured scope." + }, + { + "description": "Enables the current_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-current-monitor", + "markdownDescription": "Enables the current_monitor command without any pre-configured scope." + }, + { + "description": "Enables the cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-cursor-position", + "markdownDescription": "Enables the cursor_position command without any pre-configured scope." + }, + { + "description": "Enables the destroy command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-destroy", + "markdownDescription": "Enables the destroy command without any pre-configured scope." + }, + { + "description": "Enables the get_all_windows command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-get-all-windows", + "markdownDescription": "Enables the get_all_windows command without any pre-configured scope." + }, + { + "description": "Enables the hide command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-hide", + "markdownDescription": "Enables the hide command without any pre-configured scope." + }, + { + "description": "Enables the inner_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-inner-position", + "markdownDescription": "Enables the inner_position command without any pre-configured scope." + }, + { + "description": "Enables the inner_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-inner-size", + "markdownDescription": "Enables the inner_size command without any pre-configured scope." + }, + { + "description": "Enables the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-internal-toggle-maximize", + "markdownDescription": "Enables the internal_toggle_maximize command without any pre-configured scope." + }, + { + "description": "Enables the is_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-always-on-top", + "markdownDescription": "Enables the is_always_on_top command without any pre-configured scope." + }, + { + "description": "Enables the is_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-closable", + "markdownDescription": "Enables the is_closable command without any pre-configured scope." + }, + { + "description": "Enables the is_decorated command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-decorated", + "markdownDescription": "Enables the is_decorated command without any pre-configured scope." + }, + { + "description": "Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-enabled", + "markdownDescription": "Enables the is_enabled command without any pre-configured scope." + }, + { + "description": "Enables the is_focused command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-focused", + "markdownDescription": "Enables the is_focused command without any pre-configured scope." + }, + { + "description": "Enables the is_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-fullscreen", + "markdownDescription": "Enables the is_fullscreen command without any pre-configured scope." + }, + { + "description": "Enables the is_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-maximizable", + "markdownDescription": "Enables the is_maximizable command without any pre-configured scope." + }, + { + "description": "Enables the is_maximized command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-maximized", + "markdownDescription": "Enables the is_maximized command without any pre-configured scope." + }, + { + "description": "Enables the is_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-minimizable", + "markdownDescription": "Enables the is_minimizable command without any pre-configured scope." + }, + { + "description": "Enables the is_minimized command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-minimized", + "markdownDescription": "Enables the is_minimized command without any pre-configured scope." + }, + { + "description": "Enables the is_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-resizable", + "markdownDescription": "Enables the is_resizable command without any pre-configured scope." + }, + { + "description": "Enables the is_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-visible", + "markdownDescription": "Enables the is_visible command without any pre-configured scope." + }, + { + "description": "Enables the maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-maximize", + "markdownDescription": "Enables the maximize command without any pre-configured scope." + }, + { + "description": "Enables the minimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-minimize", + "markdownDescription": "Enables the minimize command without any pre-configured scope." + }, + { + "description": "Enables the monitor_from_point command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-monitor-from-point", + "markdownDescription": "Enables the monitor_from_point command without any pre-configured scope." + }, + { + "description": "Enables the outer_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-outer-position", + "markdownDescription": "Enables the outer_position command without any pre-configured scope." + }, + { + "description": "Enables the outer_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-outer-size", + "markdownDescription": "Enables the outer_size command without any pre-configured scope." + }, + { + "description": "Enables the primary_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-primary-monitor", + "markdownDescription": "Enables the primary_monitor command without any pre-configured scope." + }, + { + "description": "Enables the request_user_attention command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-request-user-attention", + "markdownDescription": "Enables the request_user_attention command without any pre-configured scope." + }, + { + "description": "Enables the scale_factor command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-scale-factor", + "markdownDescription": "Enables the scale_factor command without any pre-configured scope." + }, + { + "description": "Enables the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-always-on-bottom", + "markdownDescription": "Enables the set_always_on_bottom command without any pre-configured scope." + }, + { + "description": "Enables the set_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-always-on-top", + "markdownDescription": "Enables the set_always_on_top command without any pre-configured scope." + }, + { + "description": "Enables the set_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-background-color", + "markdownDescription": "Enables the set_background_color command without any pre-configured scope." + }, + { + "description": "Enables the set_badge_count command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-badge-count", + "markdownDescription": "Enables the set_badge_count command without any pre-configured scope." + }, + { + "description": "Enables the set_badge_label command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-badge-label", + "markdownDescription": "Enables the set_badge_label command without any pre-configured scope." + }, + { + "description": "Enables the set_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-closable", + "markdownDescription": "Enables the set_closable command without any pre-configured scope." + }, + { + "description": "Enables the set_content_protected command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-content-protected", + "markdownDescription": "Enables the set_content_protected command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-grab", + "markdownDescription": "Enables the set_cursor_grab command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-icon", + "markdownDescription": "Enables the set_cursor_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-position", + "markdownDescription": "Enables the set_cursor_position command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-visible", + "markdownDescription": "Enables the set_cursor_visible command without any pre-configured scope." + }, + { + "description": "Enables the set_decorations command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-decorations", + "markdownDescription": "Enables the set_decorations command without any pre-configured scope." + }, + { + "description": "Enables the set_effects command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-effects", + "markdownDescription": "Enables the set_effects command without any pre-configured scope." + }, + { + "description": "Enables the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-enabled", + "markdownDescription": "Enables the set_enabled command without any pre-configured scope." + }, + { + "description": "Enables the set_focus command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-focus", + "markdownDescription": "Enables the set_focus command without any pre-configured scope." + }, + { + "description": "Enables the set_focusable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-focusable", + "markdownDescription": "Enables the set_focusable command without any pre-configured scope." + }, + { + "description": "Enables the set_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-fullscreen", + "markdownDescription": "Enables the set_fullscreen command without any pre-configured scope." + }, + { + "description": "Enables the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-icon", + "markdownDescription": "Enables the set_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-ignore-cursor-events", + "markdownDescription": "Enables the set_ignore_cursor_events command without any pre-configured scope." + }, + { + "description": "Enables the set_max_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-max-size", + "markdownDescription": "Enables the set_max_size command without any pre-configured scope." + }, + { + "description": "Enables the set_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-maximizable", + "markdownDescription": "Enables the set_maximizable command without any pre-configured scope." + }, + { + "description": "Enables the set_min_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-min-size", + "markdownDescription": "Enables the set_min_size command without any pre-configured scope." + }, + { + "description": "Enables the set_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-minimizable", + "markdownDescription": "Enables the set_minimizable command without any pre-configured scope." + }, + { + "description": "Enables the set_overlay_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-overlay-icon", + "markdownDescription": "Enables the set_overlay_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-position", + "markdownDescription": "Enables the set_position command without any pre-configured scope." + }, + { + "description": "Enables the set_progress_bar command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-progress-bar", + "markdownDescription": "Enables the set_progress_bar command without any pre-configured scope." + }, + { + "description": "Enables the set_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-resizable", + "markdownDescription": "Enables the set_resizable command without any pre-configured scope." + }, + { + "description": "Enables the set_shadow command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-shadow", + "markdownDescription": "Enables the set_shadow command without any pre-configured scope." + }, + { + "description": "Enables the set_simple_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-simple-fullscreen", + "markdownDescription": "Enables the set_simple_fullscreen command without any pre-configured scope." + }, + { + "description": "Enables the set_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-size", + "markdownDescription": "Enables the set_size command without any pre-configured scope." + }, + { + "description": "Enables the set_size_constraints command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-size-constraints", + "markdownDescription": "Enables the set_size_constraints command without any pre-configured scope." + }, + { + "description": "Enables the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-skip-taskbar", + "markdownDescription": "Enables the set_skip_taskbar command without any pre-configured scope." + }, + { + "description": "Enables the set_theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-theme", + "markdownDescription": "Enables the set_theme command without any pre-configured scope." + }, + { + "description": "Enables the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-title", + "markdownDescription": "Enables the set_title command without any pre-configured scope." + }, + { + "description": "Enables the set_title_bar_style command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-title-bar-style", + "markdownDescription": "Enables the set_title_bar_style command without any pre-configured scope." + }, + { + "description": "Enables the set_visible_on_all_workspaces command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-visible-on-all-workspaces", + "markdownDescription": "Enables the set_visible_on_all_workspaces command without any pre-configured scope." + }, + { + "description": "Enables the show command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-show", + "markdownDescription": "Enables the show command without any pre-configured scope." + }, + { + "description": "Enables the start_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-start-dragging", + "markdownDescription": "Enables the start_dragging command without any pre-configured scope." + }, + { + "description": "Enables the start_resize_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-start-resize-dragging", + "markdownDescription": "Enables the start_resize_dragging command without any pre-configured scope." + }, + { + "description": "Enables the theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-theme", + "markdownDescription": "Enables the theme command without any pre-configured scope." + }, + { + "description": "Enables the title command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-title", + "markdownDescription": "Enables the title command without any pre-configured scope." + }, + { + "description": "Enables the toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-toggle-maximize", + "markdownDescription": "Enables the toggle_maximize command without any pre-configured scope." + }, + { + "description": "Enables the unmaximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-unmaximize", + "markdownDescription": "Enables the unmaximize command without any pre-configured scope." + }, + { + "description": "Enables the unminimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-unminimize", + "markdownDescription": "Enables the unminimize command without any pre-configured scope." + }, + { + "description": "Denies the available_monitors command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-available-monitors", + "markdownDescription": "Denies the available_monitors command without any pre-configured scope." + }, + { + "description": "Denies the center command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-center", + "markdownDescription": "Denies the center command without any pre-configured scope." + }, + { + "description": "Denies the close command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-close", + "markdownDescription": "Denies the close command without any pre-configured scope." + }, + { + "description": "Denies the create command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-create", + "markdownDescription": "Denies the create command without any pre-configured scope." + }, + { + "description": "Denies the current_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-current-monitor", + "markdownDescription": "Denies the current_monitor command without any pre-configured scope." + }, + { + "description": "Denies the cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-cursor-position", + "markdownDescription": "Denies the cursor_position command without any pre-configured scope." + }, + { + "description": "Denies the destroy command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-destroy", + "markdownDescription": "Denies the destroy command without any pre-configured scope." + }, + { + "description": "Denies the get_all_windows command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-get-all-windows", + "markdownDescription": "Denies the get_all_windows command without any pre-configured scope." + }, + { + "description": "Denies the hide command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-hide", + "markdownDescription": "Denies the hide command without any pre-configured scope." + }, + { + "description": "Denies the inner_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-inner-position", + "markdownDescription": "Denies the inner_position command without any pre-configured scope." + }, + { + "description": "Denies the inner_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-inner-size", + "markdownDescription": "Denies the inner_size command without any pre-configured scope." + }, + { + "description": "Denies the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-internal-toggle-maximize", + "markdownDescription": "Denies the internal_toggle_maximize command without any pre-configured scope." + }, + { + "description": "Denies the is_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-always-on-top", + "markdownDescription": "Denies the is_always_on_top command without any pre-configured scope." + }, + { + "description": "Denies the is_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-closable", + "markdownDescription": "Denies the is_closable command without any pre-configured scope." + }, + { + "description": "Denies the is_decorated command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-decorated", + "markdownDescription": "Denies the is_decorated command without any pre-configured scope." + }, + { + "description": "Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-enabled", + "markdownDescription": "Denies the is_enabled command without any pre-configured scope." + }, + { + "description": "Denies the is_focused command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-focused", + "markdownDescription": "Denies the is_focused command without any pre-configured scope." + }, + { + "description": "Denies the is_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-fullscreen", + "markdownDescription": "Denies the is_fullscreen command without any pre-configured scope." + }, + { + "description": "Denies the is_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-maximizable", + "markdownDescription": "Denies the is_maximizable command without any pre-configured scope." + }, + { + "description": "Denies the is_maximized command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-maximized", + "markdownDescription": "Denies the is_maximized command without any pre-configured scope." + }, + { + "description": "Denies the is_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-minimizable", + "markdownDescription": "Denies the is_minimizable command without any pre-configured scope." + }, + { + "description": "Denies the is_minimized command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-minimized", + "markdownDescription": "Denies the is_minimized command without any pre-configured scope." + }, + { + "description": "Denies the is_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-resizable", + "markdownDescription": "Denies the is_resizable command without any pre-configured scope." + }, + { + "description": "Denies the is_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-visible", + "markdownDescription": "Denies the is_visible command without any pre-configured scope." + }, + { + "description": "Denies the maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-maximize", + "markdownDescription": "Denies the maximize command without any pre-configured scope." + }, + { + "description": "Denies the minimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-minimize", + "markdownDescription": "Denies the minimize command without any pre-configured scope." + }, + { + "description": "Denies the monitor_from_point command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-monitor-from-point", + "markdownDescription": "Denies the monitor_from_point command without any pre-configured scope." + }, + { + "description": "Denies the outer_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-outer-position", + "markdownDescription": "Denies the outer_position command without any pre-configured scope." + }, + { + "description": "Denies the outer_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-outer-size", + "markdownDescription": "Denies the outer_size command without any pre-configured scope." + }, + { + "description": "Denies the primary_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-primary-monitor", + "markdownDescription": "Denies the primary_monitor command without any pre-configured scope." + }, + { + "description": "Denies the request_user_attention command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-request-user-attention", + "markdownDescription": "Denies the request_user_attention command without any pre-configured scope." + }, + { + "description": "Denies the scale_factor command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-scale-factor", + "markdownDescription": "Denies the scale_factor command without any pre-configured scope." + }, + { + "description": "Denies the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-always-on-bottom", + "markdownDescription": "Denies the set_always_on_bottom command without any pre-configured scope." + }, + { + "description": "Denies the set_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-always-on-top", + "markdownDescription": "Denies the set_always_on_top command without any pre-configured scope." + }, + { + "description": "Denies the set_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-background-color", + "markdownDescription": "Denies the set_background_color command without any pre-configured scope." + }, + { + "description": "Denies the set_badge_count command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-badge-count", + "markdownDescription": "Denies the set_badge_count command without any pre-configured scope." + }, + { + "description": "Denies the set_badge_label command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-badge-label", + "markdownDescription": "Denies the set_badge_label command without any pre-configured scope." + }, + { + "description": "Denies the set_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-closable", + "markdownDescription": "Denies the set_closable command without any pre-configured scope." + }, + { + "description": "Denies the set_content_protected command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-content-protected", + "markdownDescription": "Denies the set_content_protected command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-grab", + "markdownDescription": "Denies the set_cursor_grab command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-icon", + "markdownDescription": "Denies the set_cursor_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-position", + "markdownDescription": "Denies the set_cursor_position command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-visible", + "markdownDescription": "Denies the set_cursor_visible command without any pre-configured scope." + }, + { + "description": "Denies the set_decorations command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-decorations", + "markdownDescription": "Denies the set_decorations command without any pre-configured scope." + }, + { + "description": "Denies the set_effects command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-effects", + "markdownDescription": "Denies the set_effects command without any pre-configured scope." + }, + { + "description": "Denies the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-enabled", + "markdownDescription": "Denies the set_enabled command without any pre-configured scope." + }, + { + "description": "Denies the set_focus command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-focus", + "markdownDescription": "Denies the set_focus command without any pre-configured scope." + }, + { + "description": "Denies the set_focusable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-focusable", + "markdownDescription": "Denies the set_focusable command without any pre-configured scope." + }, + { + "description": "Denies the set_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-fullscreen", + "markdownDescription": "Denies the set_fullscreen command without any pre-configured scope." + }, + { + "description": "Denies the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-icon", + "markdownDescription": "Denies the set_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-ignore-cursor-events", + "markdownDescription": "Denies the set_ignore_cursor_events command without any pre-configured scope." + }, + { + "description": "Denies the set_max_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-max-size", + "markdownDescription": "Denies the set_max_size command without any pre-configured scope." + }, + { + "description": "Denies the set_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-maximizable", + "markdownDescription": "Denies the set_maximizable command without any pre-configured scope." + }, + { + "description": "Denies the set_min_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-min-size", + "markdownDescription": "Denies the set_min_size command without any pre-configured scope." + }, + { + "description": "Denies the set_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-minimizable", + "markdownDescription": "Denies the set_minimizable command without any pre-configured scope." + }, + { + "description": "Denies the set_overlay_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-overlay-icon", + "markdownDescription": "Denies the set_overlay_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-position", + "markdownDescription": "Denies the set_position command without any pre-configured scope." + }, + { + "description": "Denies the set_progress_bar command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-progress-bar", + "markdownDescription": "Denies the set_progress_bar command without any pre-configured scope." + }, + { + "description": "Denies the set_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-resizable", + "markdownDescription": "Denies the set_resizable command without any pre-configured scope." + }, + { + "description": "Denies the set_shadow command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-shadow", + "markdownDescription": "Denies the set_shadow command without any pre-configured scope." + }, + { + "description": "Denies the set_simple_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-simple-fullscreen", + "markdownDescription": "Denies the set_simple_fullscreen command without any pre-configured scope." + }, + { + "description": "Denies the set_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-size", + "markdownDescription": "Denies the set_size command without any pre-configured scope." + }, + { + "description": "Denies the set_size_constraints command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-size-constraints", + "markdownDescription": "Denies the set_size_constraints command without any pre-configured scope." + }, + { + "description": "Denies the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-skip-taskbar", + "markdownDescription": "Denies the set_skip_taskbar command without any pre-configured scope." + }, + { + "description": "Denies the set_theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-theme", + "markdownDescription": "Denies the set_theme command without any pre-configured scope." + }, + { + "description": "Denies the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-title", + "markdownDescription": "Denies the set_title command without any pre-configured scope." + }, + { + "description": "Denies the set_title_bar_style command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-title-bar-style", + "markdownDescription": "Denies the set_title_bar_style command without any pre-configured scope." + }, + { + "description": "Denies the set_visible_on_all_workspaces command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-visible-on-all-workspaces", + "markdownDescription": "Denies the set_visible_on_all_workspaces command without any pre-configured scope." + }, + { + "description": "Denies the show command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-show", + "markdownDescription": "Denies the show command without any pre-configured scope." + }, + { + "description": "Denies the start_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-start-dragging", + "markdownDescription": "Denies the start_dragging command without any pre-configured scope." + }, + { + "description": "Denies the start_resize_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-start-resize-dragging", + "markdownDescription": "Denies the start_resize_dragging command without any pre-configured scope." + }, + { + "description": "Denies the theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-theme", + "markdownDescription": "Denies the theme command without any pre-configured scope." + }, + { + "description": "Denies the title command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-title", + "markdownDescription": "Denies the title command without any pre-configured scope." + }, + { + "description": "Denies the toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-toggle-maximize", + "markdownDescription": "Denies the toggle_maximize command without any pre-configured scope." + }, + { + "description": "Denies the unmaximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-unmaximize", + "markdownDescription": "Denies the unmaximize command without any pre-configured scope." + }, + { + "description": "Denies the unminimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-unminimize", + "markdownDescription": "Denies the unminimize command without any pre-configured scope." + }, + { + "description": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`", + "type": "string", + "const": "http:default", + "markdownDescription": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`" + }, + { + "description": "Enables the fetch command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch", + "markdownDescription": "Enables the fetch command without any pre-configured scope." + }, + { + "description": "Enables the fetch_cancel command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-cancel", + "markdownDescription": "Enables the fetch_cancel command without any pre-configured scope." + }, + { + "description": "Enables the fetch_cancel_body command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-cancel-body", + "markdownDescription": "Enables the fetch_cancel_body command without any pre-configured scope." + }, + { + "description": "Enables the fetch_read_body command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-read-body", + "markdownDescription": "Enables the fetch_read_body command without any pre-configured scope." + }, + { + "description": "Enables the fetch_send command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-send", + "markdownDescription": "Enables the fetch_send command without any pre-configured scope." + }, + { + "description": "Denies the fetch command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch", + "markdownDescription": "Denies the fetch command without any pre-configured scope." + }, + { + "description": "Denies the fetch_cancel command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-cancel", + "markdownDescription": "Denies the fetch_cancel command without any pre-configured scope." + }, + { + "description": "Denies the fetch_cancel_body command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-cancel-body", + "markdownDescription": "Denies the fetch_cancel_body command without any pre-configured scope." + }, + { + "description": "Denies the fetch_read_body command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-read-body", + "markdownDescription": "Denies the fetch_read_body command without any pre-configured scope." + }, + { + "description": "Denies the fetch_send command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-send", + "markdownDescription": "Denies the fetch_send command without any pre-configured scope." + }, + { + "description": "This permission set configures which\nprocess features are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n\n#### This default permission set includes:\n\n- `allow-exit`\n- `allow-restart`", + "type": "string", + "const": "process:default", + "markdownDescription": "This permission set configures which\nprocess features are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n\n#### This default permission set includes:\n\n- `allow-exit`\n- `allow-restart`" + }, + { + "description": "Enables the exit command without any pre-configured scope.", + "type": "string", + "const": "process:allow-exit", + "markdownDescription": "Enables the exit command without any pre-configured scope." + }, + { + "description": "Enables the restart command without any pre-configured scope.", + "type": "string", + "const": "process:allow-restart", + "markdownDescription": "Enables the restart command without any pre-configured scope." + }, + { + "description": "Denies the exit command without any pre-configured scope.", + "type": "string", + "const": "process:deny-exit", + "markdownDescription": "Denies the exit command without any pre-configured scope." + }, + { + "description": "Denies the restart command without any pre-configured scope.", + "type": "string", + "const": "process:deny-restart", + "markdownDescription": "Denies the restart command without any pre-configured scope." + }, + { + "description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n\n#### This default permission set includes:\n\n- `allow-open`", + "type": "string", + "const": "shell:default", + "markdownDescription": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n\n#### This default permission set includes:\n\n- `allow-open`" + }, + { + "description": "Enables the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-execute", + "markdownDescription": "Enables the execute command without any pre-configured scope." + }, + { + "description": "Enables the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-kill", + "markdownDescription": "Enables the kill command without any pre-configured scope." + }, + { + "description": "Enables the open command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-open", + "markdownDescription": "Enables the open command without any pre-configured scope." + }, + { + "description": "Enables the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-spawn", + "markdownDescription": "Enables the spawn command without any pre-configured scope." + }, + { + "description": "Enables the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-stdin-write", + "markdownDescription": "Enables the stdin_write command without any pre-configured scope." + }, + { + "description": "Denies the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-execute", + "markdownDescription": "Denies the execute command without any pre-configured scope." + }, + { + "description": "Denies the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-kill", + "markdownDescription": "Denies the kill command without any pre-configured scope." + }, + { + "description": "Denies the open command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-open", + "markdownDescription": "Denies the open command without any pre-configured scope." + }, + { + "description": "Denies the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-spawn", + "markdownDescription": "Denies the spawn command without any pre-configured scope." + }, + { + "description": "Denies the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-stdin-write", + "markdownDescription": "Denies the stdin_write command without any pre-configured scope." + }, + { + "description": "This permission set configures which kind of\nupdater functions are exposed to the frontend.\n\n#### Granted Permissions\n\nThe full workflow from checking for updates to installing them\nis enabled.\n\n\n#### This default permission set includes:\n\n- `allow-check`\n- `allow-download`\n- `allow-install`\n- `allow-download-and-install`", + "type": "string", + "const": "updater:default", + "markdownDescription": "This permission set configures which kind of\nupdater functions are exposed to the frontend.\n\n#### Granted Permissions\n\nThe full workflow from checking for updates to installing them\nis enabled.\n\n\n#### This default permission set includes:\n\n- `allow-check`\n- `allow-download`\n- `allow-install`\n- `allow-download-and-install`" + }, + { + "description": "Enables the check command without any pre-configured scope.", + "type": "string", + "const": "updater:allow-check", + "markdownDescription": "Enables the check command without any pre-configured scope." + }, + { + "description": "Enables the download command without any pre-configured scope.", + "type": "string", + "const": "updater:allow-download", + "markdownDescription": "Enables the download command without any pre-configured scope." + }, + { + "description": "Enables the download_and_install command without any pre-configured scope.", + "type": "string", + "const": "updater:allow-download-and-install", + "markdownDescription": "Enables the download_and_install command without any pre-configured scope." + }, + { + "description": "Enables the install command without any pre-configured scope.", + "type": "string", + "const": "updater:allow-install", + "markdownDescription": "Enables the install command without any pre-configured scope." + }, + { + "description": "Denies the check command without any pre-configured scope.", + "type": "string", + "const": "updater:deny-check", + "markdownDescription": "Denies the check command without any pre-configured scope." + }, + { + "description": "Denies the download command without any pre-configured scope.", + "type": "string", + "const": "updater:deny-download", + "markdownDescription": "Denies the download command without any pre-configured scope." + }, + { + "description": "Denies the download_and_install command without any pre-configured scope.", + "type": "string", + "const": "updater:deny-download-and-install", + "markdownDescription": "Denies the download_and_install command without any pre-configured scope." + }, + { + "description": "Denies the install command without any pre-configured scope.", + "type": "string", + "const": "updater:deny-install", + "markdownDescription": "Denies the install command without any pre-configured scope." + } + ] + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a null JSON value.", + "type": "null" + }, + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Target": { + "description": "Platform target.", + "oneOf": [ + { + "description": "MacOS.", + "type": "string", + "enum": [ + "macOS" + ] + }, + { + "description": "Windows.", + "type": "string", + "enum": [ + "windows" + ] + }, + { + "description": "Linux.", + "type": "string", + "enum": [ + "linux" + ] + }, + { + "description": "Android.", + "type": "string", + "enum": [ + "android" + ] + }, + { + "description": "iOS.", + "type": "string", + "enum": [ + "iOS" + ] + } + ] + }, + "ShellScopeEntryAllowedArg": { + "description": "A command argument allowed to be executed by the webview API.", + "anyOf": [ + { + "description": "A non-configurable argument that is passed to the command in the order it was specified.", + "type": "string" + }, + { + "description": "A variable that is set while calling the command from the webview API.", + "type": "object", + "required": [ + "validator" + ], + "properties": { + "raw": { + "description": "Marks the validator as a raw regex, meaning the plugin should not make any modification at runtime.\n\nThis means the regex will not match on the entire string by default, which might be exploited if your regex allow unexpected input to be considered valid. When using this option, make sure your regex is correct.", + "default": false, + "type": "boolean" + }, + "validator": { + "description": "[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\nThe regex string is by default surrounded by `^...$` to match the full string. For example the `https?://\\w+` regex would be registered as `^https?://\\w+$`.\n\n[regex]: ", + "type": "string" + } + }, + "additionalProperties": false + } + ] + }, + "ShellScopeEntryAllowedArgs": { + "description": "A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellScopeEntryAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration.", + "anyOf": [ + { + "description": "Use a simple boolean to allow all or disable all arguments to this command configuration.", + "type": "boolean" + }, + { + "description": "A specific set of [`ShellScopeEntryAllowedArg`] that are valid to call for the command configuration.", + "type": "array", + "items": { + "$ref": "#/definitions/ShellScopeEntryAllowedArg" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src-tauri/gen/schemas/windows-schema.json b/src-tauri/gen/schemas/windows-schema.json new file mode 100644 index 0000000..2949dec --- /dev/null +++ b/src-tauri/gen/schemas/windows-schema.json @@ -0,0 +1,2852 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "CapabilityFile", + "description": "Capability formats accepted in a capability file.", + "anyOf": [ + { + "description": "A single capability.", + "allOf": [ + { + "$ref": "#/definitions/Capability" + } + ] + }, + { + "description": "A list of capabilities.", + "type": "array", + "items": { + "$ref": "#/definitions/Capability" + } + }, + { + "description": "A list of capabilities.", + "type": "object", + "required": [ + "capabilities" + ], + "properties": { + "capabilities": { + "description": "The list of capabilities.", + "type": "array", + "items": { + "$ref": "#/definitions/Capability" + } + } + } + } + ], + "definitions": { + "Capability": { + "description": "A grouping and boundary mechanism developers can use to isolate access to the IPC layer.\n\nIt controls application windows' and webviews' fine grained access to the Tauri core, application, or plugin commands. If a webview or its window is not matching any capability then it has no access to the IPC layer at all.\n\nThis can be done to create groups of windows, based on their required system access, which can reduce impact of frontend vulnerabilities in less privileged windows. Windows can be added to a capability by exact name (e.g. `main-window`) or glob patterns like `*` or `admin-*`. A Window can have none, one, or multiple associated capabilities.\n\n## Example\n\n```json { \"identifier\": \"main-user-files-write\", \"description\": \"This capability allows the `main` window on macOS and Windows access to `filesystem` write related commands and `dialog` commands to enable programmatic access to files selected by the user.\", \"windows\": [ \"main\" ], \"permissions\": [ \"core:default\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] }, ], \"platforms\": [\"macOS\",\"windows\"] } ```", + "type": "object", + "required": [ + "identifier", + "permissions" + ], + "properties": { + "identifier": { + "description": "Identifier of the capability.\n\n## Example\n\n`main-user-files-write`", + "type": "string" + }, + "description": { + "description": "Description of what the capability is intended to allow on associated windows.\n\nIt should contain a description of what the grouped permissions should allow.\n\n## Example\n\nThis capability allows the `main` window access to `filesystem` write related commands and `dialog` commands to enable programmatic access to files selected by the user.", + "default": "", + "type": "string" + }, + "remote": { + "description": "Configure remote URLs that can use the capability permissions.\n\nThis setting is optional and defaults to not being set, as our default use case is that the content is served from our local application.\n\n:::caution Make sure you understand the security implications of providing remote sources with local system access. :::\n\n## Example\n\n```json { \"urls\": [\"https://*.mydomain.dev\"] } ```", + "anyOf": [ + { + "$ref": "#/definitions/CapabilityRemote" + }, + { + "type": "null" + } + ] + }, + "local": { + "description": "Whether this capability is enabled for local app URLs or not. Defaults to `true`.", + "default": true, + "type": "boolean" + }, + "windows": { + "description": "List of windows that are affected by this capability. Can be a glob pattern.\n\nIf a window label matches any of the patterns in this list, the capability will be enabled on all the webviews of that window, regardless of the value of [`Self::webviews`].\n\nOn multiwebview windows, prefer specifying [`Self::webviews`] and omitting [`Self::windows`] for a fine grained access control.\n\n## Example\n\n`[\"main\"]`", + "type": "array", + "items": { + "type": "string" + } + }, + "webviews": { + "description": "List of webviews that are affected by this capability. Can be a glob pattern.\n\nThe capability will be enabled on all the webviews whose label matches any of the patterns in this list, regardless of whether the webview's window label matches a pattern in [`Self::windows`].\n\n## Example\n\n`[\"sub-webview-one\", \"sub-webview-two\"]`", + "type": "array", + "items": { + "type": "string" + } + }, + "permissions": { + "description": "List of permissions attached to this capability.\n\nMust include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`. For commands directly implemented in the application itself only `${permission-name}` is required.\n\n## Example\n\n```json [ \"core:default\", \"shell:allow-open\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] } ] ```", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionEntry" + }, + "uniqueItems": true + }, + "platforms": { + "description": "Limit which target platforms this capability applies to.\n\nBy default all platforms are targeted.\n\n## Example\n\n`[\"macOS\",\"windows\"]`", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Target" + } + } + } + }, + "CapabilityRemote": { + "description": "Configuration for remote URLs that are associated with the capability.", + "type": "object", + "required": [ + "urls" + ], + "properties": { + "urls": { + "description": "Remote domains this capability refers to using the [URLPattern standard](https://urlpattern.spec.whatwg.org/).\n\n## Examples\n\n- \"https://*.mydomain.dev\": allows subdomains of mydomain.dev - \"https://mydomain.dev/api/*\": allows any subpath of mydomain.dev/api", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PermissionEntry": { + "description": "An entry for a permission value in a [`Capability`] can be either a raw permission [`Identifier`] or an object that references a permission and extends its scope.", + "anyOf": [ + { + "description": "Reference a permission or permission set by identifier.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } + ] + }, + { + "description": "Reference a permission or permission set by identifier and extends its scope.", + "type": "object", + "allOf": [ + { + "if": { + "properties": { + "identifier": { + "anyOf": [ + { + "description": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`", + "type": "string", + "const": "http:default", + "markdownDescription": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`" + }, + { + "description": "Enables the fetch command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch", + "markdownDescription": "Enables the fetch command without any pre-configured scope." + }, + { + "description": "Enables the fetch_cancel command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-cancel", + "markdownDescription": "Enables the fetch_cancel command without any pre-configured scope." + }, + { + "description": "Enables the fetch_cancel_body command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-cancel-body", + "markdownDescription": "Enables the fetch_cancel_body command without any pre-configured scope." + }, + { + "description": "Enables the fetch_read_body command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-read-body", + "markdownDescription": "Enables the fetch_read_body command without any pre-configured scope." + }, + { + "description": "Enables the fetch_send command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-send", + "markdownDescription": "Enables the fetch_send command without any pre-configured scope." + }, + { + "description": "Denies the fetch command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch", + "markdownDescription": "Denies the fetch command without any pre-configured scope." + }, + { + "description": "Denies the fetch_cancel command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-cancel", + "markdownDescription": "Denies the fetch_cancel command without any pre-configured scope." + }, + { + "description": "Denies the fetch_cancel_body command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-cancel-body", + "markdownDescription": "Denies the fetch_cancel_body command without any pre-configured scope." + }, + { + "description": "Denies the fetch_read_body command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-read-body", + "markdownDescription": "Denies the fetch_read_body command without any pre-configured scope." + }, + { + "description": "Denies the fetch_send command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-send", + "markdownDescription": "Denies the fetch_send command without any pre-configured scope." + } + ] + } + } + }, + "then": { + "properties": { + "allow": { + "items": { + "title": "HttpScopeEntry", + "description": "HTTP scope entry.", + "anyOf": [ + { + "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", + "type": "string" + }, + { + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", + "type": "string" + } + } + } + ] + } + }, + "deny": { + "items": { + "title": "HttpScopeEntry", + "description": "HTTP scope entry.", + "anyOf": [ + { + "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", + "type": "string" + }, + { + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", + "type": "string" + } + } + } + ] + } + } + } + }, + "properties": { + "identifier": { + "description": "Identifier of the permission or permission set.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } + ] + } + } + }, + { + "if": { + "properties": { + "identifier": { + "anyOf": [ + { + "description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n\n#### This default permission set includes:\n\n- `allow-open`", + "type": "string", + "const": "shell:default", + "markdownDescription": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n\n#### This default permission set includes:\n\n- `allow-open`" + }, + { + "description": "Enables the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-execute", + "markdownDescription": "Enables the execute command without any pre-configured scope." + }, + { + "description": "Enables the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-kill", + "markdownDescription": "Enables the kill command without any pre-configured scope." + }, + { + "description": "Enables the open command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-open", + "markdownDescription": "Enables the open command without any pre-configured scope." + }, + { + "description": "Enables the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-spawn", + "markdownDescription": "Enables the spawn command without any pre-configured scope." + }, + { + "description": "Enables the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-stdin-write", + "markdownDescription": "Enables the stdin_write command without any pre-configured scope." + }, + { + "description": "Denies the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-execute", + "markdownDescription": "Denies the execute command without any pre-configured scope." + }, + { + "description": "Denies the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-kill", + "markdownDescription": "Denies the kill command without any pre-configured scope." + }, + { + "description": "Denies the open command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-open", + "markdownDescription": "Denies the open command without any pre-configured scope." + }, + { + "description": "Denies the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-spawn", + "markdownDescription": "Denies the spawn command without any pre-configured scope." + }, + { + "description": "Denies the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-stdin-write", + "markdownDescription": "Denies the stdin_write command without any pre-configured scope." + } + ] + } + } + }, + "then": { + "properties": { + "allow": { + "items": { + "title": "ShellScopeEntry", + "description": "Shell scope entry.", + "anyOf": [ + { + "type": "object", + "required": [ + "cmd", + "name" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "cmd": { + "description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", + "type": "string" + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "name", + "sidecar" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + }, + "sidecar": { + "description": "If this command is a sidecar command.", + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + } + }, + "deny": { + "items": { + "title": "ShellScopeEntry", + "description": "Shell scope entry.", + "anyOf": [ + { + "type": "object", + "required": [ + "cmd", + "name" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "cmd": { + "description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", + "type": "string" + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "name", + "sidecar" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + }, + "sidecar": { + "description": "If this command is a sidecar command.", + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + } + } + } + }, + "properties": { + "identifier": { + "description": "Identifier of the permission or permission set.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } + ] + } + } + }, + { + "properties": { + "identifier": { + "description": "Identifier of the permission or permission set.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } + ] + }, + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope. This should be prioritized by validation logic.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + } + ], + "required": [ + "identifier" + ] + } + ] + }, + "Identifier": { + "description": "Permission identifier", + "oneOf": [ + { + "description": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`", + "type": "string", + "const": "core:default", + "markdownDescription": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`" + }, + { + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`", + "type": "string", + "const": "core:app:default", + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`" + }, + { + "description": "Enables the app_hide command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-app-hide", + "markdownDescription": "Enables the app_hide command without any pre-configured scope." + }, + { + "description": "Enables the app_show command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-app-show", + "markdownDescription": "Enables the app_show command without any pre-configured scope." + }, + { + "description": "Enables the bundle_type command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-bundle-type", + "markdownDescription": "Enables the bundle_type command without any pre-configured scope." + }, + { + "description": "Enables the default_window_icon command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-default-window-icon", + "markdownDescription": "Enables the default_window_icon command without any pre-configured scope." + }, + { + "description": "Enables the fetch_data_store_identifiers command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-fetch-data-store-identifiers", + "markdownDescription": "Enables the fetch_data_store_identifiers command without any pre-configured scope." + }, + { + "description": "Enables the identifier command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-identifier", + "markdownDescription": "Enables the identifier command without any pre-configured scope." + }, + { + "description": "Enables the name command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-name", + "markdownDescription": "Enables the name command without any pre-configured scope." + }, + { + "description": "Enables the register_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-register-listener", + "markdownDescription": "Enables the register_listener command without any pre-configured scope." + }, + { + "description": "Enables the remove_data_store command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-remove-data-store", + "markdownDescription": "Enables the remove_data_store command without any pre-configured scope." + }, + { + "description": "Enables the remove_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-remove-listener", + "markdownDescription": "Enables the remove_listener command without any pre-configured scope." + }, + { + "description": "Enables the set_app_theme command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-set-app-theme", + "markdownDescription": "Enables the set_app_theme command without any pre-configured scope." + }, + { + "description": "Enables the set_dock_visibility command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-set-dock-visibility", + "markdownDescription": "Enables the set_dock_visibility command without any pre-configured scope." + }, + { + "description": "Enables the tauri_version command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-tauri-version", + "markdownDescription": "Enables the tauri_version command without any pre-configured scope." + }, + { + "description": "Enables the version command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-version", + "markdownDescription": "Enables the version command without any pre-configured scope." + }, + { + "description": "Denies the app_hide command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-app-hide", + "markdownDescription": "Denies the app_hide command without any pre-configured scope." + }, + { + "description": "Denies the app_show command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-app-show", + "markdownDescription": "Denies the app_show command without any pre-configured scope." + }, + { + "description": "Denies the bundle_type command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-bundle-type", + "markdownDescription": "Denies the bundle_type command without any pre-configured scope." + }, + { + "description": "Denies the default_window_icon command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-default-window-icon", + "markdownDescription": "Denies the default_window_icon command without any pre-configured scope." + }, + { + "description": "Denies the fetch_data_store_identifiers command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-fetch-data-store-identifiers", + "markdownDescription": "Denies the fetch_data_store_identifiers command without any pre-configured scope." + }, + { + "description": "Denies the identifier command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-identifier", + "markdownDescription": "Denies the identifier command without any pre-configured scope." + }, + { + "description": "Denies the name command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-name", + "markdownDescription": "Denies the name command without any pre-configured scope." + }, + { + "description": "Denies the register_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-register-listener", + "markdownDescription": "Denies the register_listener command without any pre-configured scope." + }, + { + "description": "Denies the remove_data_store command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-remove-data-store", + "markdownDescription": "Denies the remove_data_store command without any pre-configured scope." + }, + { + "description": "Denies the remove_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-remove-listener", + "markdownDescription": "Denies the remove_listener command without any pre-configured scope." + }, + { + "description": "Denies the set_app_theme command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-set-app-theme", + "markdownDescription": "Denies the set_app_theme command without any pre-configured scope." + }, + { + "description": "Denies the set_dock_visibility command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-set-dock-visibility", + "markdownDescription": "Denies the set_dock_visibility command without any pre-configured scope." + }, + { + "description": "Denies the tauri_version command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-tauri-version", + "markdownDescription": "Denies the tauri_version command without any pre-configured scope." + }, + { + "description": "Denies the version command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-version", + "markdownDescription": "Denies the version command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`", + "type": "string", + "const": "core:event:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`" + }, + { + "description": "Enables the emit command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-emit", + "markdownDescription": "Enables the emit command without any pre-configured scope." + }, + { + "description": "Enables the emit_to command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-emit-to", + "markdownDescription": "Enables the emit_to command without any pre-configured scope." + }, + { + "description": "Enables the listen command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-listen", + "markdownDescription": "Enables the listen command without any pre-configured scope." + }, + { + "description": "Enables the unlisten command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-unlisten", + "markdownDescription": "Enables the unlisten command without any pre-configured scope." + }, + { + "description": "Denies the emit command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-emit", + "markdownDescription": "Denies the emit command without any pre-configured scope." + }, + { + "description": "Denies the emit_to command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-emit-to", + "markdownDescription": "Denies the emit_to command without any pre-configured scope." + }, + { + "description": "Denies the listen command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-listen", + "markdownDescription": "Denies the listen command without any pre-configured scope." + }, + { + "description": "Denies the unlisten command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-unlisten", + "markdownDescription": "Denies the unlisten command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`", + "type": "string", + "const": "core:image:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`" + }, + { + "description": "Enables the from_bytes command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-from-bytes", + "markdownDescription": "Enables the from_bytes command without any pre-configured scope." + }, + { + "description": "Enables the from_path command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-from-path", + "markdownDescription": "Enables the from_path command without any pre-configured scope." + }, + { + "description": "Enables the new command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-new", + "markdownDescription": "Enables the new command without any pre-configured scope." + }, + { + "description": "Enables the rgba command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-rgba", + "markdownDescription": "Enables the rgba command without any pre-configured scope." + }, + { + "description": "Enables the size command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-size", + "markdownDescription": "Enables the size command without any pre-configured scope." + }, + { + "description": "Denies the from_bytes command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-from-bytes", + "markdownDescription": "Denies the from_bytes command without any pre-configured scope." + }, + { + "description": "Denies the from_path command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-from-path", + "markdownDescription": "Denies the from_path command without any pre-configured scope." + }, + { + "description": "Denies the new command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-new", + "markdownDescription": "Denies the new command without any pre-configured scope." + }, + { + "description": "Denies the rgba command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-rgba", + "markdownDescription": "Denies the rgba command without any pre-configured scope." + }, + { + "description": "Denies the size command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-size", + "markdownDescription": "Denies the size command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`", + "type": "string", + "const": "core:menu:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`" + }, + { + "description": "Enables the append command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-append", + "markdownDescription": "Enables the append command without any pre-configured scope." + }, + { + "description": "Enables the create_default command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-create-default", + "markdownDescription": "Enables the create_default command without any pre-configured scope." + }, + { + "description": "Enables the get command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-get", + "markdownDescription": "Enables the get command without any pre-configured scope." + }, + { + "description": "Enables the insert command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-insert", + "markdownDescription": "Enables the insert command without any pre-configured scope." + }, + { + "description": "Enables the is_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-is-checked", + "markdownDescription": "Enables the is_checked command without any pre-configured scope." + }, + { + "description": "Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-is-enabled", + "markdownDescription": "Enables the is_enabled command without any pre-configured scope." + }, + { + "description": "Enables the items command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-items", + "markdownDescription": "Enables the items command without any pre-configured scope." + }, + { + "description": "Enables the new command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-new", + "markdownDescription": "Enables the new command without any pre-configured scope." + }, + { + "description": "Enables the popup command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-popup", + "markdownDescription": "Enables the popup command without any pre-configured scope." + }, + { + "description": "Enables the prepend command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-prepend", + "markdownDescription": "Enables the prepend command without any pre-configured scope." + }, + { + "description": "Enables the remove command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-remove", + "markdownDescription": "Enables the remove command without any pre-configured scope." + }, + { + "description": "Enables the remove_at command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-remove-at", + "markdownDescription": "Enables the remove_at command without any pre-configured scope." + }, + { + "description": "Enables the set_accelerator command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-accelerator", + "markdownDescription": "Enables the set_accelerator command without any pre-configured scope." + }, + { + "description": "Enables the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-app-menu", + "markdownDescription": "Enables the set_as_app_menu command without any pre-configured scope." + }, + { + "description": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-help-menu-for-nsapp", + "markdownDescription": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Enables the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-window-menu", + "markdownDescription": "Enables the set_as_window_menu command without any pre-configured scope." + }, + { + "description": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-windows-menu-for-nsapp", + "markdownDescription": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Enables the set_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-checked", + "markdownDescription": "Enables the set_checked command without any pre-configured scope." + }, + { + "description": "Enables the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-enabled", + "markdownDescription": "Enables the set_enabled command without any pre-configured scope." + }, + { + "description": "Enables the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-icon", + "markdownDescription": "Enables the set_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-text", + "markdownDescription": "Enables the set_text command without any pre-configured scope." + }, + { + "description": "Enables the text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-text", + "markdownDescription": "Enables the text command without any pre-configured scope." + }, + { + "description": "Denies the append command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-append", + "markdownDescription": "Denies the append command without any pre-configured scope." + }, + { + "description": "Denies the create_default command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-create-default", + "markdownDescription": "Denies the create_default command without any pre-configured scope." + }, + { + "description": "Denies the get command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-get", + "markdownDescription": "Denies the get command without any pre-configured scope." + }, + { + "description": "Denies the insert command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-insert", + "markdownDescription": "Denies the insert command without any pre-configured scope." + }, + { + "description": "Denies the is_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-is-checked", + "markdownDescription": "Denies the is_checked command without any pre-configured scope." + }, + { + "description": "Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-is-enabled", + "markdownDescription": "Denies the is_enabled command without any pre-configured scope." + }, + { + "description": "Denies the items command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-items", + "markdownDescription": "Denies the items command without any pre-configured scope." + }, + { + "description": "Denies the new command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-new", + "markdownDescription": "Denies the new command without any pre-configured scope." + }, + { + "description": "Denies the popup command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-popup", + "markdownDescription": "Denies the popup command without any pre-configured scope." + }, + { + "description": "Denies the prepend command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-prepend", + "markdownDescription": "Denies the prepend command without any pre-configured scope." + }, + { + "description": "Denies the remove command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-remove", + "markdownDescription": "Denies the remove command without any pre-configured scope." + }, + { + "description": "Denies the remove_at command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-remove-at", + "markdownDescription": "Denies the remove_at command without any pre-configured scope." + }, + { + "description": "Denies the set_accelerator command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-accelerator", + "markdownDescription": "Denies the set_accelerator command without any pre-configured scope." + }, + { + "description": "Denies the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-app-menu", + "markdownDescription": "Denies the set_as_app_menu command without any pre-configured scope." + }, + { + "description": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-help-menu-for-nsapp", + "markdownDescription": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Denies the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-window-menu", + "markdownDescription": "Denies the set_as_window_menu command without any pre-configured scope." + }, + { + "description": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-windows-menu-for-nsapp", + "markdownDescription": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Denies the set_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-checked", + "markdownDescription": "Denies the set_checked command without any pre-configured scope." + }, + { + "description": "Denies the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-enabled", + "markdownDescription": "Denies the set_enabled command without any pre-configured scope." + }, + { + "description": "Denies the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-icon", + "markdownDescription": "Denies the set_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-text", + "markdownDescription": "Denies the set_text command without any pre-configured scope." + }, + { + "description": "Denies the text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-text", + "markdownDescription": "Denies the text command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`", + "type": "string", + "const": "core:path:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`" + }, + { + "description": "Enables the basename command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-basename", + "markdownDescription": "Enables the basename command without any pre-configured scope." + }, + { + "description": "Enables the dirname command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-dirname", + "markdownDescription": "Enables the dirname command without any pre-configured scope." + }, + { + "description": "Enables the extname command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-extname", + "markdownDescription": "Enables the extname command without any pre-configured scope." + }, + { + "description": "Enables the is_absolute command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-is-absolute", + "markdownDescription": "Enables the is_absolute command without any pre-configured scope." + }, + { + "description": "Enables the join command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-join", + "markdownDescription": "Enables the join command without any pre-configured scope." + }, + { + "description": "Enables the normalize command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-normalize", + "markdownDescription": "Enables the normalize command without any pre-configured scope." + }, + { + "description": "Enables the resolve command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-resolve", + "markdownDescription": "Enables the resolve command without any pre-configured scope." + }, + { + "description": "Enables the resolve_directory command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-resolve-directory", + "markdownDescription": "Enables the resolve_directory command without any pre-configured scope." + }, + { + "description": "Denies the basename command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-basename", + "markdownDescription": "Denies the basename command without any pre-configured scope." + }, + { + "description": "Denies the dirname command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-dirname", + "markdownDescription": "Denies the dirname command without any pre-configured scope." + }, + { + "description": "Denies the extname command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-extname", + "markdownDescription": "Denies the extname command without any pre-configured scope." + }, + { + "description": "Denies the is_absolute command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-is-absolute", + "markdownDescription": "Denies the is_absolute command without any pre-configured scope." + }, + { + "description": "Denies the join command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-join", + "markdownDescription": "Denies the join command without any pre-configured scope." + }, + { + "description": "Denies the normalize command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-normalize", + "markdownDescription": "Denies the normalize command without any pre-configured scope." + }, + { + "description": "Denies the resolve command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-resolve", + "markdownDescription": "Denies the resolve command without any pre-configured scope." + }, + { + "description": "Denies the resolve_directory command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-resolve-directory", + "markdownDescription": "Denies the resolve_directory command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`", + "type": "string", + "const": "core:resources:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`" + }, + { + "description": "Enables the close command without any pre-configured scope.", + "type": "string", + "const": "core:resources:allow-close", + "markdownDescription": "Enables the close command without any pre-configured scope." + }, + { + "description": "Denies the close command without any pre-configured scope.", + "type": "string", + "const": "core:resources:deny-close", + "markdownDescription": "Denies the close command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-show-menu-on-left-click`", + "type": "string", + "const": "core:tray:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-show-menu-on-left-click`" + }, + { + "description": "Enables the get_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-get-by-id", + "markdownDescription": "Enables the get_by_id command without any pre-configured scope." + }, + { + "description": "Enables the new command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-new", + "markdownDescription": "Enables the new command without any pre-configured scope." + }, + { + "description": "Enables the remove_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-remove-by-id", + "markdownDescription": "Enables the remove_by_id command without any pre-configured scope." + }, + { + "description": "Enables the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-icon", + "markdownDescription": "Enables the set_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-icon-as-template", + "markdownDescription": "Enables the set_icon_as_template command without any pre-configured scope." + }, + { + "description": "Enables the set_menu command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-menu", + "markdownDescription": "Enables the set_menu command without any pre-configured scope." + }, + { + "description": "Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-show-menu-on-left-click", + "markdownDescription": "Enables the set_show_menu_on_left_click command without any pre-configured scope." + }, + { + "description": "Enables the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-temp-dir-path", + "markdownDescription": "Enables the set_temp_dir_path command without any pre-configured scope." + }, + { + "description": "Enables the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-title", + "markdownDescription": "Enables the set_title command without any pre-configured scope." + }, + { + "description": "Enables the set_tooltip command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-tooltip", + "markdownDescription": "Enables the set_tooltip command without any pre-configured scope." + }, + { + "description": "Enables the set_visible command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-visible", + "markdownDescription": "Enables the set_visible command without any pre-configured scope." + }, + { + "description": "Denies the get_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-get-by-id", + "markdownDescription": "Denies the get_by_id command without any pre-configured scope." + }, + { + "description": "Denies the new command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-new", + "markdownDescription": "Denies the new command without any pre-configured scope." + }, + { + "description": "Denies the remove_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-remove-by-id", + "markdownDescription": "Denies the remove_by_id command without any pre-configured scope." + }, + { + "description": "Denies the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-icon", + "markdownDescription": "Denies the set_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-icon-as-template", + "markdownDescription": "Denies the set_icon_as_template command without any pre-configured scope." + }, + { + "description": "Denies the set_menu command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-menu", + "markdownDescription": "Denies the set_menu command without any pre-configured scope." + }, + { + "description": "Denies the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-show-menu-on-left-click", + "markdownDescription": "Denies the set_show_menu_on_left_click command without any pre-configured scope." + }, + { + "description": "Denies the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-temp-dir-path", + "markdownDescription": "Denies the set_temp_dir_path command without any pre-configured scope." + }, + { + "description": "Denies the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-title", + "markdownDescription": "Denies the set_title command without any pre-configured scope." + }, + { + "description": "Denies the set_tooltip command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-tooltip", + "markdownDescription": "Denies the set_tooltip command without any pre-configured scope." + }, + { + "description": "Denies the set_visible command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-visible", + "markdownDescription": "Denies the set_visible command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`", + "type": "string", + "const": "core:webview:default", + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`" + }, + { + "description": "Enables the clear_all_browsing_data command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-clear-all-browsing-data", + "markdownDescription": "Enables the clear_all_browsing_data command without any pre-configured scope." + }, + { + "description": "Enables the create_webview command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-create-webview", + "markdownDescription": "Enables the create_webview command without any pre-configured scope." + }, + { + "description": "Enables the create_webview_window command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-create-webview-window", + "markdownDescription": "Enables the create_webview_window command without any pre-configured scope." + }, + { + "description": "Enables the get_all_webviews command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-get-all-webviews", + "markdownDescription": "Enables the get_all_webviews command without any pre-configured scope." + }, + { + "description": "Enables the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-internal-toggle-devtools", + "markdownDescription": "Enables the internal_toggle_devtools command without any pre-configured scope." + }, + { + "description": "Enables the print command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-print", + "markdownDescription": "Enables the print command without any pre-configured scope." + }, + { + "description": "Enables the reparent command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-reparent", + "markdownDescription": "Enables the reparent command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_auto_resize command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-auto-resize", + "markdownDescription": "Enables the set_webview_auto_resize command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-background-color", + "markdownDescription": "Enables the set_webview_background_color command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_focus command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-focus", + "markdownDescription": "Enables the set_webview_focus command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-position", + "markdownDescription": "Enables the set_webview_position command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-size", + "markdownDescription": "Enables the set_webview_size command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_zoom command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-zoom", + "markdownDescription": "Enables the set_webview_zoom command without any pre-configured scope." + }, + { + "description": "Enables the webview_close command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-close", + "markdownDescription": "Enables the webview_close command without any pre-configured scope." + }, + { + "description": "Enables the webview_hide command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-hide", + "markdownDescription": "Enables the webview_hide command without any pre-configured scope." + }, + { + "description": "Enables the webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-position", + "markdownDescription": "Enables the webview_position command without any pre-configured scope." + }, + { + "description": "Enables the webview_show command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-show", + "markdownDescription": "Enables the webview_show command without any pre-configured scope." + }, + { + "description": "Enables the webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-size", + "markdownDescription": "Enables the webview_size command without any pre-configured scope." + }, + { + "description": "Denies the clear_all_browsing_data command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-clear-all-browsing-data", + "markdownDescription": "Denies the clear_all_browsing_data command without any pre-configured scope." + }, + { + "description": "Denies the create_webview command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-create-webview", + "markdownDescription": "Denies the create_webview command without any pre-configured scope." + }, + { + "description": "Denies the create_webview_window command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-create-webview-window", + "markdownDescription": "Denies the create_webview_window command without any pre-configured scope." + }, + { + "description": "Denies the get_all_webviews command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-get-all-webviews", + "markdownDescription": "Denies the get_all_webviews command without any pre-configured scope." + }, + { + "description": "Denies the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-internal-toggle-devtools", + "markdownDescription": "Denies the internal_toggle_devtools command without any pre-configured scope." + }, + { + "description": "Denies the print command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-print", + "markdownDescription": "Denies the print command without any pre-configured scope." + }, + { + "description": "Denies the reparent command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-reparent", + "markdownDescription": "Denies the reparent command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_auto_resize command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-auto-resize", + "markdownDescription": "Denies the set_webview_auto_resize command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-background-color", + "markdownDescription": "Denies the set_webview_background_color command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_focus command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-focus", + "markdownDescription": "Denies the set_webview_focus command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-position", + "markdownDescription": "Denies the set_webview_position command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-size", + "markdownDescription": "Denies the set_webview_size command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_zoom command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-zoom", + "markdownDescription": "Denies the set_webview_zoom command without any pre-configured scope." + }, + { + "description": "Denies the webview_close command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-close", + "markdownDescription": "Denies the webview_close command without any pre-configured scope." + }, + { + "description": "Denies the webview_hide command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-hide", + "markdownDescription": "Denies the webview_hide command without any pre-configured scope." + }, + { + "description": "Denies the webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-position", + "markdownDescription": "Denies the webview_position command without any pre-configured scope." + }, + { + "description": "Denies the webview_show command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-show", + "markdownDescription": "Denies the webview_show command without any pre-configured scope." + }, + { + "description": "Denies the webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-size", + "markdownDescription": "Denies the webview_size command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-internal-toggle-maximize`", + "type": "string", + "const": "core:window:default", + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-internal-toggle-maximize`" + }, + { + "description": "Enables the available_monitors command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-available-monitors", + "markdownDescription": "Enables the available_monitors command without any pre-configured scope." + }, + { + "description": "Enables the center command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-center", + "markdownDescription": "Enables the center command without any pre-configured scope." + }, + { + "description": "Enables the close command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-close", + "markdownDescription": "Enables the close command without any pre-configured scope." + }, + { + "description": "Enables the create command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-create", + "markdownDescription": "Enables the create command without any pre-configured scope." + }, + { + "description": "Enables the current_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-current-monitor", + "markdownDescription": "Enables the current_monitor command without any pre-configured scope." + }, + { + "description": "Enables the cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-cursor-position", + "markdownDescription": "Enables the cursor_position command without any pre-configured scope." + }, + { + "description": "Enables the destroy command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-destroy", + "markdownDescription": "Enables the destroy command without any pre-configured scope." + }, + { + "description": "Enables the get_all_windows command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-get-all-windows", + "markdownDescription": "Enables the get_all_windows command without any pre-configured scope." + }, + { + "description": "Enables the hide command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-hide", + "markdownDescription": "Enables the hide command without any pre-configured scope." + }, + { + "description": "Enables the inner_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-inner-position", + "markdownDescription": "Enables the inner_position command without any pre-configured scope." + }, + { + "description": "Enables the inner_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-inner-size", + "markdownDescription": "Enables the inner_size command without any pre-configured scope." + }, + { + "description": "Enables the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-internal-toggle-maximize", + "markdownDescription": "Enables the internal_toggle_maximize command without any pre-configured scope." + }, + { + "description": "Enables the is_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-always-on-top", + "markdownDescription": "Enables the is_always_on_top command without any pre-configured scope." + }, + { + "description": "Enables the is_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-closable", + "markdownDescription": "Enables the is_closable command without any pre-configured scope." + }, + { + "description": "Enables the is_decorated command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-decorated", + "markdownDescription": "Enables the is_decorated command without any pre-configured scope." + }, + { + "description": "Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-enabled", + "markdownDescription": "Enables the is_enabled command without any pre-configured scope." + }, + { + "description": "Enables the is_focused command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-focused", + "markdownDescription": "Enables the is_focused command without any pre-configured scope." + }, + { + "description": "Enables the is_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-fullscreen", + "markdownDescription": "Enables the is_fullscreen command without any pre-configured scope." + }, + { + "description": "Enables the is_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-maximizable", + "markdownDescription": "Enables the is_maximizable command without any pre-configured scope." + }, + { + "description": "Enables the is_maximized command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-maximized", + "markdownDescription": "Enables the is_maximized command without any pre-configured scope." + }, + { + "description": "Enables the is_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-minimizable", + "markdownDescription": "Enables the is_minimizable command without any pre-configured scope." + }, + { + "description": "Enables the is_minimized command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-minimized", + "markdownDescription": "Enables the is_minimized command without any pre-configured scope." + }, + { + "description": "Enables the is_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-resizable", + "markdownDescription": "Enables the is_resizable command without any pre-configured scope." + }, + { + "description": "Enables the is_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-visible", + "markdownDescription": "Enables the is_visible command without any pre-configured scope." + }, + { + "description": "Enables the maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-maximize", + "markdownDescription": "Enables the maximize command without any pre-configured scope." + }, + { + "description": "Enables the minimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-minimize", + "markdownDescription": "Enables the minimize command without any pre-configured scope." + }, + { + "description": "Enables the monitor_from_point command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-monitor-from-point", + "markdownDescription": "Enables the monitor_from_point command without any pre-configured scope." + }, + { + "description": "Enables the outer_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-outer-position", + "markdownDescription": "Enables the outer_position command without any pre-configured scope." + }, + { + "description": "Enables the outer_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-outer-size", + "markdownDescription": "Enables the outer_size command without any pre-configured scope." + }, + { + "description": "Enables the primary_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-primary-monitor", + "markdownDescription": "Enables the primary_monitor command without any pre-configured scope." + }, + { + "description": "Enables the request_user_attention command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-request-user-attention", + "markdownDescription": "Enables the request_user_attention command without any pre-configured scope." + }, + { + "description": "Enables the scale_factor command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-scale-factor", + "markdownDescription": "Enables the scale_factor command without any pre-configured scope." + }, + { + "description": "Enables the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-always-on-bottom", + "markdownDescription": "Enables the set_always_on_bottom command without any pre-configured scope." + }, + { + "description": "Enables the set_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-always-on-top", + "markdownDescription": "Enables the set_always_on_top command without any pre-configured scope." + }, + { + "description": "Enables the set_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-background-color", + "markdownDescription": "Enables the set_background_color command without any pre-configured scope." + }, + { + "description": "Enables the set_badge_count command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-badge-count", + "markdownDescription": "Enables the set_badge_count command without any pre-configured scope." + }, + { + "description": "Enables the set_badge_label command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-badge-label", + "markdownDescription": "Enables the set_badge_label command without any pre-configured scope." + }, + { + "description": "Enables the set_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-closable", + "markdownDescription": "Enables the set_closable command without any pre-configured scope." + }, + { + "description": "Enables the set_content_protected command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-content-protected", + "markdownDescription": "Enables the set_content_protected command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-grab", + "markdownDescription": "Enables the set_cursor_grab command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-icon", + "markdownDescription": "Enables the set_cursor_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-position", + "markdownDescription": "Enables the set_cursor_position command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-visible", + "markdownDescription": "Enables the set_cursor_visible command without any pre-configured scope." + }, + { + "description": "Enables the set_decorations command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-decorations", + "markdownDescription": "Enables the set_decorations command without any pre-configured scope." + }, + { + "description": "Enables the set_effects command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-effects", + "markdownDescription": "Enables the set_effects command without any pre-configured scope." + }, + { + "description": "Enables the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-enabled", + "markdownDescription": "Enables the set_enabled command without any pre-configured scope." + }, + { + "description": "Enables the set_focus command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-focus", + "markdownDescription": "Enables the set_focus command without any pre-configured scope." + }, + { + "description": "Enables the set_focusable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-focusable", + "markdownDescription": "Enables the set_focusable command without any pre-configured scope." + }, + { + "description": "Enables the set_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-fullscreen", + "markdownDescription": "Enables the set_fullscreen command without any pre-configured scope." + }, + { + "description": "Enables the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-icon", + "markdownDescription": "Enables the set_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-ignore-cursor-events", + "markdownDescription": "Enables the set_ignore_cursor_events command without any pre-configured scope." + }, + { + "description": "Enables the set_max_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-max-size", + "markdownDescription": "Enables the set_max_size command without any pre-configured scope." + }, + { + "description": "Enables the set_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-maximizable", + "markdownDescription": "Enables the set_maximizable command without any pre-configured scope." + }, + { + "description": "Enables the set_min_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-min-size", + "markdownDescription": "Enables the set_min_size command without any pre-configured scope." + }, + { + "description": "Enables the set_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-minimizable", + "markdownDescription": "Enables the set_minimizable command without any pre-configured scope." + }, + { + "description": "Enables the set_overlay_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-overlay-icon", + "markdownDescription": "Enables the set_overlay_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-position", + "markdownDescription": "Enables the set_position command without any pre-configured scope." + }, + { + "description": "Enables the set_progress_bar command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-progress-bar", + "markdownDescription": "Enables the set_progress_bar command without any pre-configured scope." + }, + { + "description": "Enables the set_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-resizable", + "markdownDescription": "Enables the set_resizable command without any pre-configured scope." + }, + { + "description": "Enables the set_shadow command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-shadow", + "markdownDescription": "Enables the set_shadow command without any pre-configured scope." + }, + { + "description": "Enables the set_simple_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-simple-fullscreen", + "markdownDescription": "Enables the set_simple_fullscreen command without any pre-configured scope." + }, + { + "description": "Enables the set_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-size", + "markdownDescription": "Enables the set_size command without any pre-configured scope." + }, + { + "description": "Enables the set_size_constraints command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-size-constraints", + "markdownDescription": "Enables the set_size_constraints command without any pre-configured scope." + }, + { + "description": "Enables the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-skip-taskbar", + "markdownDescription": "Enables the set_skip_taskbar command without any pre-configured scope." + }, + { + "description": "Enables the set_theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-theme", + "markdownDescription": "Enables the set_theme command without any pre-configured scope." + }, + { + "description": "Enables the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-title", + "markdownDescription": "Enables the set_title command without any pre-configured scope." + }, + { + "description": "Enables the set_title_bar_style command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-title-bar-style", + "markdownDescription": "Enables the set_title_bar_style command without any pre-configured scope." + }, + { + "description": "Enables the set_visible_on_all_workspaces command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-visible-on-all-workspaces", + "markdownDescription": "Enables the set_visible_on_all_workspaces command without any pre-configured scope." + }, + { + "description": "Enables the show command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-show", + "markdownDescription": "Enables the show command without any pre-configured scope." + }, + { + "description": "Enables the start_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-start-dragging", + "markdownDescription": "Enables the start_dragging command without any pre-configured scope." + }, + { + "description": "Enables the start_resize_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-start-resize-dragging", + "markdownDescription": "Enables the start_resize_dragging command without any pre-configured scope." + }, + { + "description": "Enables the theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-theme", + "markdownDescription": "Enables the theme command without any pre-configured scope." + }, + { + "description": "Enables the title command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-title", + "markdownDescription": "Enables the title command without any pre-configured scope." + }, + { + "description": "Enables the toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-toggle-maximize", + "markdownDescription": "Enables the toggle_maximize command without any pre-configured scope." + }, + { + "description": "Enables the unmaximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-unmaximize", + "markdownDescription": "Enables the unmaximize command without any pre-configured scope." + }, + { + "description": "Enables the unminimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-unminimize", + "markdownDescription": "Enables the unminimize command without any pre-configured scope." + }, + { + "description": "Denies the available_monitors command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-available-monitors", + "markdownDescription": "Denies the available_monitors command without any pre-configured scope." + }, + { + "description": "Denies the center command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-center", + "markdownDescription": "Denies the center command without any pre-configured scope." + }, + { + "description": "Denies the close command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-close", + "markdownDescription": "Denies the close command without any pre-configured scope." + }, + { + "description": "Denies the create command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-create", + "markdownDescription": "Denies the create command without any pre-configured scope." + }, + { + "description": "Denies the current_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-current-monitor", + "markdownDescription": "Denies the current_monitor command without any pre-configured scope." + }, + { + "description": "Denies the cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-cursor-position", + "markdownDescription": "Denies the cursor_position command without any pre-configured scope." + }, + { + "description": "Denies the destroy command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-destroy", + "markdownDescription": "Denies the destroy command without any pre-configured scope." + }, + { + "description": "Denies the get_all_windows command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-get-all-windows", + "markdownDescription": "Denies the get_all_windows command without any pre-configured scope." + }, + { + "description": "Denies the hide command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-hide", + "markdownDescription": "Denies the hide command without any pre-configured scope." + }, + { + "description": "Denies the inner_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-inner-position", + "markdownDescription": "Denies the inner_position command without any pre-configured scope." + }, + { + "description": "Denies the inner_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-inner-size", + "markdownDescription": "Denies the inner_size command without any pre-configured scope." + }, + { + "description": "Denies the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-internal-toggle-maximize", + "markdownDescription": "Denies the internal_toggle_maximize command without any pre-configured scope." + }, + { + "description": "Denies the is_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-always-on-top", + "markdownDescription": "Denies the is_always_on_top command without any pre-configured scope." + }, + { + "description": "Denies the is_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-closable", + "markdownDescription": "Denies the is_closable command without any pre-configured scope." + }, + { + "description": "Denies the is_decorated command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-decorated", + "markdownDescription": "Denies the is_decorated command without any pre-configured scope." + }, + { + "description": "Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-enabled", + "markdownDescription": "Denies the is_enabled command without any pre-configured scope." + }, + { + "description": "Denies the is_focused command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-focused", + "markdownDescription": "Denies the is_focused command without any pre-configured scope." + }, + { + "description": "Denies the is_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-fullscreen", + "markdownDescription": "Denies the is_fullscreen command without any pre-configured scope." + }, + { + "description": "Denies the is_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-maximizable", + "markdownDescription": "Denies the is_maximizable command without any pre-configured scope." + }, + { + "description": "Denies the is_maximized command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-maximized", + "markdownDescription": "Denies the is_maximized command without any pre-configured scope." + }, + { + "description": "Denies the is_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-minimizable", + "markdownDescription": "Denies the is_minimizable command without any pre-configured scope." + }, + { + "description": "Denies the is_minimized command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-minimized", + "markdownDescription": "Denies the is_minimized command without any pre-configured scope." + }, + { + "description": "Denies the is_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-resizable", + "markdownDescription": "Denies the is_resizable command without any pre-configured scope." + }, + { + "description": "Denies the is_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-visible", + "markdownDescription": "Denies the is_visible command without any pre-configured scope." + }, + { + "description": "Denies the maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-maximize", + "markdownDescription": "Denies the maximize command without any pre-configured scope." + }, + { + "description": "Denies the minimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-minimize", + "markdownDescription": "Denies the minimize command without any pre-configured scope." + }, + { + "description": "Denies the monitor_from_point command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-monitor-from-point", + "markdownDescription": "Denies the monitor_from_point command without any pre-configured scope." + }, + { + "description": "Denies the outer_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-outer-position", + "markdownDescription": "Denies the outer_position command without any pre-configured scope." + }, + { + "description": "Denies the outer_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-outer-size", + "markdownDescription": "Denies the outer_size command without any pre-configured scope." + }, + { + "description": "Denies the primary_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-primary-monitor", + "markdownDescription": "Denies the primary_monitor command without any pre-configured scope." + }, + { + "description": "Denies the request_user_attention command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-request-user-attention", + "markdownDescription": "Denies the request_user_attention command without any pre-configured scope." + }, + { + "description": "Denies the scale_factor command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-scale-factor", + "markdownDescription": "Denies the scale_factor command without any pre-configured scope." + }, + { + "description": "Denies the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-always-on-bottom", + "markdownDescription": "Denies the set_always_on_bottom command without any pre-configured scope." + }, + { + "description": "Denies the set_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-always-on-top", + "markdownDescription": "Denies the set_always_on_top command without any pre-configured scope." + }, + { + "description": "Denies the set_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-background-color", + "markdownDescription": "Denies the set_background_color command without any pre-configured scope." + }, + { + "description": "Denies the set_badge_count command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-badge-count", + "markdownDescription": "Denies the set_badge_count command without any pre-configured scope." + }, + { + "description": "Denies the set_badge_label command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-badge-label", + "markdownDescription": "Denies the set_badge_label command without any pre-configured scope." + }, + { + "description": "Denies the set_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-closable", + "markdownDescription": "Denies the set_closable command without any pre-configured scope." + }, + { + "description": "Denies the set_content_protected command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-content-protected", + "markdownDescription": "Denies the set_content_protected command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-grab", + "markdownDescription": "Denies the set_cursor_grab command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-icon", + "markdownDescription": "Denies the set_cursor_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-position", + "markdownDescription": "Denies the set_cursor_position command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-visible", + "markdownDescription": "Denies the set_cursor_visible command without any pre-configured scope." + }, + { + "description": "Denies the set_decorations command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-decorations", + "markdownDescription": "Denies the set_decorations command without any pre-configured scope." + }, + { + "description": "Denies the set_effects command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-effects", + "markdownDescription": "Denies the set_effects command without any pre-configured scope." + }, + { + "description": "Denies the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-enabled", + "markdownDescription": "Denies the set_enabled command without any pre-configured scope." + }, + { + "description": "Denies the set_focus command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-focus", + "markdownDescription": "Denies the set_focus command without any pre-configured scope." + }, + { + "description": "Denies the set_focusable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-focusable", + "markdownDescription": "Denies the set_focusable command without any pre-configured scope." + }, + { + "description": "Denies the set_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-fullscreen", + "markdownDescription": "Denies the set_fullscreen command without any pre-configured scope." + }, + { + "description": "Denies the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-icon", + "markdownDescription": "Denies the set_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-ignore-cursor-events", + "markdownDescription": "Denies the set_ignore_cursor_events command without any pre-configured scope." + }, + { + "description": "Denies the set_max_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-max-size", + "markdownDescription": "Denies the set_max_size command without any pre-configured scope." + }, + { + "description": "Denies the set_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-maximizable", + "markdownDescription": "Denies the set_maximizable command without any pre-configured scope." + }, + { + "description": "Denies the set_min_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-min-size", + "markdownDescription": "Denies the set_min_size command without any pre-configured scope." + }, + { + "description": "Denies the set_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-minimizable", + "markdownDescription": "Denies the set_minimizable command without any pre-configured scope." + }, + { + "description": "Denies the set_overlay_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-overlay-icon", + "markdownDescription": "Denies the set_overlay_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-position", + "markdownDescription": "Denies the set_position command without any pre-configured scope." + }, + { + "description": "Denies the set_progress_bar command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-progress-bar", + "markdownDescription": "Denies the set_progress_bar command without any pre-configured scope." + }, + { + "description": "Denies the set_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-resizable", + "markdownDescription": "Denies the set_resizable command without any pre-configured scope." + }, + { + "description": "Denies the set_shadow command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-shadow", + "markdownDescription": "Denies the set_shadow command without any pre-configured scope." + }, + { + "description": "Denies the set_simple_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-simple-fullscreen", + "markdownDescription": "Denies the set_simple_fullscreen command without any pre-configured scope." + }, + { + "description": "Denies the set_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-size", + "markdownDescription": "Denies the set_size command without any pre-configured scope." + }, + { + "description": "Denies the set_size_constraints command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-size-constraints", + "markdownDescription": "Denies the set_size_constraints command without any pre-configured scope." + }, + { + "description": "Denies the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-skip-taskbar", + "markdownDescription": "Denies the set_skip_taskbar command without any pre-configured scope." + }, + { + "description": "Denies the set_theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-theme", + "markdownDescription": "Denies the set_theme command without any pre-configured scope." + }, + { + "description": "Denies the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-title", + "markdownDescription": "Denies the set_title command without any pre-configured scope." + }, + { + "description": "Denies the set_title_bar_style command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-title-bar-style", + "markdownDescription": "Denies the set_title_bar_style command without any pre-configured scope." + }, + { + "description": "Denies the set_visible_on_all_workspaces command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-visible-on-all-workspaces", + "markdownDescription": "Denies the set_visible_on_all_workspaces command without any pre-configured scope." + }, + { + "description": "Denies the show command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-show", + "markdownDescription": "Denies the show command without any pre-configured scope." + }, + { + "description": "Denies the start_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-start-dragging", + "markdownDescription": "Denies the start_dragging command without any pre-configured scope." + }, + { + "description": "Denies the start_resize_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-start-resize-dragging", + "markdownDescription": "Denies the start_resize_dragging command without any pre-configured scope." + }, + { + "description": "Denies the theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-theme", + "markdownDescription": "Denies the theme command without any pre-configured scope." + }, + { + "description": "Denies the title command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-title", + "markdownDescription": "Denies the title command without any pre-configured scope." + }, + { + "description": "Denies the toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-toggle-maximize", + "markdownDescription": "Denies the toggle_maximize command without any pre-configured scope." + }, + { + "description": "Denies the unmaximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-unmaximize", + "markdownDescription": "Denies the unmaximize command without any pre-configured scope." + }, + { + "description": "Denies the unminimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-unminimize", + "markdownDescription": "Denies the unminimize command without any pre-configured scope." + }, + { + "description": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`", + "type": "string", + "const": "http:default", + "markdownDescription": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`" + }, + { + "description": "Enables the fetch command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch", + "markdownDescription": "Enables the fetch command without any pre-configured scope." + }, + { + "description": "Enables the fetch_cancel command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-cancel", + "markdownDescription": "Enables the fetch_cancel command without any pre-configured scope." + }, + { + "description": "Enables the fetch_cancel_body command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-cancel-body", + "markdownDescription": "Enables the fetch_cancel_body command without any pre-configured scope." + }, + { + "description": "Enables the fetch_read_body command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-read-body", + "markdownDescription": "Enables the fetch_read_body command without any pre-configured scope." + }, + { + "description": "Enables the fetch_send command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-send", + "markdownDescription": "Enables the fetch_send command without any pre-configured scope." + }, + { + "description": "Denies the fetch command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch", + "markdownDescription": "Denies the fetch command without any pre-configured scope." + }, + { + "description": "Denies the fetch_cancel command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-cancel", + "markdownDescription": "Denies the fetch_cancel command without any pre-configured scope." + }, + { + "description": "Denies the fetch_cancel_body command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-cancel-body", + "markdownDescription": "Denies the fetch_cancel_body command without any pre-configured scope." + }, + { + "description": "Denies the fetch_read_body command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-read-body", + "markdownDescription": "Denies the fetch_read_body command without any pre-configured scope." + }, + { + "description": "Denies the fetch_send command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-send", + "markdownDescription": "Denies the fetch_send command without any pre-configured scope." + }, + { + "description": "This permission set configures which\nprocess features are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n\n#### This default permission set includes:\n\n- `allow-exit`\n- `allow-restart`", + "type": "string", + "const": "process:default", + "markdownDescription": "This permission set configures which\nprocess features are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n\n#### This default permission set includes:\n\n- `allow-exit`\n- `allow-restart`" + }, + { + "description": "Enables the exit command without any pre-configured scope.", + "type": "string", + "const": "process:allow-exit", + "markdownDescription": "Enables the exit command without any pre-configured scope." + }, + { + "description": "Enables the restart command without any pre-configured scope.", + "type": "string", + "const": "process:allow-restart", + "markdownDescription": "Enables the restart command without any pre-configured scope." + }, + { + "description": "Denies the exit command without any pre-configured scope.", + "type": "string", + "const": "process:deny-exit", + "markdownDescription": "Denies the exit command without any pre-configured scope." + }, + { + "description": "Denies the restart command without any pre-configured scope.", + "type": "string", + "const": "process:deny-restart", + "markdownDescription": "Denies the restart command without any pre-configured scope." + }, + { + "description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n\n#### This default permission set includes:\n\n- `allow-open`", + "type": "string", + "const": "shell:default", + "markdownDescription": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n\n#### This default permission set includes:\n\n- `allow-open`" + }, + { + "description": "Enables the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-execute", + "markdownDescription": "Enables the execute command without any pre-configured scope." + }, + { + "description": "Enables the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-kill", + "markdownDescription": "Enables the kill command without any pre-configured scope." + }, + { + "description": "Enables the open command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-open", + "markdownDescription": "Enables the open command without any pre-configured scope." + }, + { + "description": "Enables the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-spawn", + "markdownDescription": "Enables the spawn command without any pre-configured scope." + }, + { + "description": "Enables the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-stdin-write", + "markdownDescription": "Enables the stdin_write command without any pre-configured scope." + }, + { + "description": "Denies the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-execute", + "markdownDescription": "Denies the execute command without any pre-configured scope." + }, + { + "description": "Denies the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-kill", + "markdownDescription": "Denies the kill command without any pre-configured scope." + }, + { + "description": "Denies the open command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-open", + "markdownDescription": "Denies the open command without any pre-configured scope." + }, + { + "description": "Denies the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-spawn", + "markdownDescription": "Denies the spawn command without any pre-configured scope." + }, + { + "description": "Denies the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-stdin-write", + "markdownDescription": "Denies the stdin_write command without any pre-configured scope." + }, + { + "description": "This permission set configures which kind of\nupdater functions are exposed to the frontend.\n\n#### Granted Permissions\n\nThe full workflow from checking for updates to installing them\nis enabled.\n\n\n#### This default permission set includes:\n\n- `allow-check`\n- `allow-download`\n- `allow-install`\n- `allow-download-and-install`", + "type": "string", + "const": "updater:default", + "markdownDescription": "This permission set configures which kind of\nupdater functions are exposed to the frontend.\n\n#### Granted Permissions\n\nThe full workflow from checking for updates to installing them\nis enabled.\n\n\n#### This default permission set includes:\n\n- `allow-check`\n- `allow-download`\n- `allow-install`\n- `allow-download-and-install`" + }, + { + "description": "Enables the check command without any pre-configured scope.", + "type": "string", + "const": "updater:allow-check", + "markdownDescription": "Enables the check command without any pre-configured scope." + }, + { + "description": "Enables the download command without any pre-configured scope.", + "type": "string", + "const": "updater:allow-download", + "markdownDescription": "Enables the download command without any pre-configured scope." + }, + { + "description": "Enables the download_and_install command without any pre-configured scope.", + "type": "string", + "const": "updater:allow-download-and-install", + "markdownDescription": "Enables the download_and_install command without any pre-configured scope." + }, + { + "description": "Enables the install command without any pre-configured scope.", + "type": "string", + "const": "updater:allow-install", + "markdownDescription": "Enables the install command without any pre-configured scope." + }, + { + "description": "Denies the check command without any pre-configured scope.", + "type": "string", + "const": "updater:deny-check", + "markdownDescription": "Denies the check command without any pre-configured scope." + }, + { + "description": "Denies the download command without any pre-configured scope.", + "type": "string", + "const": "updater:deny-download", + "markdownDescription": "Denies the download command without any pre-configured scope." + }, + { + "description": "Denies the download_and_install command without any pre-configured scope.", + "type": "string", + "const": "updater:deny-download-and-install", + "markdownDescription": "Denies the download_and_install command without any pre-configured scope." + }, + { + "description": "Denies the install command without any pre-configured scope.", + "type": "string", + "const": "updater:deny-install", + "markdownDescription": "Denies the install command without any pre-configured scope." + } + ] + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a null JSON value.", + "type": "null" + }, + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Target": { + "description": "Platform target.", + "oneOf": [ + { + "description": "MacOS.", + "type": "string", + "enum": [ + "macOS" + ] + }, + { + "description": "Windows.", + "type": "string", + "enum": [ + "windows" + ] + }, + { + "description": "Linux.", + "type": "string", + "enum": [ + "linux" + ] + }, + { + "description": "Android.", + "type": "string", + "enum": [ + "android" + ] + }, + { + "description": "iOS.", + "type": "string", + "enum": [ + "iOS" + ] + } + ] + }, + "ShellScopeEntryAllowedArg": { + "description": "A command argument allowed to be executed by the webview API.", + "anyOf": [ + { + "description": "A non-configurable argument that is passed to the command in the order it was specified.", + "type": "string" + }, + { + "description": "A variable that is set while calling the command from the webview API.", + "type": "object", + "required": [ + "validator" + ], + "properties": { + "raw": { + "description": "Marks the validator as a raw regex, meaning the plugin should not make any modification at runtime.\n\nThis means the regex will not match on the entire string by default, which might be exploited if your regex allow unexpected input to be considered valid. When using this option, make sure your regex is correct.", + "default": false, + "type": "boolean" + }, + "validator": { + "description": "[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\nThe regex string is by default surrounded by `^...$` to match the full string. For example the `https?://\\w+` regex would be registered as `^https?://\\w+$`.\n\n[regex]: ", + "type": "string" + } + }, + "additionalProperties": false + } + ] + }, + "ShellScopeEntryAllowedArgs": { + "description": "A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellScopeEntryAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration.", + "anyOf": [ + { + "description": "Use a simple boolean to allow all or disable all arguments to this command configuration.", + "type": "boolean" + }, + { + "description": "A specific set of [`ShellScopeEntryAllowedArg`] that are valid to call for the command configuration.", + "type": "array", + "items": { + "$ref": "#/definitions/ShellScopeEntryAllowedArg" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src-tauri/icons/128x128.png b/src-tauri/icons/128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..d301efdb1d7099552b2e0da25ed16d791accfff4 GIT binary patch literal 5887 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 BC>;O* literal 0 HcmV?d00001 diff --git a/src-tauri/icons/128x128@2x.png b/src-tauri/icons/128x128@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..22977e734918684493986230a4531eb5f428dc6d GIT binary patch literal 11538 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%0AhUzBJ7&~TP3T5PnRS2fEEFe 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/32x32.png b/src-tauri/icons/32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..a95fdff208ed1c4813d0606afba059bd95de7930 GIT binary patch literal 1537 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square107x107Logo.png b/src-tauri/icons/Square107x107Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ddec1e90a940312994ec5e6c2dd33c98fb694451 GIT binary patch literal 4842 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%0AWd{?Y%^$ z@>hOz*5BSRo?LWInDM6z)Y}YHZAFzzxT{@B3ttt{h*+(j{Le+|(a3`oXi4yX4&+#- zVUk@6U|A}WJgF|ZL1ynj>h9Z2fU0Alv^YDy!YspRIa)&Cg7*O0UMU+Okz*mLca(p- zxRc_Ulz$0D9Xd}DR`}BrM_rsX;_WVrqU&g4=i`Ir%8goF0*6& z6jOc?Gm%IJ7bukq@O#nKVZFgn8i7b$=q}=%S(c3UjO)Hdk064-cQ8AsKzXn6v>oXO z4wy7cwkX4G*o4~NGLE*RGy*qol2QC@5Fp^V9^HDT$p!MC zsG6>i2LvcXDIr=tmvf_7-WrR=rE3YBDiv+Ff)K2x3YJTExwNj`2iye`VT_~7NzerX z%6pEJt}3J58u1lw8>m6CcgB*MWV4;ZN4M&_n5ONWLfefJ0LyUt&hY{DS+oEFGgv5L z;Ag}wzk$+23R+*#E*I7kQ|DjkWEVm(dhp@4k!oOm4DWq>#hYBIsbA$-b}3kvfilz%NdRNJe^(eqNxfO1X28->u?F#JuWuF0K|DeZMJdjxkQ~k? zVXw{*M8dMN>CX>rQarxxoDa>Wser-r01NNwpx)vr-Xrovlv;2MLF%hqW-3_@3pa2Yj(#G-@{*6R7)v%j>tYJ6@rnsktMiRe^7CB60 zq8|_~-g`LZfB=o2L@4c50Rk#(u$;N!xb)1;scA|g7dWd4f5E^?1r#@4;xXD~NsWr1 z2a_iV{xDBi1R5q6*0hNGg60T!24K(|VWgnZ31AF|g{m5t_d=466V>(%bTKep!dMYs zF(`*~m7IgGBC;_YtE~tW6U-hgUN0;#VndzkSHOkl6#%7oBLIQhx{d$L1S|^i1mr_2 z9k5J*hvz};gG+^_f(U@Ar5sp50aBIRH6Y`Gfn~r#&|?qvA37xjStt@t=aeCy0EJO} zuZvVC4)C%mC*p9RENd)jw8wJ&z6J`G23_qN&-_CEfD6vH1(>Hc%@Zc3fdQL@C8ct+ z-g9#Sh~b&o(60-|wtw)jsQhRnKy?~LPgwbw>h+5%i$UV6Nro4ge00+mmSAACM>WWd zr_$Orp?PIFw=&|uavfKU%rw2Dpb21{W5N3vj6({TF6o{^B^Mo3 zqBN+(kO2vUIstZ$z0+>2c!9|YSV^NjwM|Kyptm6DbmZDeQ-P@%nWK30&~63> znj!)}hyYwDh>1S&QdvJB68gm#GnlN+$meak_5(Tr9(b6p2w=TNqUII3$~<(_<} zhXFXC;tQ;0j|6__q%>#J(8-^oD)8&-aB|?cXu4j}T%0hS{HI);7=*@1#1xcEG$VtG z4K|3tPu{@K;8a$WrC?;!7nq!Y1xo^>0>gXoe^1kur>v2&(Y-v>rm3<7{^5Rhaf!h1 z027tRCI@~h`oN#BYf1+iqwHO$jx#_bqz?SrVi0S_2mTO}0=Yr3uufn}6T&M5E4)ImLa@Rs1S`BkutKoHD+DXNLa;)x!pqm||A8Fxjs-4H QP5=M^07*qoM6N<$g8sD_S^xk5 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square142x142Logo.png b/src-tauri/icons/Square142x142Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b6a55ac7bdedc7c31f7cd1a23f677a6b129c6123 GIT binary patch literal 6584 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

adUyyMoP3=>< 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square284x284Logo.png b/src-tauri/icons/Square284x284Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8345881be6d80099996dc2252b8ebf0fbf9b4f7f GIT binary patch literal 13267 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 QC=o_pTKRpIq)E{K0$(EZg#Z8m literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square44x44Logo.png b/src-tauri/icons/Square44x44Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..aee86a0a6692a71fd8ac8632fdd3660f24a9cd42 GIT binary patch literal 2028 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/StoreLogo.png b/src-tauri/icons/StoreLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..e1a3d09da2b6846b6624865a34d233eb752160d3 GIT binary patch literal 2302 zcmV8Q+36j z_r3H043!>`anFF56h%Hg-tZ8@bZ(+IOwnWNx_skz5CJd^hc{dvH>JfSQbAHCb+Bi4GZ3MP4l>vnDwsi0 zOM&n!+Na{@1!sjH2Wtg$pJbG%%qn#}#aW3Zl42Lb|yf;#aL(Uib18yOWx zDbb0P9)m53>6FC#34AU(;NCZ9u3(^Dbgbrr00Z@g8 zq-PjFyl_6)Kt>piQRO(_M*@Yfo&u} z!~i&qE!G?*_aHbwF8yAv84MT?g8?1Cy?BHsr{>b*S%vK3$@Fv8Ss}ckgCPYw9%g0q zd5P(=U*23RMq)+~E7)Qqq9{_ekgE3>CQFYrbYVGcnVh^r2HW(f(+2IJDF;FlD2phj^ zb>VzTu86yhzwV@l4jaGUO#W}{9|%9u$w1O$lf-~Z4&YALz*^LSg3&;j1jHH!@$$s^ z5{nxSZKpq^k8EuOI)cq&R(Ms*!c z0Wui?=2VZGZJPT6J;thZz4azdOB+kY46H6h5d8v?K<9D<$!Bz23g?X$=4hK1XglU5pw?@b(fiB-hnTzyho&%HP=6tqA=&E8 z7=d2h)+mPc%&H zOj&p`Ri{=HKfkxEhh>2d$;_#@tdPno&L5zPp*A=V%||e=95+|ao#X(;Ie>t4zIW^^ zSs{t;m5C+E@~oqWPv)Mc&0*IYFH<1e@OVV4u^_ufpkp6==gLYzygFr(s1uC(;P^KJ zWDH*)!FdNgiQVO3g|ps96?g|C0#9OM;Au>RX$T%s`%8vKd_dQYRdat3Fz9WT*V6h5 zO18#{QJ@}@X0V#bm?k&pCquCS8vRR*#X9KUOVm3RdPscvNj-rM<52kq0|B*x#}L4z zkZ%Fb-@}T&V1arHXHvOM#z3M)-=f@>ZH5R$A+zUxX}+^5p!@Dkfu?a)zGpcXJjX&FkLe!FCm=@k~4jZ1@Z8P8;G%DVw4YM4CIxG z3j~C=i0~zyZnz>KJ2{|To}QUT=Z09xh=tK*!)*^=%zr z*r)}5kJU@}*}Uk0G9Cf>7FVMuSe=s5Z@b-+2SAY=HX7GsrqN0I_aYdOW3&Je4b*Ii zId}qVV^BF&JQ`*ocpx-AH$e+@fWXShC#UyGre8O085^D|nL9)0xqpBE4_CV|7?O?r z16pFS&hB*hXb2%uIk`fqg0;wD0Rja1+NhHSR7(cSDVm}X{U zWu|%a6@Fr{QO + + + + \ No newline at end of file diff --git a/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png b/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..38261b148b1defc5cfc58888587d74152645ef00 GIT binary patch literal 2390 zcmV-c390spP)pX{;^9=ky8$|F2<(P9ymrAm+%QCrgJmS|I=O%pUWX)FHG7Sx&= zA5Hs5(?4WOjoOx$G;Oghs2~UdS;bvic`WRUeayaRX6Je5dcJe-T_?H zWM=OC&UeoDedqk{#ZLbRhy5CeYapfC#W>yy1Geo#sCn!jw^_L-L`QyIK0s3>Gp zR7xbZ30*%P7oI<8>QrzRtJ*pHF)hKbby`$1o5G10CHW7P z$@EaOT?GN4suXAX;QaowyXlv=KTMmhUqyjv*a#v+AZpetpc?!~6`rWwNOiN9Q19pv zJ-Fa@+PtWaMwnU#5cTQ_8YXiYBB9?d7mD6^Vf8+y_p_hAOK?k(I;Gy ztn~>S2NX{xqyk%OH_+FrmeRk@pP=6~{$1XG{@8BOL;b?l^8Md8zeRa2kBD6-{mO$t za9T3S!6xak+IwhC)e;8KNWVJqH=#{|E0;p?C_Q)dPyFrsOdtw1H1DH)0MXL}k{uBI zhak5sT`K_oeW8(Fet!?^!$wYcMv)8ojIAP=-PQG_$^w!0*7B?Yi1K%DhEXo?A#hmz(mPUMk4(l9#J->&yl8(4sZ; zO4EOY>u{}0xeg#M)=13Mh$VJttD$Kh|E6bhKKW zICTX3=*-|n>J0W%+pwSRo>wbbMc@t1`^A0Kae$zoxNL^lQ4v+SUo?W_52xOyT&G*W zW&}bpPb~J8${H&1JTmZ}2~%X>0^e%H>J}0IKS+*?3&k zGZQufin2J1+_@6K*`Y4-I&)~6JD*FPBff9ZO2d50!2vW}D#SpZW*{g17X(PEXk|Pf zqpO`kM@8t{SJun4yW_pr>Bz;88IYTQFFA1#)?#sBul3UI;ATo7#PZLQ3GJ@ zifzmqQGPF1D|iWz`UQ80zLXTZ1^^`Er(b=5<`$OGwu8Iqc=s8h5!O&Lu~_TkgsxFl z-gI8bNv*@Zk}=)v(AEYg7!T7>G{{{!D%8LNuv!bq4hHfO1A#_1FRWu71?6)9g0KN# zUST;s#Q;w9oTK6#-xuxzFPlzQrm+CB(#2wSa`tq|kRl7=TwGF3Yv{YhLUCnQk+u`J)&eDjBD;1*Oez2Ebs@p=}tXU~1 zj)8E1es<_pI?;WWwZ~4RX_GeqB9meEZ!|dY^Ml?Nu~9dJQrVG)!y)?KlDh=Jn>=ps zZ~c(&{qhR>_Wavqc53WC$0lI-JlqI+F&dvrZ?&Bii^l7HeBFiN9`5+Qv~DC^b|p~O zQtk~n&kc4P;8f#%Xylg4`O-69IQ~}($76IcI6yDgRnpBBHFT8S#b??n5&}agcIU}& z0PtQ0UdW&vtg$?&M`o(5?Ce09S$QSmK5cFe`uq8=VSFdJ>Exm7B*+$cz+R= z8Oq;#LApA0VR2kByE$}J#4eY|pAB*q;c_06Zdtu$1GkvzE0xz)hVQCgmI7cW1!EDO zsaVW*yUbS@(e;!YV`z3E?&3Xs&j~XU4mcR9q?q$l7As*C8qS2QHM8%po4cGI=erna zdfN^($fSzR5cU(uXc*m_DX1ll&_EYxrGhn8;Va^PvQXZKsIA7B)m!_>6ohwOQ3ZWG z(7}6&>lwfX0r2?#-w7qq$^D^W8O1>(*kw8I^Z*=V%5_DRG&|3zdmKW9t>yYm+}l$MpgOK$98MD zW!c9W|7Xi_-h*_>;Mf%!5KY0|&?vQRf-pp#WI_8xjF@{OOqte^9{Rxz>p8rwJh+(nh2#+m_+}h+jB&-|RIDxFXp4}%!vdiKzd8V&K0N{Y< zujihC;QrU&LGQGEB-Fy*8h1QGF>`yW7y)CHkX;&AQ!%?cD2h`jJ^PQlFlNI^Iyj^M zXgNj~0|S!jZl;5ObVNo5j3WSxfMKub0l0x+-DW|i(cr9sPS2pJO$-FKjGReW;fu%i z$nvmE1d9{1k|JADD>Ngw!f`##=WE%1dWtc@#Z#tbxCV`lfb}s^X5|sz#G2iB5B78! zJ(6R4>B(dB6hFsS=;}Sxbe|bt>0`XuuI2<^`)?7~KwOFA6SVV~9|6#=0{{R307*qo IM6N<$f<-Wr{{R30 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png b/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d6875f7caec152492bf852b9095375548a855d GIT binary patch literal 7524 zcma)B^;Z;5v|oB9cNbWebO}i*X#{~~X<4L0dXW}ML1|cENkuxOW2F(LyE{}GB&9<_ z35mz|o%aX4A7*#iOf$MXuU$=ym}F!Wof-F6K?* z#eU@F;z{V7QR_ivN^-a*>2efh79dDtV)wh12;+?SYo2%FV>mF$^bVpT=}P&=je!RZ zhb>Eox7%6UX+HyQ1I8u~=ru*YFW#QEoGtuXSRZ-!^YEVU-lt==xw>{1GNkWbwfvVp z{0SD{hoJrc;D56J;D56JQx_-4IW2{3F_B30-B}bz(RI2h^`3NlzE$?w@x8O*B}b^l zXlX_1vGEvu^@=8J%}y)h6Pkkw<5&2^$e%}Q8b;06I#cg|vK1DU5@4CDQIv7}tv`|G z2zC%e2it2&DQrdQ>Qb+cl2y>P`QLcmj2V1+9Vuw;R%(wDkGkJ{9kS)<94iYecd8Hv z3SI$2K}W1ElJrE4a`mU^RS9u_)tK=$h_Lr}D0Y%~Won;X{{0I>VcYKTEc_QOK@<4G zY;aEuwco>Qv~2L*%o^U^_QngSOxBGJ1|87f=B*eBT7Hp_fdK>GtmdSS6kOOb1pNWr z>48C@PxL{*KPgs5H+lQ1TwQCt8^g0)=t!M$pRc@b2z%iq*=cg`+hCB zOCAHof(df_%4VtgDPm~^r>J23Aa-Je|8KAVB^&}TQxP(OE7M^95dX(2v?{CJJ{aZ( znj*V1bOK=hBa5s)rB6@~5jwbY#dI}h;M1q?v?NxU9rnTXgc_3SBAnT|e{UY^*?B!s zfEfzS6-D&;IpQHcW9pn+Kf^%*`A^}ew+5W-jp-&mT7TQPTQ8#f92>Pe@!h}&KGqvC z^|)6p=U4w;4MLLN$j_K6gL*0MSQD`rwGpR3zPZ+LIaaVMd89{xal_9ivJMuYpK|>- zN7f@{#^*o&EBYSaz0Uf(OjLuMR6G1bGidHF`lPuJc<`@$k2p(|<%|)zbA(Q^-bc4a z#M<93Tk_QfgPi$~VOlyjOKYR6#b`ND?0VxOZ*bMre-14(u4A`{%VwJW#4M1yZVJT; zEIdyWh?+hY`Wg{wJt#_W zL5S+aOe>g7R?#eK?sG6VKh0FCYn?((%r6YMSw2<^hAW{PU-Z#wx%adfE()}s*O2s7 zAF&cU{U{9A9Kw2>{mSkqQ#Ml0bRXn?EFt%{&Cpjs)aWQlKEYB$WO==%n5Om_mohs- z1s!cP^@H=$1Zc@`Mp!FAY$}0Aar;v_`4x|LR)s`%CKGj_siNhNvcUCWOufSz2`pyL zT3VT2H}JZBNRF2gmY{uzH*6w)PuyYh+g0S0$#)+S-NenVo-x1kR%}f5&xy(Trg~3{ypYjS(hf6F8t} zBTFfhR52Z|iF;_u_*`Ne@%&;{z-IDk`?;%ICXrcXaY3kN&S;&F3YoKsP%k;Qeru-l zwEE0!r71+mSgb~eEwbEdQSXv-DXrji7!hgLI} z6_P;7GA4qm@$t9L*4U2M&VH!?A9ZrA*y!(~P$A7E$o}giCV;>~7rvu>n|ec+-0X$f z(N`xqbcYegU1o*|R>PdPOtga@XDu~$SjT44(-9C>+_>EnUsyK5Lj-}{?87tYnO>`@ z(a|PhR2wLMyiCy9xglLQPi|N%65x(Ax~UZPViUOcwkUF*_Bq} ziw*kfwWj>Oi!S%YS-Odn6id&m>$mPdiI$seM=n;w@_id>7{?@b)Xf^jTmE&kx+Plg zI88ZI*l_)3IAU4;+U&FUa*#K3{erm?+VqO)wO5U`mv5aMW*sMiM`GamVd0^Bq^ikU z2)^G|%*5CAFO6x{Hif7e%{AYKq$de=_@RG=jpEa1lUA{r{wa-#QPVQ=!afB4K)U&} z73F~k?3@!vxhY-+eu4Ie|18Us!qYkC(UOL zSu1M%9fM8UY`j88jM8I+7bn;3eKx}|w|uaK&?S7q_0xGipUVK}*X#3Vy{$`u|K1#p zXK~Hy@`s5vO-v*YxVFvDeryRg@Y58f%#t2;Gvx38-Afe132e)ePZb6haN4{B1KX|# zwUADq2Vg}w1vtKEz0uHCUe5F0LmGoK%WgQAMx^XRm} zaQA8DM?6#BW&LV;lpu74R~|%6NSOkoPm;ISkJ6RUbVB8YNRU)COhIO~iP1C)M*i>; z79_X8vbDViPVJtjvAh9;HA1h1q8Aq;gb&p&vK##ysm>{{_rA8nej7n>Qdl*tlQ=-Z z9jvcoTLBXi5VhRE2^?FcuSBu|*}?3c-(H^jf;_-Up0n7fQb0s>G-MU_$=qu67tP|k zv8OsUJ><79067pF2OdjPC3adEAzPmDUj( z^G>gMrMmCRiWWfIdnM6Cmn4g23Q9ufb#lzYqT61NCm?E?%G4{(Gdheqo(iIgluGjL zwW%gBwrD#LI2xh5Pu&#P+SA^F{3&e39f2{f`2`B_iy2EDf{`0npWSq!*arnlUGfCEJ4Hd<~F zKu)=17jb%Yo9fYfAiLl)>z8zXaKOCUcX*Y@*7WzO(9QN}M0bnfEtE=o12 zyoMSVP=e|7m7^7)ChL%aRT<970jf0wWAtOeh0Q>4Qru6t_R;5m8aa9;=uDk@ba&AG zz$KENCG%Tfa)hjFp-0$W3A5?l-itPQoS0SmVL~Pvhl7};#FP`*6sDe%8Qj$TFUej_bjl7 z`)|~*y7=U5mBP924h9r_K$+buCfdgYOV*+Ly9fc%UZL!la~w}1Qv4UZuNzLukL-;` z6m;;rNNi|j1t}gSaBKHaO5AFrF_zL~1n5Kq1V3N^}12{A=vyaD1; zSV#T6EajX+qJgn%oTd8O3YkQl)8%s8sAQacD*?fu9s@l)7n-M!NM!zhC)_b`vT4^TpGcxtva~m2AG@Qrm0^Sd}-H#|cMJkz&*{c#y*U zc>zzTT5kx4Dx9DD;zd)#$%0|vTV@(>h4a6Z%uqq5S-#f^q(ncp`X8%k?r<27L=Bp- z@jjwhxoD7Wz8DXScd|#$f6Tj;^2(*COyVJ5s29ScK8F{igvzqQ6ou@}MS&J9 zGh7FO2XYNZ_y(PO$HDpvojwx$mlww(x4lwI)2bD_|C|OONkbh{I}LdblIKre?4IHX zy%Kg^GzW^T{oeU;?VQ@#Taeorw>L}uS$h+2Ho0LCjf1PCXa!KxCh3&dwcxxJU0cfM zYRH|A%2QZ2Qw1ZV)Htbw5{kuPa4T}5C(Yh=@R0(N+p%5qE+-MdhCA~}YS&^qnp@>K zPF`hOhSXpsM5&uUccwMj9vp8zE>QA4bOuoZaC-a}fmHgbsLwZWp;#&T3-}q|2@$Ah z0jhtr&KsYZHCDKDI-nb2z8O#aQcSEyIfhL6aRw@-Sq+i0_eF{PFiQEG#p`9s;8R1X zq%ms(uZLa^naOPP?0sLCyKNYYOsb%f0QsZhECvJX7vAIl@ZEr3h2Eq_-8hB@>8EU zZ`sH8TISfp@=ebtX&?1h!XtH6VO_>kGexGKbzP5J%(j~(b3cwOAhmaXDyeLk;C1dT zQQX7^fA6YJ`{h>3F1HyKYt|4++Ncusl5-qM#9MT@UJLx5q5A3h; zK@)qV2x}A5mkyQr3v5&Kd0cL-l$!;JR+6HxL+J358qG9)DMwOAmdfR1 zWDfVc(OG@v%51(;;G|ZjV~;A!r+Vs^W}cKN!K=TB5h!3?Hf3oTqg*%N)XQSGctnn< zdO1S0I_*H6Oi#5F-L^ZE@hFiyA=)$-Rs$3b>n}1t7*;0VGmbXGT$zRn$`zXl8|a<8 zRP=k(S%!8mj@{$7o$H}7SW-=jZ(9i9qUIX*SYBQ20%-8|5sg-TxXCv2dXB1%={u15 z^1LueJ(_sb8`9tTiSe2(oF`DSBD{Fj5}Ys@pZ$F09VrK9tu7!K*G^HZD_t<-P9MM( z1T?&r{3?@MEr$LQuuZwCIb;w?;&R^X^Wiv3@K0M;gOnfW83XeAZ{E*89kdcCNe+fAx{^#MCtza=eTot!-QC%?=^DxF4r36OF7v2H z8BR9DDp$r6Qn32f|Y9v8pTzKyGtIlI45PnM@kS+|Az##W+rPc{Xjz6j3}=)<6| zf^qAc8fP& z8T&A4WIM0L!zvo#VCx?KJcF>0>~e+$sMk+G=~9T7^a@coo9!A;9Nc0@{${0^0Uapy z_8FgW9{fCFu0Cm5{9Kzkkof$KC2Bf0OG!ahXt-c7HrBgB(pbul<)Wc*N|TI;^&z`; zsi54otZfsFVzKov!tGwH)lMw2?I+4N(tFp6nt86ll`#rmT85gW=k>o=fD(UJAA4G||8#-yIDzRj z^u{GgYn_YOJwL#fjml83h2g_f(XxTI3=Q3SY&4I2W@G=*>bK`iPbeNH2!=w`A6r#D z)Ftq}$F5>WM%}=b=LL%mp4;bDT`n zG~Q>3gqd62hhvY@xeW-d-)b7};kcVF6K8;IdQ;ukn4?%K^? zca{%8wM2%NCCGNl51;i;Q3FLB-75t%8z=TH66a;gPpQh4Orub*eP6MB+)L2eV1IXI zDjWQ)O-_|(gw|}(W%YxIY;xJdIWgZ85bY`1=sGL!A7X@xT1?J;k%x`z^f6M*T|}w_ zgE(o9D_XmT_00t)GmbyRongon3{|%kxG$kB@oHh`?pd~%f4_XZ1Hr`QUY0O=c|;3H z1t^v=c4?XpsP~U4I8_xlc*I>X;UBJ1vztziuRj=tCpvMFUr-y|XeB&ynH$TuR(|_J z-jj#BFGQ!n+3DmVh>l-Q<>Y=*Z%%S{=qY1(;`pCDudFrvPN|$w9QEY9o$Yr&!TRdl zV2v#MGlVbGaoH~J@=IE;sb*!aT)n*~EQ?|DNq0T}s=5I(V3dpZnEGJXM)!=&^D~&r zVb?esE~>D}v+=l#m%3&lG&29!N{)F`@*|*q#B-H)MHhXIsC6i6pms3^1gxPab^=Ey zXN%BX0#!)kv_?mN5CX49P^9-Eo;Bn$^~P6B&;Th1XkIpmgQC(R6g3pFu0DUxwuf?6 zpL4$LT+jLohhoDZwEbh+jQZvuoj+td6?|LLL-JdJJXzXUj9dYN`Hd|Zj5-Sv_2~xj z3aRFe(@zdW5!vX9BEydwV*H;n?7D)B#Z`0h@K*^6=e|6Xkhi&zQg604%rx*4`n3ty zB=@&#o{hw0)|Ntn%ogVh0Oo5m45`l(nHt0xUX3^$0_%?`oL5DcY;hxENc89Ym}RZT zM~q8zrTsmNW6g)zFCx1RsTe%(zu7ge4NrqrkfV~n{)wJ}3#2!+^5tVmzkzU&oRf=I z(vb0|DK=?N;g=7R3U%LNU2}0~o$2hoi>fs|Y&W`Xf& zAt$UGz(}6sDt`5CmgncA%e5a#W~^}aJV;{p5G1M29!e;%Q#u`x-u-?mkqARpsNt$G zK}$IPXM$H8K+$!J-To~$=-d$A@QCzjK)BYvtr~{ZU19u%cfDkA-y5cX%!N8!U%Jk8 zL+-bC?GnSRl8(56)rv(AsK2*N4!BbSI*49oD(bBpsxB_n?ZANxPagWj6>ZOoX4}R|o<-1Fb+i<)}um zs70dceedW&q#UiMX(vCP+7%UI zA|C&G+)CZY#jT$f`-u#GdF-+1oc8oVdC*=uwTY54oG|#}+wC=9b+7a@&Pc;EZJb|a>zdp`zm@~wa;PhH3g)e?>?W6bLSA0)g&2DCXt>+)g#we3+ z(_@d7zEn5ZLzdM-->fS;+aJtE`mX;Ih)tl3z#^$OK?_#Bkc63>t4G}PrPb@XlZ5TbDMqO%2M>3)k^*gN&wP-#|tv~tXS$NyoFW$vJMCT z={8*>LRti%K9E=hxPYB_+#8m|R0)q=ucMG~ITGUNK|;M6PJamNS_82L+fEk&5SbCF}LJrYUyQngXe*2mc^&yyx{O zZP$+jAI?%x(iJak?D6ZEE|_Wrf=05{UlBoqV>9nHBT44Ll!WK(}Xf}2Fwl(io| zRApNptybHX?J<223A5RV`bwRS>_4W%i&I5<1R;SMY!5-91gn4n_E%5%Dok2>aL%b5 z*6BkQjS#mWK5(e%O}daOrlP?F0=`{axZ1ilm*Nlsh<^!MRR5NHUWT9B4VDQIj?i&Kj#{EGKaD`)JT}};`G3t}`7c(*No1muG zu_J29$Qj+)6(07unxjnF_&Hw7cXtc_8o}q#?}+mLgEMypzW?C=%I@I*L*4!NO0LCo WVbo|_BjK)k3Q$u*AuAA;A^!sx=^wTL literal 0 HcmV?d00001 diff --git a/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png b/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..44fd70b56391179ceb19ec7407228d6da93ee7b0 GIT binary patch literal 2751 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 FV1gMkG0Xq} literal 0 HcmV?d00001 diff --git a/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png b/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..089488eefdaf945eae63b52f58c52875da2c4f8f GIT binary patch literal 2258 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 o*zVNN2Ix5nK>q*VDlHK|0aQvQfms?=!m!$ggh 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 Y^F8suw_S;P=7#}fC6y#9#f$_04`s|;TmS$7 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png b/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..a038422ad40f9d96a009d6567ac5c69574c53942 GIT binary patch literal 5704 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png b/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..59da56847e8f86bb30941d8b57db80b2f444049b GIT binary patch literal 15382 zcmch;ML=9#&?XEac;gVa?~2~$#(MnfS&fq{WRlldZ{0s{jp@$W-IfVSu#OZUUT2(HOUd{%Q` zKFdIMHZf1h{H>kuV_Qs9uhrhjyK1`wk9Y}IH_!m{qqDys;P^2VFlzEME)It?PF~|3 z*bofj<9g4>&&594J-+$FfNL{gF}XpwA-jF$EPw5ps#tq%SzB&y?EdxsRh_0j@5#Pi z&876%Cn`F1ep+R&{j1O0y|3Jut=q;Ps-!Y54YxNEeRvL%M0gJUyVxB1aIrl4a4JlO z|7T5%GMTTTZ-kE>58hv(RFv@KxA_NhEk&AeE^SK5NWDq8_IG4|!XwOevbwNolsiE$fIznzPGf!)K?zT3SUNEyP zDd#08&Lm12h-qi`d)sE^7xGlmvLXh2DjxpnwzB5N@mh!kgzJ%k>&DQ3C6@DDS2L4( zeTcmn>XE*;xLN#|!kn$4yZ}r7E}UK7@;x7A<3$rkAZ5;P9b$OD%(--`=#i|pbN%6Z zV%EehuAQHXe?I&pB*%b{)$O!RM#N!=rJub^TkCB-f_cBw5nOBp3e9S|b8U9rK^Kn| z%PT?&p`;R5TXtWs(T_vZHT$n^I3&AV*m;l_JN!MBsmnlN8(3ZhIg@4fa_t51B(6>@E3Y)2=2F7c8P^>d|%snx_@&@#0iYT z(F`6ItCMzje!qa_PvX;HoHYO2_&AXA*X?d+=~ZFOs~DNURhzfb0XIX2v6T|#J)&(b0K=Sx$!?N&;eL_ zFCG8eq9oMt`~d6!k1-{r|Jdx|+X(%~V#%@Lf8=cIG75Gg<#6;FBB@c|EDf2 z$iFTXsMw&ha09;ln%B@&tIzf@BQk8F>B#B{u_?O!j(^$^RKJqU_;34#=qXD?^hzS1)?Aul>rQLQk_=BnuXgr@A!>`oJ;GaCz;OB`IN9BiB8uV$_ z6wVOL9IwDB?5TAw-~?ZJS|~tDx^sKR`#*TJzT;>bL5BU5-l(0sy1wsfJ7EG|*|5Ay%O^Q}L0PfW0tXX5#7#4m~*&G%tyT{^$GVSV)m_a8t^Syq2U zao^U|`(!lDlP#xRy#`GTc0O1Z%gsp`chUbtVxG{5t2#w`^I26?T#^Ybft_XRjqcyO2Q+kci;$r+#aw~RrMuEk26IBF-Y=bxYx zKvG&XoUPr-&-H!oeY2?6*qDD?F{WS{p#X_!cP9stM+V#e7_wuvO0nv@Wol}s8u7&b zGY?t9H}2eP%zFT-Yd9td6xC?gtYb}Zve+X14_kXka73A;s~2r@ed`7XZe>ZCLShsVQxX0(;4)k(qEG&u8k$U-Ok&V;y2lozR)Mi z9z|@pUDJ7lDWQ&`!!={Ny4QA**%c6;F?W^t4~^Ezk13AWxKn4xcx0qfx3iGe_>6g~ zD((nI!uAZr%JnLQ_o>~JdutJ)Sit6e1S9Ut8QW%%5D@;rS0sric1Bc;S~A?}z#T=+ zhTQYob*Sl)im~&VqUtnbxck3JPk52-KE;FO&!fWFNC$2E61s$Q8e&q$!J!Dzn{B2LpBED!CbtgqbqmQ7c6LGUs&ir*uI2Iq z5@DP=q)Z4y^yYP5I+}l}BDiau2V?1x3M@F3zq8YwA;PJrT!y=WVGv{6m`xL>TUbmx zSz&t-?|2=ZxY@9R{vx0r)hXtR+51K3kaAe{a4WEPW9xkoDtRXm%UK#I2O|`9t^~K3 zyLmEQR9RX)w)>|Fg<>Oi1jA>Se)?urK<(;IB6NUV{6Ez{(l8i4*^%AI2PdJe-&jQ4 ze~{;^;IVj=wf4z%1}l>pEEHmqQMD_=b@Pnfb0I&T9QPu+e4d$6)P=PXO1?8SC^#MORu zg9^fRF|s5S{AGM_)XuhlVcZ`CVJ1jyt*!9f$7-ZDluD*;soJ^w2Ro}jc!A5lG93*I&33xLrC#trM6qZ%XLIWBAUQRrKbHTEsLrQ3n*@dxDmI)mVv6p z-wR~QpLsC$EDW;8hLUJ=d z!uZ#)8M9QLS9Gj_fr>}`Ck;D}ACW7^17BiesREMy0}xefxvrXtMd*{9?K#Y3^COG3 z+}uftQ;`9XywhIqI& zCgG>7olRbjJ{bBDsvr4(Zq?k}Ll)7nLw|koK6UZy%P}F*btn@v{u$-Z9<2M>6lM4| z27W#P`kp%4Ns&$biN+Pm%ol z-Ce?*uH9ml`nm0|VXCw!!CM@~nL6vNKo4EJ;rbi-R zgg}IEEzA;dh)rqr=}vl~?Q6wG)65aFo_n51ZY;@_+g}vHrY1PrWkK5<;oaxUzY~Ym zB-~!u(QohGPiJy}`svb3gIhcoOyv~%ATohY_CxfgPhYOxl?tykEg$^V@O4USY+0`^ zzg$|U0BM=}7OsW={LfCM1?dI^K#w$ag?PENr{MZtLjX_0=YjVF@28iVHG}VmJ5hu& z{@Vj?KDh?;MAECMWUcr5-a(IosFIYp`5H`$r~y>x$U;C1|E3~P?kS;wS{;3?SIYIO z8VrGyv&%_E?4;?Cb+_1t$5xWl1XIiq*Aru?@nxNB^QMgLTy{mWA7m9t@6oEw*;%d1 z8g|sNHQas~CfqUwn#25hNWYtS2X<#g(d;tFexNL;mPCwFr!k)S3Dfshp_CqVC-Pja zC6#?5DSc8u>4R2gQ z`CJWFiofDgS0VzxTx40j`IRzcIi|rHWSHfp>hXDeY5ekGLX8shdbh@5*M(c{R9c_( z++3mwMQUV8X%stLCS+?ik3;gj>D`7TcPbZ z1PIm3GY&|SEfWbSJ^e`FJ`8%KUQ;`Pk3q@=L<34oyh2quGY<4E6Ty^FU%cbgA4z^Z zB|O3k4v#{*FYSr!DiLCx@u3Bv`ez>`xZ;v#&F7;ftnVw%m>n1uZSEwO2>)8yvnZPU zHze3F%%0?(W6IAo1zX)}0NyB5um3zz;_AQ75p?i-qs-|^+q3p+G`uoK1rKkHBM}^M zwG$YbU**rZ?x~Dw=iHGPxctnHl<|9Irifjp!#baH7IM!nG5z}-<6<;~dLwVF53*rF z#x`DwP}9aGM^3^fwjKVl|1sQvIdwzG+g1}A!;U;TumxYQQ|d|`XYthO&$^CzK@o|jQHsqLkNCGnvO8Ren6nV)^EEWMftiYaneMxY({cp@ zLzF%OMsUFIx3T?!hV>Z%hn`&*x!K(=?}H6Bdwz)N%qk6~w$u5rWJI%gHG@$E)efON z$*`4EVj2@LCOb!ks6ewRMKB6jPw|Ky@l>t<9CsUT9fV^E4oV@BOo8XGDjOp8tz(D7{WOyp& zFKYlA3Kx!Hv~Y@Dho(@SN9Q9+c0=iM*`n%ffgwrRAz<{HGgM58)yG{sxC*2){6fLX zKY@w$E^)+-w;^H#Q(~8JOO~7mjG}#KQ5TPoTe<|@S64udvzAt%Y-UHT3drLZI=s1C zm7Yvu7>bgu@m;CRl{ZDqnM3VnsE!Fv2Q7g*m(En4&0EI+7g0PO4i_2tPFZK4+{kJy zvEf_;j3VW`RdhC`v?T`N^rw=uMv^$7YbkEfD>QK%I8h=z;w_dUOFR;xBMtwggw(46 zzeI2!(sxq`A z_dRYAG%;T=gZrfFiw76pf$#l$g|$h`wQTL9zR$6Uho?i9haF69DyGSYFRyLrjBM!} zM<=NBktxd^%J-0sjvXnF>v^V}EN*BK2LkmW?MJp4wWZmCvHE+2SOudOHqVu8r;8K| zcB_^U@VGH5@u}A`)VRf>Iyc`9+GK?TKT=7c%I!`%*f8S*`&OG$FVa#| zVi)dp>7l8%=J-O|7bk=rEdzuf*H^s*AU1SgB&F40`@`13Het^j$;UKvzY44!4$CQg z;-pm@{?-Xp>b}jQ<38W$)B9dfKzWS2SHwOXD64Q5JG$<#1|@rN+Dii6IWo0ZWl1Tm z%BkVF#BJ!3&{Sl5AtEgp4cEGDx019EEwHF6zd`x+GU|exm&E|GG56YWbok|i=zXde z&h|5`xBoW2{a;Aiea?xA%5^j(RRzzgMdO~3zwawOZq`&0s|z{}WAWrKl<2;tLyr21 zxTy7-seuE(GE4#lJ5IwdN&K^`013xqrLIA?-3b+Bea4V96OC)7BrD+*>8u~tU{T$L=4eKs1plWj{|Kd);oLy z#gZi6X%+Onu@&>^xMV51tbleH_9t>PaS|Xr{F00)>~^5E&&tX~tL*E}x8HaqrQI)y z>hCdE=n|$xAZ8dxCEJ%EBbcMpz(a8mS{zooa zl^ezz&np-5uW2*Aw<_J2uW(-{x+bXs$i0)wP%$*QKn$)(L1o#2-a3APXm~o8xt{XA z3-FamF*>gei?h%w9W#tzgXg9ZKT8hK=~R12u}I$QkWqOe4O zW%cw&ppkgnL%Rs0>H*1|BgRVdI0=HRaiL*w$HZ-#>#&zTC_~XG1@euG%G9826DgdM z@+Zv4TdpYx=J8m$Lueoc?eDD40w>-k^X=zzcHnBv4;_|p8(Kd+xPiqYuO}A=gj}Lk z?VWzd_;mToN9?^_6=xApSJhX@h|@ncSy_^`?U39Dw(v~setFxP)3<(J8!7Ms46v-g2mB9fO! z0|c$Fp%vWUWwys8{2jBRmLN$gSB|}q>=xN)vzWMQ%z6u1t=Z!|quVee+qmJJ(4SR2 z%2?C#Fmmdx`zqpaNyrsOmn*8uKCOrZe8&NeJP8YxjSe6y-&h z3bFq7cs;2{s1SB_wh$$c8Q{(G>%6Ipw!lZ<49z@PUH>km2#hn%uClbXKRxx%QjL$_wXeb z-+o8hm#(}`4g@u$czX}q;g8g-UUzd zT85&c8$L44s{+_J0kS|BK?j(C&%D$uHL@UfHfxhLb`I<=gj9tD-*o(Bw1c zw|3B@?~+4_?2nD>gA{7pBid`ncn2Yl%aRwwF>NEGXlo89##1xR%J!Cr7Qe~pFsB&o zKkT>Qqa;3Ywa@{QN9j@EO9Fbo7@NBm`GJ70eMAf_M8n0JoHyN$w)-)@7DYPG@3IXh zwS0f@JSz@XibD35kda<^aee(HUbHR=52Yr~q=Abs3Q_E_=K%Ct^-F-t#pYhHy#867UV@@BHG5V}{DH(H>t zqaRO0@+p0+7{_KjZ17K@N$3^An<%?=;Cy>LEUgv-NHhzJGJrm0){L^ThJ!h0Y@-I> z`=xVGtm&7CW{YP}Uv%twx?E%$MlC?J`b2x#T*%n2w<#{`4R)P5TZbm> zfs;++WLutfgw2fQ-m~I;+LG^{Ma_G;;bZyO-=*0`ph!ArB?#&KiL`3Kiw9V9`TB#R zA!?Sb=%^_dwh8Gr|Ln3nZetlHAlP2HH zBn{_vPX!);>S2_6g9}Tqova>3xWcT*Fb{?i9FfyTZ3~`!8kg)@d@}@##v77N73im0 zo!od@xiL2X0bMQfak4cotTY~8gVx;%psC2TQddy{G)tmoi@Qf6Szn~14c*(_wQ%@D zOA(HYQf;n4hCAeL{K5y*_qwa^bzDfhEve>K(Jc6~0>P$(9=EX7?T^)?PxzuV^yI4+ zU$u=X=&=p%@XXB$elSJ+ZC;f{%dBK>OA(+^qwd^J(I`dA=#eNJLN5Brse2dnb6VGM zzL0V7^p|=PN&47@;WV#~5nr-n%+N?7CDB-&P1{l`FiEY~)iw*@n`pDt2l<>A&D~Jm zpKwp(7rj(t|3%+m>jR>+S-4m{HcjX4&$R~H%)kf-;~G23#Zd^_^8dKi?oOFVgvwB@-2UP)|>g!Nm|dr82J@ z0z{=q)E3Su|6B*cTyvx^sNmi}Cl43Xxec_5Pcqn7d(B`f;sVy?i~u`TwyAw7s#q~*Q|T@b(m#L%b!T3??JI3P z!@Z`y)Ey0C90%2(8;gX5IUtBD0l>vb8#x*&F5WQE6VGMH$s%@F+5Nnjt+xwK{3@6#SC4D@>B6Uz!ovm?1 zi$963H*+7#@YfekrshA?g&Q>OHlllZ`+3Svab`nk0UC@zc(Kzt&uRmy)vG=9c_IG% zzS&$urOhACVL^$dkcpEpnS^b(pA|)7@^uG>+iq)LIWEIJjOp3G`^2$ zwHjs>??v@LGj#Qct@y{f=FD&Os{9KwyoW%t zWCsway(;a!wBRU*P%R347rlE{YDNOnLWVtw$4u$zWDQ52shE2yL+uA1QSa;{YfWv3 zAvDJ?6p3ou-T5~aa`{RHfw`8`2pH~^U+*w5_zu=jFD}Qg_3V%F)tBi}mhX?pKG`N= z<31By5R2G7dCnAHF@8qAyUH8&Uu~k{b*H?>=Hm|&i$CU2BbsqBn~h%?WJ4BId%}5S zj85Yy7mVg$S#n`7!~c-7gV5nK5M{PKCYykr?fqWKtF{|64N$wa42v&Z3^WU}m}Y8K z@ES}Shn@17N?bcrh)5A*UUF0e-LC57w6DH zcB75oHdXdsnAEj=ke{_V&^X+=7m=-bt{83*gWPzR(~W$?+UjxG@{5hqOezP^$x*kD zAzJzzTBvsXUCd`{V#Vr+qc&ekPpljj)E0K7av&?w3?*w;NE4<6)&6z!S9P) zU^x3-E0VT{d>0g(Vq)hE)?Ut$nj_b}7MXGU=>oZXsfr;I6Xi8C-E>Z_GGqrDuR2$xiFOw9G# zGGdW1&1!yCY?f6|GQv$Dm-1qjR+r%Ad(D{tf=I*T=iP%irp&+7X2bZvd%n^rxO}Z+ zr~d7SuLbDXb2tj~kGSB6=%3W+P~aT3Mc@7b;FXJhic81QVlunR5hx}srK=|6#;fRb z)+Ms1d-J|iAparA*4+2V(%UIS|H`CS8gExGZy!dtH;*I7CZq&tH#pD5VB`*_SS_|U3I zqlaqh>o2KF|3%>zksIokmo-y(GrM^6E$0Io-VueCvg5b5t0E!SQ^~bk4(z$1B@R8; zzcAD2N%yu%ZW(U~%|>e;*LQWjQ}_3$oIw=F(@`F|cM?)KPfZ#?$=-H);!@zjzA~rO zM@+dNFH#leLAs24%`7n8@uzi3r}K;wriZzGj1!G^t!p4Uo54y?%(%f>@oU#iw=SajN40(=RCzgc zGC^ef&9V9;bbrszwP(XJ1h|O!Mv>bcK!y+h3Lq^?+Y+G>3xi{%F@Fzv?)O>v`=X-g z1?<*-{e5CP8dkwIPC9XV`W4B<=R#rSs#k(HACQ9=4@L>lm`)W2a69m-3C+NAnqFzw zhmG2^p!b}HN8Z4|C9Aurz;O zieiA!VI6TM^(x5}?!9oIWUQ3_Qs)jtR!2{Q2XHaH2WsXE(HT7a*ay5V#EGJVt>c*h zpr`Iu7y2?fyYY^{@mLCdkzj6!5GT|E8KNwvZj;-$zJHpiu0QU)6l)S&WkV$>z(D~v z6+bN9r3*1<`JEz~ak@6&Uuxx!D>e`HGc-@B0chV%L5tvW(~9iGdQEGty{$s4K9*v zgscNZoemaG%*w)}Oz=HMe?{C^|8V6>o*B1x7|JRTO;+l_vIAu8gq9YU@dR7LyQD(NwZMB>oLVqYu{YKi)W5*QRKc_mO;c0irXs2|$F5dYD7WQ9m zrj|V=jeD7o>G2W7pWSz2S6m+WAFs~6#=4&pQ34GOiXIBq929_{(`tQ4d{C^l1XTci z--KZ{PIuz!?#RkwN?@oI;#h3a?7$vg0HuITciJDe%$Km2)6Tf7%!rDFM*H8gj zY9NSp6t2Ml(WZG7V7{2wTop1BZL<*W_nl^2N7?m~rfXwc!+Ya(?W(iOTpl;v4&OV%hNg>s zxeh;mb&;g@fD=hs6n>8fbVC0{;$8Kk_7Nu`sCK7&Y^4jUp(uSakN3Mo;#H0=8iB9< z1e=0d(C-1S$g`(@(A!tvhbw9)_3)*Mmlfqw9AO4nZj zz%~s_DSsX@OkutZb$5dkYl~}B1&l}QH}-qS@rCT5!zJA3LMvqG*0{t|-aG6gZT+=- zG2BI>z1WTc`MsVcvYgAHgEtqV7F(dS>PK*Te(wI?sZbch9s~EtoU(=zFome(7 zgsSnO1H>e=+`L*ChChE7Kmz5qyNr=SVYk@=njs6I&nLNOZ445M`Z7>;SM;rr1j%-oEH50n%|jO%jrfgk@Q zN%5imQN()QsO8hfipAyRph4YBVfva$x5KTTg|gGk(xjCY^BPs}<}y)QX6a`WET}C= ze)T>{unIU_cK`h~N!BntOg*^Hjbqisiks)mH0NiUO=Pt`{egHC)5;x^1j7)I0JoZs zpxWs`wP_{6NKafmSKjs>rlT!xjU`4g!7PQ-DSm*)Ph?(eV(kN2YN4cr^bS^e(duIy zJEWc~^{=0ee}ivswm|Rn0`b|?WOeoq1js}my#ylyDZh0OiBbAb;q?MPSw?%c6jbk^?B8ufFH3TlD>G-XIljg z6&m1SSlgxR@7X4a>}7dB(;|Ci*{b7q4XG7_^GE;|Cs#2g@e z+9VGjF=Mes5u7a5_})(%Kz@##-6cugJP#wLc6vqms)84tysv-)RBnB25n|I`3QcA+ zBek4j;=sM8efP<1mBT@{mZ5};qE5qpm$_{nCmf`|BZtQO1;X#DKVofv7rbK1%Es19 z|0^)R=3L|+Ldf_@slzi+A@gMU=XdqUU;D+D^XpHLOAJyHl4{)hL<8$0ymKlXa#uMYa{K{t4)g-21 zAdogx!M1FGNFsYgXLoOlCH1DE_PDK$e?aXM90zG_kUv7W+LlqV^CyD&2<0G1tdpkQ zvT?A6jdULYeQ?FIYAT)Sbp&mTAm6P4BMvM<*Mh`Ug}Z&ckSy zgGklyweL7^e2N{ zHy!FMCtw}!`1=dmKY1l1_p02a*k$p;ap(_472?<-jAcfAKl2(tkev}LmVeOPG_nlN` zHEka%48i^ljHo|`eF}SJ=s^uIqTDdq#`YrijPzto22QX&_ggN!PRxV)6uEsUdK~1v zk#bUK<59(`LbP1|sUs0ONFj3v00Qqhq74c?JR-PrrD$F!qQQo2RV153PTt3EJo;z7 z5}weWM)rjCBSla6Dk@IZzo2G?6ZK+^sa_AtQ+!xbN=aDnN0$cDG&ONVA0_jwr7`r2 z7;4O4&frVFTob%}vuA2B0v zIbZ^t2z3B>&&NK_&V$aF%w|QC3asTzlv|*1SN^ueG4N&SOt+VizVMiE>cI)8^v3n< z@gC6EWvQ~0+a}D;?MykSQO7*{*j!Lfy>9e ztTkn=oibK4PhY2v+W^+NW$r&4cy3M*bnUTV#cDsKTR(%a&mlsb#MWBQ6C3fLoe0AVxcq2GyP-Du-f)lNjxYPy= z`%@IGw(&Xlk}MI@Ks_JxVCI~JN2mvgQ|)G_Nu!#F!mSwBu<6Q_l@RW?X57U{@TE1< zhz{lv<%Kl>L-@%Eo7*X1q=)Tc{lP6zs5&WGHGFrM26hj6U)OZ`PRB}z;hp0i^eQJ> z=pm-ER7F^|j_~_%Q;ysUT4*o`XPQ5(^RAY!1iZ@&fMXm*wCsug;ecU0ZDaFe=& z#_G_)iBGIai{|T#bh!FKbSO;GujXRmDg&SFQ@#-Nlvra`re9NZIXh6Bfkkf}2_2`V znyFFJUPCOBJreP^=FZJH8|d@05l}8EfIJgpG=DWGR^JV0SjS4edDQe4<@FD>)F*T9t;6KHiU*tjg!_qleUlqO8^Li}Oq-NROH zkU%bGRga8e)_gA6Y&z%i=?{@EWB4skF}!!{$2r~xtS5E&vrN>Te2hey>!yb}4t;{p1MznCqLxh*kZp*Jjh$00bU9EdKT| zW{{?Vt46LdRCIF>U4K5%66w8%74xss7yRNtf-dzOG33=vP@;Za`1yE$^I+vZ@(D>o zrXxEL)y-=$ds~ndOzfK6_8)0s$%CUCu;f zae;{FOAcp}THqME{ggL(bp4kQl5q|}^eA*j%mEYcr$`yB&HEZ@y>vjTRX1*6vY&w- zKbj;(;u5&MjQ@#p>7q^zMVG;|OTTt&`w%Hvf?z*w|0nXAql8<#EoqG&$hZF#2IjU} z?5lmcC2Lrq{^97dg~&gg^vq!teSm=}UkWh3$h#{v?-uwH`FFsbH%~3+#ZpXU|G8)w zHfO1;%uLJ+2&yBRj^LOl<&{jY&n?}f&Eg*G!=MtKeHaT?WZPUQF(rXsE)+Hx)^V<- z7)4K(;Z`(d)w>$jN&Fl=k{bP z5oGG_Z%?G{Z-<()KIoaH%AG71^<&uDI(Xto7{m!oQdBGj--=c`lOczizUiLtk zH0MvhSfxayK}E}wBZSLi96AOoe3di07oXTMNVo%O!|q|3;P%yYw`D zU2-(qkel0~SF#ssp=C?imq7d<_Tg#5s*CA*y{ErsT2s0IRVN`?RBUhAs6wqa*~fu z&0Oz173;W2mJ0OWj+YvYT{7Hk>^!{$k)w9UP+_VIN%dm6$nk9<42&g&S22HodrHX~ zs*L{4+^Fkb@8~hL5OIHa#4^B%FZx1QzE&N-6hO_=!iV{IChVgY(@rO!g6bL+c?kKG zhj?kqcfP&o^vv(9N+Hj$gP;S2Ef@ivfhZyv#moV6!i8g0$sW&e5ZHV&SUv-iTi!lyAPP z{H&Igu~fq;j{boKx^wDQs6Yqo%sh`lj);UGy(<}~88kXoYh)e0=Vo*8)LfOvf|%|W z{VKQB1vNTz*YD{vy0EI6{Iqiwqc{J|#unXDnJ!?K(`jtw3pm+a;fkF}Ly2kcQZ%;j z(!=bI$ram8BAX-@q=NeQ4N|jm=tmfd zQp+M{Q&;zhWKsuD$I+0P2w%P3zfVz1SatPVwPysSwPp_-8`8?}x0{hrXCgRy?6a3( z33?X!a1)y;u6l%icMWYh7*2WD=CXdX{!W4f1p)N*DQbriOyA~x4AI0sukox?sx_V- zy+jR9V|j_TuI5_R2Y4pCa0mik+;{Wo-#I3vYtJrrL7JZPL-(RHc;U6LF=trbNvhYv zIiQV38+dZTK#a`GD$~b5xDC9j!ZGCYTXQugr{1`!4r%Oj=n*LeeH zN~c2&Iw+X>HLW*y>9ew$sr_25v@vM)TW#M+Ipyv+dU#F=8iXo+Ssu#b7iC=NgFRfR s#&9K-q3`(qA2o3b-wp?PtUGdv`eGavH`DHUW8>4Fa+b>U?`SARVpE=RACGWDF_M1#!JFt17S&3 zekNtGF#(yy*chldiERllvMDd}u63Z@njmk!M;n{oeiV zIo~wGx*`BYR|KHwiU1T{(KWlviypz$*9SM>X`-hv`K2RJ z6!&`IhMRQ+pa?7xs7_@7RkPcvH!$f4G!d9iSpd}&!L3y==?FLxkWLu@ok}5ftpG_! zz=?oVw*ZQgc-0RiF9J^~b|wAMS{Y-4|E|~Pp(EfFc}Eg(QogUoQsb&Io=_>{E8kD6 z=6EB2-zZa8)<{R-Dc%*+o*GLh86?-9wn1IC>Rfeld_--2ZHs#P;OnZbp@}S$QogAl z5a|dwg6A*+$EVj{qpmsaA_9s}7RiF@U!VDf`t8o=R990g|C?ffs2YIe zMc^qEJchs%W8mQ9Mh70YM096KKcy00T>b5Z*Q?9doUcxd4p~;DbzM9^9f79+@DM^8 zVsW-S0L*9BU#qS@?Lr1pJQfScbK3Wr8;ui~zPs(0>X9AKs_y1CwnC=HEs>6ZQy6$) zVMd8C-*mxs>Z-LD5`j*sm}kM0Ci09Y9MdtChC8D_<9*!|V=^YtR| z%pE)atwr0DB4%aQ17_&(egKy=du*Ql%3U8s%_h#I_j z%|2%@0?+ISv$!n*&lL_lLX0hVV(OLSd)3#r{+Ig3lRs529otPH5fEtxQBy2Ioaq{M zHG`<1zprcXdFu!~vkBF0v^AEtZtKbbJc_MLn%$Pi;JNkjd)07ilpk?3B@}Pj_;Gdi z!d0ADj5|vNFpbjB`oXggs)ycqMlEQW$6Tpc#JU`u$cw-;vkNXMNs$(!t(%y`WGqh@ zJg*+#r*3)tM`|!R!r5nlXDB(UZhPWhvP63rJWQx_EYXz|y&W4F;I9`e#4pG5*AaN8 zzha>z;f*d-PdiS7#SXyJyHDNx*ga}EIi^|(Jg_!+0B}#k1fnJa)9sr+sm@%ml0g&; zSt0-v(b;b(#P4cqW1HvKfF<%G@XQ80*D!bxs(YRna2~Nd0-hEJ9@(MbKFtk{6tN}A zI{i>>CrbqIq(YWRqO>Yo9XK4MfbZ3uUZ}3!<603Lt|Q5Ya${~l8>AKycS`A5ui z;I`nJ^dww?K@?AL?&z!ZZ(clVqcdcvImB0f&6Pd82t0Z6JhX^5+7ixVEl(n5^EG4c z@7pOnzwL?psNzoGp-OwM<;e>odQA(xc9_xtw{N*my>N6Fg9aRkIT3+ZKqT(0n8do+ z>*Gb>$+0}K80UFxv~_L3d0=gD!SXZ`c#zwm5U02~cMI0#1c~G+=H)G2a*JYI_#BC)Uc zcv_gp%=Q9^+6Z{i3;pxfpG*KzIm#YY1)zFR5@LrB5fT3M`B!tECmkwJfH3ERr-Q+h zn)B}j@Y)m2>SS^_3q%1YDq-29SnK6Q;Bi@IvOc}UH?BW@gSvLz2IfKll!WSVVcUr? z-$5>?pTIMZz%yO|c=Chj{(uveqwGRyi{SqaLLC`x=93YGs{>w@DXH~Z{_mDDD#%NaGsffh>3NX%N~WUpLeQfo3WFJh%_&5?N;Y3 zTw|@0whmy&2CwlMpN7cc>6KY;#OHtj{RGbJ!*h-c?$^xKzsdX9mXK7m(^AIUu zBKCqid5YR`@bwhA7+nVSizFLu#=3lEkGZaAM4}OG(Q}7|2}26k{*%Ym!1yrpA)`!L zh3Xj)Ri^AwQUKM9_0d5bW;H$XUveR-2SQzmXr~fokGZU?cdCc*SSq+JEK+VCdq-m{ zC+>==5S%rL{7iIKiLyu00aT0D$7DGsyD+dgP#HGH8&o15r{v%;FBUehfM`i;ms;4; zVf8;1%((<*kL2`akE;qSd(3uyy?V1KCZ{|B{(?kdBkj@zx7m0MA>@5fMen5@+ehK> zQwLsEy9bWA2+TJ8p>zS!JiuiwQRVJUl8w`qJw8*yZjXW`t<`3IwEKT+9kdc7fyGDe z1Unaz3qFI(h)Ar79&{TmMi+I5E^O)`F?&1Zfx6VYSDvF5wRBpS+;Xm~P(qG0I)7=6l4~bA|f9CZYZ!66&Ys(7ZTP32eM($gW#Z z$(lz~}kY5sL3&$HLUZ(u7UE zkWg46{G7kL=mY#awjOweyGfHJOeW5>b~ZR}%O3f)v%D%}L01c8M4juXI7=KAF4Y6l$c{^08! z6ykqj!-v#ePyVcGK-8MZls&$>=@aU#9HG8|2$*?z$1}8P+LiA%UPWA3*&5Z*p+E^V zPL|Q)w~!bevWaeb09ZHx1mt#+vm{+)NnjIq#uh&FIzg=`0g@%gc9gA|MJf*3|7WlC&VY zjX(rs~gY1hI2(SJV6!) zKQG%7RnDEsgtQU5Us$ADFa0wn*5hutl^rc(=M%}Kv`$P)n*s2rb7S$UiL>Z`xY0Eo zi}|KiKxi#>34oGwJFp@MYXJn*txiy02Ov2z+(*JI3zELEL5^C+DEA}7o&eAWN+7~b zbrMO|OtS6o!b1i3dhpGsdDni11g9FKX zm$C=0|K9yP&upv<7p6H1vdX`e^A@uE@k6;7{5QbSN3|ZvPOnyp?_07U$F6eIxs%VR3|N?Z zUV4-ZiP%j55jsH8nNcy1vrBo;aCl8mxr^bD0f z0y;#32!p@(%r7|;Eh<6LEyEIlw_QRD1#1Y9nF`iDQqDT=9XP6fx9hp!K^qfJS*W6L zHm@2gSUiA|7QClz0h?62(DwF@5|F={LBgh&tBcaGaCzi zi(a)?ZXbc+Ok6mhwTL;Btqx z%9-;!FmmtryZ%TKSaVSg#)kh z1lrbXP%%c8IXB01V6c}3Uz3eZsRW1sY(!hg6aCwB5AypATcR*0+CU&e6c_Wnl8ExP zxUJC)c$y_Nci;h6`_@yN)gzpRZnNMi63O?fp(h=qQ#!wpn2 zs+la(S=8F09(>~|0@1ItEKzRRW5cqySP*GlR1j&`*9I;0+llks9s&>7@H|WKzy0*j znY*FvA}Ni!n9iZaEznK%v@c)_WW`*LK=&QtiKsDMox(`~AF6-{-ylmw?kvNJ{Gbgd z3q+%^M1@00vRH9)?NC&%U%XCzmC6_5w!+}~4uJ<#@vWSrxN{e)06^B<<6$ELQ#sZ2 zo&5)$qt>cgh1dYm!WM9%r->6~qO*J%>%bCuUSV#Zo(Fz5_|*kV)~Q=A{a8Sl#cgH4 zLxM6$Ph9j`Y$sY-0Kt8^^gA>@;lv`Y-INH!z^78&c(L7?lszQGk4*`plXH&F1U!iF zE?jat%UU7N<%WO|=Ml?;_mwIUcq$4YA<#%5LY&pjVy8@GiK5^^5a=q2z^1zZ7TgCG zO_Gh1TcU7?Z)WB4<00^Tnese#Qb=axFx=F)o_-*3Tcrd~MFFHkp*n=@c=+KXAyKvf zIjlwkU5T=X5N2^(U*1UIX|&)8I3fY)ZmP)%VNRDAJXH|J+lP+)4{BiH2Zyl~7&R z^O2Y0zL2*-p;Qt;qSx6yaJVQ#4Km#oK3DSl$A?%P4+%y;X^bEZkz!-9df;bM_JBLv zxa@7}5Xou7?>F2P0?iY^6E06kS`zR1>$w@`GP?YDrOFtRKm`9mzg9TEfkiz;8s&I_ zed$8dVFBPG&*$B0nCZRf8Gzz=!qQWR78=VyZ&y)ay zh^W*c0;xm^13IAabzsO6XlsGyW_55u*NjNyhE*HY`&OT?mQ$BUzH8sfW3+>xRllW$ zz^p`81en5OKdW|>vd2@b!2uAEwg^irTFE6rc5(gb?_i-9dFJQp_1*(KJUm^b1%a!En||Q6t!$D0{OtEmXrjdZ zg9{2DoJh{?hHG%rRFo$kA@Iz1gt=0Ys#hugBN9uo3N~WUu7q(Y&_vIk?&q!qN})*8%n8|FUh` z^5MI_epYS=sem-S=DXBc@$j2A!(58;MD+tm%LJ|lwX{{NgC7v+z2s6nJ-5gX-52LC zTFZS<$gzwEXI$8t8_a*qjdqb{MJ#Z_9p4QL@ejmFP~1h8y%@yWZWx z=!FJE*p{Zu_mDtDV)d>kH`@#|xqiP4d7i3tVfILDpULd9woC~FIUfvqIz&}?4}D=~ zcHkK$vJ5`(*XO;Tce{W`+I?|hRNNjakzgk;CwGCag_skY3y3hO3o?*G$F6y6wmIy`+Bn$`e%LID<3tt#KmRMC4A= zQ1gSdnGhvHAg|~?@XUBzO-1#Y6$X%T!w!T%b7<J6fvWB;^5eR2U>>=N!^A@~zv&X2Sc1>{t5EbUhz9HxmMl&qAQFyG8T~ z_X0~|xrdoCB=KMY$TPZ^2ZUTsRK9Qf{}6ay?p3y7>PM7x806kFUj{+;10^BB1tA!mbJ|fMz082g}=`o_C1pyiaA06Lzpmwcn4sqYSo;!rtLb7hCV}gtW=?Y|;@j7XZmaMpORsNKF&((Ov zE5m;bC)0wQhq0qwkbyo(8E7%#vw3EC^fK$&ga$C6tHaKEjycPhryduxhpouecM}q- zx3WaE5IwfN7vz+X7{tagIirN}dm&r#rOC#anmTKw`~Xrm0_$n-&NAoV0-S-KQ~o9Y zoF31G$J0tnCebUW{bGsv4VP^A-a-Hwq)mhF+juNqwgPC`092B*#*H0Yhs-Qohb?5f zaCPt~4+ik&Ao-LWkhn>4IqSNXsty9HRIg3$5tl?v$5SZ|{};FjNv;td3p41f*W7ha zus(37StT2H&%LDY!S9K4Zm2pfPgV8CJBc${pA3PPoxhJnWSC(S%Sp7&1eEwUsAyZF zY260?jxxo2R-VU6!K4e*MaqG}OCa1BGPPmpTX?h#6L9yt_YNE*(U+B<&b2aT2S=ni zFSQ^D;WNMEC;=$t6osZnkIO1^1ZKn173~W%57SwT0|X%7Nfl^hK488_vXTMdKMUZ zCFgaR8iY{UNwn`q=dS8l6cApN7odSgADFb@&c+0ZE5dx_U%bARG&Ua&77ss$NA=QR zrL~=l)f4-+vsF=iltBwsyH8giCb>kXlYq+9GmJ-hbkFnLKR(xml@1C-d)-Z~Ss}a( zJBOHz0a~M{kHpLEz(7iok6G?Qc-ifTX(#r&a~{;34vwP{Z=>T`p|CL~=+naDee|t= zqAn*(glsow+)C>d#7Ai&@z$P~|X(TqFp2rlW;p0}wlT>K&C8X^^uVq@B6q(z7&gO+Ty+rAEk zSXhW{hu%>C{@g0+4J!wp%?!0-o*|CVU?y4Dg^>LeDwRR7v+$b_*mLpq@aRtOGraJqvwi1UkXpnK|H5*5dH6D*8T3 z82_^MelE`Lq7IL(R7}OWs37l%xbT}1)`NSYi4m3x0(NNxELQ7Mid-WsBZ{QK25>G6 zBwcu*sYwc5MgU1Zgb6g72tz$zheTe8j9-DZiEH3zy1JCUaJdj9?^T=J}29kM(C4_p$Cfx=|^aDmizWvH@DPt_se9P5x88Yc{6=;iTu zwOK?hdnv=XWZr73H)Rz-$@1(U?6m{K^E^hjJOB@sAOt*oj=M>R2y-6rq?2Vi=Y6^w z9o_>7bljaNC>KKbJ`UkMxwKE@hv{scLo@Kj07KVzba)HMo`i$vV)w!_Qtg}}h0_`yuLFu3~(VBIvB;=et za4Fs}!IXzNPX;_GJ8y@grnm#o9S%I5;9y*0|c=3ARvLRaYH#w(IMa=fGS`no$i8A0^2Iy8jq=BE+1a%4V2to=2iB;XGn_ z03Niu+_Ck?3?2+9u;+d0syU;c>wZvPl2yzeU#x@TvDT{QFRvUZ<#awR`YK1DZP&79 z4zO?VnA1R8%QRVeLO73Do;yR}sfKO^JFnT!FT@8lPov2s7i2L>OkN{_0*CNAR#g$$ zTsUsLJad3je5l*pEnlX36 z%yi`m;XI`V&jfd-Tala^=AS&bmn4u_akUCEL z(0%Jwj}CgS5q7-flUV5wcnfCS#B;R8XxoJwL#FnqfM<&GM3^ua>tw*pNzUO(8O9DS zZ~{0)Q&O|SJVX3`3>Zf*I})R7h}$ir7NxGNuG3uFY&%UcX#50~ZH6dt@Mfufs=Hd) zOsx5`&k2Rc;wuK@`SeF@p6)cwmdPnXiH9VmVawp10oidfdbh28SPLL zSJB(Keg_RVtO|tp=&0?O1T1*(;bga@6tvD(U!tKHp>a%o?=UmDY`F476Dxub)Gg1wQ&4}jG&ix31#rtca8d;aKEO0%r zF3>G4C-Iw{qBxz*S0tvl&NX(l-z}Rt^yB!Aaj7^ zg6n$W$S(D+6=$o@Uwi{=aIm)V|%!J zq|n1|>q^d%&kAMELLKFEFxnE$S>zM~vUOd{)aNhyAcMzdnB&2ru(=uL(R4CcC|NX- zLil{-r3DKz-aJT(>;NL61ugAV%j}!J zBeH@-1Me9<{(3)gEhw1vKF#q2zgF9*&63uxpcU@+v;3m96SyVW9niP##tVefO|1`1$x6glzdN zOWK%VK)A4J&$+++U>W6T5x{^9WgiLBAWB1K`S=LVryq6%-{yosy75`g3-ftcLVbXz z#4b#`nS?$k5M`vlxS*x(aFvuhFJ8a{1tBJ`L+%L~#1NkYPY3G~>6GFmz=FY4OWHaa zC?L47C;%H=Q|FX!NQM`Dv+u1k3Z4$9~AiJlQ0o zo#KI(;AM{3;sX{2ZVg9&gJ0#6YB_@}a77{J;!R>%AS=P3DYP@Q%oSiE(4ZcNb|Z9* z*g*^0%~!Na#+c(?N@c(j9`jI(tvVG2kbo%WD)7iI-~H}SaR?l)frU8-Ui$*gF1(wL zWyAp`XDwLCp)xF2Pn!*yQIu>UFy#_fi1uhkLE+_+*Y>;M#q*wn{?1332yXTMm{A&hL$U2%=h!On|RfSzx_@U$L z+mG*Ia3LB3XMoGg4;G{Hb&*fj(TWyj00dw`4Q($0=Lmyk$XS(ikTC~Xto!k@j;A!C z8Pm0Vm15dTyrd#}+R2!N+9G;jJqdd0FK1G>sLtu34~NboJ-4B{mp3nigd|%Qir^5% z0W{z+_&Scxv;g)((>X}%NI(^whO^P(!ROIc0RY{9{g?E+@B5NjNg+HBC@^Y@!Qnb^ z2@>e*Ad9QB;3lO7aI5_%dpTFMqu)+3g&RWNg@yD?xMSA+AWEajr*@`F?s?Z4w^z?_ zDaov-a=7is_P%H~^_*o(80=vno$w7~owJZ)SX*-ZJ&TcQx ziAXtvB3#=#m9J8Pr))t2Sr>zamRv|auwY6TLUv3UL&yv_w2MyC*+)^)q2UueGdbzN zf^fMJV4)}|Q>yT}yYo~BOF6+))+p127$~A3SP#^}kc`^{>q20Gl{rF*#{o{pr8tTL znFd%I7%X1UB5i_@x&Cr1wE~{9Klev=Y%>50hs~VkAK)m7!J;i#_``+GtiKUyMFf_r z15ZWP;<9`H(ZCG>BneLQ$DM1-RLlcOM2J*JSM`CXVw?G+zxcWdr}@MA;s`9Y1D=X| zgHoS}7y(Ds@1eVuyy*x$bpoIWM796?s%r5fmsWcl&x;;P1fIIFK#?`7y$$9?4=Vys zU0R^X8r8-|s;OOmDgmihEO1S_iFyW7t-0=+<{9+_q*~>CbwgBZ5lrAwD+!Mu~zTBMi)eMVo59_`s$*0(TUFLz1KvSAc&A?(R&by5}jc65@Gcf ztm}W@FYnj;VP>9Z$~k9d&dix}<`=K6sX`24fB*mhVl~xgy7y(ze~AEmpX>g9g%1Ec zP*8iOi11(h`_d`R%+R;1<@#rrsu+Wl?O&qiSCPFZU1X|C&;hOiiA2IHMK=AaC@$)V z8XPMzYP0tl+TjTPt89oqdyJHwNGSnsfh9ZO_Lo!KQ1HArE6+L)` zOWmGYT*6Onit!IIS>~TsYw-@e7#4UN0T!B^j1e@bQ77A{yabr7%{2s(79Oy>04@;` zf&8ygQL#t3GCdgvvGQX0M>TLg>a=MJa|1|wf#NRfQYlA-*d$@^ipsbxDw-huX;8(R zbUIihlSWBunQHP2tq&C8-9nBA8iTNC9bT;zI@oQ{ZTzptcUMgz`3MKSn!v3y9dW5A z?`85$M+i2#$v_{bjJm6|5%2UUo$Xv=|LywveW;ua&oJ4skk9KSO#voc2+0bOQAPUq%V>IJJ&vxXWupM z*MvnrtS4$N{O*>zH#Ld0uXxx#)DpMU0oT1eAN6<{7h^O!#Scy^&g-U&mG=|FjP|qm zpX1Dc$glwH7y*QyGp@fB(h@_5EMVa2IFei_f?^!XD1xpxY#e4f+gWv|)}XXQO5+5& z1(u`P`_q_u51ci?6;H8lcv%dtq_OtOz2H2#Y7WvswKc0mjY*ocugbnZgr-C=b|cG zsE`Vqh0rq1{dc%hIlU@>jBEuCLz#M_=@Nm{z%^eKs~uXw+ggEOFxp^N-MrINE!q<$Dvo`dDb4F6`rFMNXA!19WwKYVzII| zxKDU^?W7dn(TCfH=X91Y@O1pyQS?vVDK1ip<>_Om3+MbM6$aV&!dbmu4z=K%pl$i^8gkF(!{-SVyI2(e&!e4lz#Rx z#uRp%Q2gPxNot(&)% z&&3WV-B&!`Og$33zR4}ZR4j_u4{cwmkLu>5<2^Z>bQ6Jy$!pMKo2krwarr+4zn3ov z=RRK!U9HuO*RV1NDxNp_8H#VyS_^{fH{Y=SWNCcgT)XQqX<|_`RnFYqen~i^`)b`B z`vF`%oeaMhtQyKorx@noF0b`PF(k7v5gE$=x##3S%vX1zebYF-i0&ne`9|7DyMOm-hCS$b#TWo zaC@Ez=CUt$Mhtb6|F@RnE&v+dp`o$&C3UWO_35@R+Dx_2ATF~uv$Fqf+U7@6EC@|L z2cr8qjqSKQ@Dx|eH#7TKCsZ%92cBQ(&X#@ldG{yId*`9OIO zWY!MV*2&Owy^hYUvrPip<|3B)8n9a1L;xbx{WJEES+eF+j>IQgOM{Y}k%_Yzo$Flw|PeN>*V9pi$GWx?o zAi;6jy7CYa6IoAs-I25FP7%w&>b{FRnc1pXQz5KXd)S2XWT zWP%_KIAX!^6b^4qMRvYLCet#>%gaAA0eV22f8=!UH2LUI96G8~%?L(5@@H~i4HOUi z0f)uJEU|sG;zY-b7Fkp(?=vd$Rp0t*D9Z0F^HdSj--`R|a9sDXjk#5d;IS~WIB8rz z59Can3c6W_K=frkc+4zJS1j&@h^Wh?(&|2wNKH+s69*rjPkv`miN5J3t_t1|wbHW2 zwFq2SX!R}2NoG?|^85l%!&h7>Vd+ifp+!cRJW`^1{I>S*uFfs906n^97tfK?qo2+s zqQY3s#8$EB0ra7Vb=@ZcKtX31UFLw)=9lG?#cLA>sRnxBT?nGxNw=8p8lFb0zh8ot z3mbs_Ls7SUkbT%H3jQr^WAb`K2Re@-DZLYDd-g_?5q=Z09rle4l4AJ28)zY^^A<5x zPH}WRXyEq)_u8|;*u&7a?kyxXFN`YcUdw-k)N>G&V=Pu*CkM`@;Pm z(y=B#XbaY;9!Z9i*@z+oD9z>4g%H|pR?8`LX=>2A@hcpAwVE%3f`93gWqF+o*`La) z&1i160)1ZD)0dbjoZO1^l~#$0i^>lQBw^w!J`a@`ZTdJ#ma83wtg&N5Sj+Oi4_+O% z;AJPl?$29~*%~Q*n+aQ9GRLZ)iPpbhUEFM^&c?Opa79q}4vrKRcpH041x@<0Hs^ z6*UmKSI)y~J2wti4y{oF@2W=jnHIB+hh+6-z2oGOekHAGemgCtlp`vxSrnYmpl0>^ zdfj@-zRi=YjH;tJ-y>>bMR3cH3^@j`zqZ2C!F$AjIvMQMtk%Jd3YYBe4T3!1{8LzD zFi>&)X5lLhvT3~$BCQpf>W(sPJWEC7adGmu>?GvnpE%z#*<3oPGX(V$QSuL zklzD>fA+eXG;5V2eG5O!H(|`RAp6$`z&{8{EX#KBDZ9&mhW#9t1Vp!gYF|D`@y=|XXIQS=_aI8nwzo8r+UV@3n zFj+)yH%^bzl}GRh2b;Vfdew`}2f&f6x21Ed6mzuu5p;Tvry+rdlRW1`hPPmaAvfJI zyI5_+?}a;trkyiRM5L4HuccZyD8LH8r=u%Kzv6s8`0QlwT`*C}E;YQ?vzT-)+_l0{ z+InJQ7Dqdvi*_x|!1rlVx+0NJkJxxB>s7SO?V`?xEytb7^vw;a&g+lb6W;Fy1^{C^ zH~czV&HAo~CX}GnCMmWKMTRfY!+ZdTY1$m@$dlY-eiz*HXGsD0IP#Y-H)j+ArV8cm z$O81e{bajE{I%sn&uDLa)e9+V^Ito@XH3^@A0{cGeUMz5P|&a7E%c-6c#td8(0K3a2mLWWNztMKK0if*nXc(l`9LVtvQFSn+`v zb6L!+ZQ+0Or@*#nXp-Vi0CKJeBA8KrhMerC{3Zn69>E=v7k|=6pI@JI{a0v$SrkkA z2nTe~NRAnxgNrB@*vAmsm4e^vQ=t7!#_#@#n`)T3OD9jl#Zh+$oR?k+t+jbM$>boZ zqiNIk60hqti3`7;?xRZ>Dh+VczVTMOdLB)*6V4M9X(X|If;+?=7n`4I8ss7=335C! z1FyQ(B3X-y8|2%_B3Vn*K?(`61x=o3hp)6qaAfJ5kOz~I}g8@41I(UacN zjphd&-+y|=4vXQC*$feu@jhR+Hszms(slxm##Pw4Q_@Mb9da)4Bd!{1F-+T0$+h06O-?3wCDZM zGU&JhoS&|7hCu`V5BqAy6#ZSC9)3*=y45f}TQq2cj2|@dpr3sdF`rQA|7~sW?LjNd_flg{FQG9_))cRujWH1HF zqD=ykiiTOgaDe2H70l7ZMe2HEI^i@EP#8wLr`xQnVm$6{gB4t>WjY<7 z{&>o_DNksUpba$d_XX?#Ifbz*P_tCivD^&0Iij^%0nmiGz;Vu@IJGGo+WMK!`~7o4 zJW&Z0>3#%yR-eGuRuT#{caOF7fz$m#O_Z?5>qEmbMAh%exxDyhNIGd2pC@-K7_z1S z@1D`G5pT0~=!r93+;1VkKkp!7mzoQDy9S{f;vEMRJUR|T;FUYp+$w0mrNqQCKMXi| z*K%NAPuZLNsg?**zTlQyrQZ0?mIwkZD^HX-e$h#CZ z$i&4r^Q`7Uf&ifm_IqWf4i(@;Gv9nXFHv8{PE~?%D5R;DIFFPx^DN%veU$~-lVN&u zl?3nNuqpg$VfVHOeO>@KOv^xYh2`CbDZnDKeiKv|MC70iV0m2KTT)g{{EpG)nH;v( zkc9`Yz0}{;MIyaNmi*%jxr#luZM^lw)P->W=d&?rn$}_87UG~1FUdkZ^o|tqb7GGN zppWwapD($z)&_E*kBNyB`=+)W{$kOx#b4Jtnf`b~CPT+YN@QDoD7_h#2yHx!X$F2s ze(KIjLTO@ykQF9Vri)Yj(W*uc-a&Td9m7I*B40#wvJjcaqNhBrxV2KaW!*v9N~7Ie z;|j2s%>kSp=iVSRS@7_v02-$~Iq4xmIDiJR%w%OsfME~&`p%EDg|g@An2{*Y-+%y% zgOOzb`0>c0pd1Yn`?jf0CrtIdSB8m{QcbE}EpfISk0OzLNp9e${At(z&yRX;R(=Dl z4iISfz>|4_{Y(WcBy-zs>~wsytCMTE3Br`Fg+LZ|zz5{X>_OLLz?Nu251(FNu)pL$ ze|Ol{lK)ZeXz;yf#%)aQ4=32dL8vmeEk-525&skO_SV9EDKI~ztqFCBuc(u*>LLYaW6EZB`X^$?6zEG`ct?(6aQK%jP`V~iMHm_>>r$D z(wY+`m=y5Q&-|bIKHtfQ%pdsGVvP~`Bhhi1$v->sOYdAve)x%|pQ#(VqD&yj)Knc-|3er&8{V~8>>%QEdN?v8{=(R4f1?2Q%nRioo zA~ph#QZib*0n#z*HF#PO~O#E9U? zT*ZE1@mx(*NZ^?Zo`L*^3e=>*ZH32l(}jMh{93Tg<(2B+o1X|g<8IS29gZ`_aJzhI z7?4nY+i$$zCJqq8qxphsojLRGOdkav`pLk7{f!5oWs*_m{c@h|3tvBY5&)Bz{JN?s z{ZkWcMMvPy22H#Lc|zTUN@KGGEr(V2XlRbPdyaq}I^;3r?`zn%wN$Ab>)b3axMEjK z5r$$^zP5nvz}0zuW4uFv6QK9Ht>Yq^B=~6+-CS7tX`-GAhKAtd>~8B>LXZ9g>0`@l z*BfE{-O1FaTaC)?7b$}o><*_9Gz7uo*+U* zA=u*9p0mUSY3^g>+v+68NMEFUeZUx$DErk;_PP8@t`=))<3?QPXBuJ9rf!KR^?Wfx zFCl-PyRtG@`I#ZqQU`%LfO>oz1=Xji@d?&{aqi3E2J^a6&x!99qMrLgc5;g~7)A++c5 znUg58Lm%nct9*1dfw;SQo9E58V8|aFCMfEoD)J(2xmeSVz%$Cx<$^7 z1_ZfFVBpI1vf)J;=ox-IKyuI}ZMw`SBGmop;d#za!;DJa0b;vDI4t_iZv?Q?ocwkP zd~pKB=^~MT?q0IyITu5wRUWtHOm{(hCVbHr|V7BQyomAQ5{yh6UP zWmtxdq?(7AhZMI7^b%DoDp>(|>yO7s0lBT z$D%YlowPWiRIOxFVFxjOHGdwqam^5Abp{0g96Q^2MC{Ydc{Z3?R~`0mA?!F(*uZMM zt|7#>ipfcMafygEatbC`qHUvo9tHZr(~=B@l3PZx7*k7~ebkB(qy4Rmie$B#9{MDS z5?)xaDQ1h+F^QduR>tP1u=?VJHnNrkQSE8@7?oK#9M62=bR#ia{>*WH^YyYa4X5z_ z;+B?%gqyj^*5Xv^(U(MjyWvAm-PF~EZV#QbMLc82KFWTTl%dU64}n9-9b|28o27u>EAYyIOf^QUr(<&9KiqHEMMlChB zwr~*6y0U=ZosSLNo3=X7-U%yN`Fv~guT7nQKgBsUfMXN0f_=H)ReYD%T$(y~!mjTU zX>XiKQbT|Oq#|?>Zc&eKCTF^tu zwX1w~*>EH5qwCQc_G(x!ynhFV9M?=Xac2^WL)-VW zMDY(_fo_T`m<>PtE*ocstvt0NhJ!%@!t>Uh{B1fs6_rUo>U!RCm+e#`=NM)IlciQ_ znPt3cSFj`RCt{)-ZyNwPZJC5Nwm23gq*@4J0{;STzMlPRMz^LB&RV1ZzU#!r>SWM4 zZFJ)!QOB~b)#U7y;1_19Ge1uo7OUY=>YLmz%6fiY%HSNuMyrNb$G9QK-T)o5hff~3 zqp-1%u1#R7H2$aNR83c9}Q zqO6@u!aC4hW#}tw?3i(nMI_OHlwQ+fJMiZEJhgbqNx8&FQ(_zAIw9kvpbr?uC&C8J&;^a!je<2O>m~mttlY1UUIV(*xe&b$Nh9dW-)&c|zbS@Ogf`g zrbt^3ax_&dWl;XwM9%{*v-Dq?Cqdl*{(x~gyJ^}ue%nvc%ze&u(({M&)ze(THa+&O zB8J&`cciD=FPlMVY0s4iQu|F`3S-3F8|tb&pvUr6FNdLj?n%y6=v^c6hW{4DEu*@i zn)&)j3le-zUaqtW$M!(8Eqm4R`yNy|Kx^c z?eQn(A{huS2w%OEwC&g4BZdqnh^O*4(DvS5N&N(79gOD?@Zy63C8+Ay7Vl1>@6;Z< z^48{p6|hwK7)`RN@s{$|w^4KMQ&X>V7VOMD-u04IIyK0-iTL} zJ$31_uJdD?&+Wn)T163$fi6nr9BJOF{zbKuuLbG9ab7&7q zFDGKbaW1*-4@)r!2q#8ONp=e3VOt4~e84wV{_+=JWekE~7Z1Q~c%;8lpn-bHmrMcm?x%?H290{)sR8RAc02sWwU<3949Rqz` z9S@_?2}u0(#s;?*2P;PpOOHiW&TNl`&dmHOVu%28p_T4d{;XENzHr~6l|WbLXA=km zTxbwn9$uS>rKTEQ?owYIc!UV9A7M{N#G(k>P*;le*?CSLhns~8=wBYNNTct8PVB_- zk@|2|t6CZF@xk_Kd^4mcrH`8GC`FHwQDT)zDyX1S?vadkULJ{t1*OjmtGusHJ|&qI zy}Xlp8JU!zdL1DU4Znx0+|Hl%u+#O3XX`?Zrau~@{7A#^#5`?G86z3t6z+bNsp(cY z(!LZA09vHP88%0NUn%)*vm(3KY8Pa0@<`fU1c=Vw%jyp;6lJC55a)9U3+=^y31e2Q z1-fKStPrP?6zcJ+m(28szdU`^j!ZP>4Q&l;CmOZ>t0R3S4){B`NFb0wkMu%c!9d5) z<|FG-4XMG|iXhhlHKLO$k6%&vXF?m^l3_(#o&_@h101nfz=r(#Ff8(4}z^8iCouxESY!fhAz zh|@=my>5ccQ%%m6hOVRnZUubinira}V52T(21Np^m=TyxD|o1;K6w>FXUE^VwMn(YSY|xIw>-3YhC6gLA^4V1{WwB_PV$SqY9@CT z;@WYSR7~XKt{I<^w66;QKo@8*n=xd*@Jn<@{is7yspvlXUzn@aVi-3^>E&Gd$+sXd z$@Jq(QNDu00uCxAc_1z|=!&i4I=+M>OA$&M@x<;DD?vS`tl4lCd=Kj2A3?&rS@-Qv z7q}AYT0L*e?O>@{&$q^J^OpTX_2Jfu)Wdx1r$C4)Sqm#yeg7!uU#TCK#cM~(+~7{t zVJTm6p3UhdCn9NTP+m(Te$SUll3s_J_MOFjxvw6wPfd!;pih^wc=>N8y`Y|PL+dEXskF4i3(B}BCK0Mag9No)Wode%NM*)@ZzcHl$Wq)weqio- z-!uN2{^AFffMd)LF0H5RuYePm5d|d0sQPWeXc685K6TARKCf!A?#Uau{{+xyiAc?p zYojhMtuXZ1uAiUs4_?>74a}y5e2`v@(68ye0vS( zdO2KG&|x2L#`svb^zty&D8ykkbDCsg;5~KrR0eUp*;ZrIeBS~c?foy$yEHxN)>=?~ zk$m$#pdprLh;Z1ZAX#mZ#^-Ip*q7I;0AZdMN~@G8ZYH(_)A({P{z@wv+h;hhrN3~# zNMRDaN7^8MIz>M57^;kN`JT=Q`+s!X z6}MvXzYv}2GX3xA4G1ZL>66Gz&dNm$|K^(F_jElWGwPEw%Pj(ozWzX7O|aYDH~C-F z!j;_2dl`XFqPWscG>WQu94czUY5#Y$(fwm literal 0 HcmV?d00001 diff --git a/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png b/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..80db8bf4b4b0549cf0bb536dd3bf4651adf72fe1 GIT binary patch literal 21821 zcmb5VWmKF^&^Cx`a1HM6F2UX1o!}lcxO;GS9o*d^NPqw#xNCsGph1K0O`iArcK4h; zyJvqe^vv8-U2;`*b#-;Lsw1Z2b89|9ck$(S-50|bN?jGUyH z=I7PZUPM2OC67&S6EkNfltRMZdJ8ukJh@U?JL=ZuCMtv2z&38}+_6iW+~KTozHwF( z+BOTp^gO10RJJNpn(@Mw*Ng0h6IM_ z_;2suhCu^wBZPOr%l~Bv^Cp$3DewaEZ}|T~i^{A|A~mIucX>u@!s@E zvCxUgn-rq{$?4A-oV(xgkevc-8zuD})qZ&FtqN7*oNWCQz#}v_X6H zX#K2fO(3o%moO*C)w*nS!#rU8#@+pWQS?~U*qdw>(3jc9xgLVPksE9E{c9V|S2XR_ z&dY(uwvtJ!GYY@g@!|tUNfJ6&K(I@5n^IhG022e!$vS&9cvkBRtQqr$jubzvR346AKA%APjVE)Eh!Uh(`6$99XaWItTPVcKQYm zr!1+HI~T{LC8Ip+(Mu#P1W&DP^mn|{Zk$rWuMZE_)F(i`S!pq=r)(o(%cuXbQm}6; zP?>5W-`=1|)ZKU;L&lDRF-f;w%Hs9JLuBV{Jv~u3-VqisU62Pwy#k`Q|MuMnk?08vbXX+8%=P9~%)k4x;97Amvh8O%!H-lNL8NRdHwHi%AFM90+FGp#h)G0#1?)`pTT}5E zabimRlL6g9Q^^?k`Rg%FEziQj;t?*ALS22yTCdAdP15ox`G5S%G&J&fdwh0{P7aJ5 z{->X{mL0oG{b!GVb3u6I^7Q2P@T3kOV!dg(6s4NH9)*(q;oq~iLw4i#C9+@sNh`YA zV0XESfH~xe1ZXyqXELlu_CFQ6B1zDn%ho@A+S|{@;iH(VdMzQ82Ffr?|a^|7D%AYP0_V0Rj&}dJox~ltHE? z|Lep57oz`{ss5usR=v|mek3XT4zTcLNRR42VPFWE<&6KSMzjGkTFe|^G^mCAf5Z?s zjuSP%jutb8;PTjOWz)E7+2JgqHOT%SG2Rz5NB0Drlr2&3Y1JTl3muOir!cD+U%%li z=*yTw`IQ$**OLFmkM=IAiz)#B%VYLdpGYnT|7lcH#W*J7Y|SI((d6u*D6=~T*IR0( z93}8RNu|@4vR-*C_8*8VoIb{`8wSjrzF!8v%v5jw649xE^kyzcv5xvrgdi|^6J~UD z4_p_|eH;hg0*B)=qPN(aNd~m?1akE=-OhXOZ_d)0eHFq|99J)3Y$g7|-6BUIS1;SE zJ?^AApdMbH(BRhJxPZb@w%`quW2ou;*Hko}etR0x;fmK0`$UP8dwfl|PC+&`*>EETwD&%KTXEz6?|Oqsl0sDFu~E&d+fi+ zlZBP(D0_7e>s1XxmEm!$`(DE8x3SA}o>1a{khjANraz^PZlNu*(6rn~ z`S}TaaXnx0Sg#^-;^TP5gdJmO`p?CJsf`(OT#es>4)_735 zu7By6H~9pdwA=|ev`-;Dgbcq$fgpmCL*De@I;F~IG-y5I9KPSjwrVtULlFPmXnn!4 zfGeYVjifFHyOa#Jm`AjjRrVcb=m3OEtCOkrbJY-bs1ahY6upTIeqN3u(T74d*%JaP z=>mKhxS$E9BwZogDV3x>^8Y>==;F}P8czA(Jp(p@z${S#oY~aBgE8iDV3040V`wWh&X?+ma=G3lAdwQ zy*T81A*u)g41ii*OO%w{_NY-SRAOH5Q04C^$p5&Nl@e_Vu4+SbsK2Mb)g?%ROi#pr z(_Dkov*{=ei)K>97sQi+0iK-058LTIx%t4a{;^kBHlwpX=4XD{6U~qN9HFkrJ+l&F z-saUID1%B<4;?H9EM!2?w39QnqF!)1`|}3ak(Kd_@%j2Y@J2g6c^juP?EjFuwQ07o zwKMziw%jn1D(fA=QLVTBO6<1%+@7OnNQM*&g!MPYa@U8@oBQlOCE*mm(`jUP>51-r z{H8-Yi;nOPlQIthFt-F`q=F$=K8euI^E(`V91SO7pUvaDp2=RnM-L~Tq&d$2v{5LZ zoUG3Fo3wLQqF}%Y;j`llueXqrW8`0*)*F*IJ z>aiv3Us~YE2<4T*%}2NPmyD_yZqCk~M@z-O7krGUwYG15T{qRK7dcAj<&n`s`_A;4 z;+a(?aOJstROB4)3tj6`!{2Nzgj6?;Shq6)!KbHH!p(EIZeO8j%Or8syV=~8JpaEt zDqW*Lh#Ma}N3Br+>w@D;DcV2aHXUl6-Vd`2JMU>;6vUDSWH;TI9L=w7b&j8Mn6J(V z?v+$+JP+M|8c5Mhz|iEEGqM$MBkGXKlDn2FE%3QiIQzBr9FlNL#{LhIqC-eD#e0Dh zTo?#)Fv+Y3{xG0bO%^%is+o@Z<~6K&tJw6m+o;^O2kedXe8|Ujn)Y6=pKE+Z%#IrF zf9|5Rb3~OvG+~6b=q#`h2XG_sF>CN`k@Fj!)RQ5UIiqX5Oqu6!N z21pw}5JZ#INhAE3z@4zuQY)+Mzae9%VE@m5d1Tp&Mw(LROH#oaRMcN3>&IiX+|;X_ zsiI3g@0|a@?2A~>%(vR9=_ucHMrd8ZRxzm1VgieMDHb_fqFNQJLyJC)7?;{L=`RAU z3@Pak}7fnlYwpmEsHU{_eg; zbMfL?ls+S7C_n_rLG1787#LDQGmvR65%pldO6F+#r-L?xf$#or2ePH3A=Um0w~y>e4P5 z(h+F}r+;0flL3h%z^>uhS_Y#OZ@8pWpXL`ih79y5LmH~gpW{YhrP-<2{>D?k=K?~7 zW5Av1rXiZ7N0Jag#xtPhxc&Y<$I;4mQ(;`tjo8?;PI{wO=+k^lv-23qCu|T`VXFU; zZwXnY&zE6YTJe8r5{is5N6u-R)n>a%V7u@BtpvN=$`q~CmX>dce9i_~lN2V6db~y% zWVO$sB7lKOi8&P4S2S+F=)@zXO^|o-?b!=(tUz&NaJ@dRBKAg1sR_2T-%b+aBj=u0 z(W!YA4U1z)%3OPoDa6-rLqDm zAKvJ6$9b;rjQ^kIkJQ$Wrjcog(bS4QqivR$$6T1dh$Dups2gdA=y0o}d0h=vkQz}- z>W@ae?{=1+I(%==a)i8%l-?sSB$VyS)#<3*GvlT|4Gc7M{yLkSub{2bxK&GVoBJg! zp5MA^fgjL0WS7)`8_{p+Hr#gKZ_RCkZWc+ICkre@_EeW$&Pz&X8OD!&x|U8fP_0v*VS>!mY*qCR~F8&a`HZRCWpooFnd;HVLaw1#8J-Sr1oV zdYxBo7GsCeJw?qE@nN*Rj)uIuD_>TQ0|#Sy2IJtgr8Pcn27u;Y?Iin6)n-TZC@Ztr zdF@D5l#JYIX<7f;*v;}pkB7hKwVlx>L&gZFW#IN+yJ6*pGmfPiiYTe5DSO+Ly@9&n zfx2F*J@AU>&cONQC|#K_o!2@;hE#`=UaFd+IJP+@KQmq>pSLO7{WnvLfMXzOLBVaT z2YLS&UV<3x_C1sJ} zoLIYR#Vu3!kUurz5El> z{@I57I;qH~okFvo;EEC=2Q8GM7BKUDMgb^7=QQ)EEy^COf}!TlACDgF1b(fUN}%)&h0l z9BX!v`Alj+p9%wpO6qI?i+|771=Lu8A8l(K40K4jnVbrX$jMTT9Bw_>g89# zO>n^V!IGsXWjZpQvEB51u2cwSN>t$wMY(;iuce0{jpJFu3tp6_7RmQ@HaT&!eJ1QR zrm&TO{bjAJxybAG=(^j-a=+*jRqIVaY+?|4-~vIWN#pawJVvHdSB84V?2_T7cr<+h zxcksC`P=$?lk%p6&HMLTtRQxlE|WFa#;2YQ8TC)Esf-G=Wk*>dKx7MfplQ4iP=|Uw zF?ls{q9;}P#42uT%3X9QeV^C<ijr@wR1KX)dGC-c@N_Z30V$Fe)%p>-wWu&)kNEw*WGz{@9wo()M6^!e8k_eXxfdW=;l6S z(2`M8T;qf^oei5+IceC+P98l~C7m~NT|PaW9ZTVi=q$a4Rlxq9##tS4WE1Jg;0Jc; zMho^B>MY6%xeF7a`<5-8)iv99hCOuf1C6(l-RcpR`@JJaUiZD+Nz{gd z$Q>xb=a`$dry_aS&^*(~`3?m}8;v(N{I{S_r1l0&+RjldZ6TxV$#<%QsA2t6RU*Y& zBe>#1)8g7yZz1|4@&*)KmqQvt@EI$HE(kodok3S!)?tbaszrmp6#NhghU7ShR*@VTe2V3 z2*>1UOBCEbeNE@0pz@poLZ10tO2)9^!uLav>Eczt|80Zs#WI%hg03@%55lBl&4Vic z{&6k*BuMrJwn_awL%Nac5km1TRO*sm#+0XzvJmy($4!50`{dEl56p$IUzR4YzR+$t za-d!*a2T#&4d&>9FU1o3n4Hm`*wi!}IXS5lfsohtK@CXwI^`?2;ktb$V2D`Kf_@!> z+&uN|X#EkQf%1^IrMNLc^mS3B@X?6bjm<7{uww@lJIQSau!a;E)VT*)k}<~d&B)2^ z2t%R16{W@)kuM)c!g_dGy%ugn6%ZUKVTn9Hh8V*l)~`^T_kZlMjz>a+)If(R&VgKLI2~v`hG3~h)Tnzt7M+HC?I=N zWo)8y$L~$wD%|I76W~ObA!P~0O_dIV=@illBR$KrArIs^2c(~W%D+t)Mx3ZqU5Y}^ zrbCKK)cx3AhUo$`^X=+mIhHd=8}@$_aL-1dFH0ly#dwQsxa(}W2*Af%Jo1^R=&Z>9 zrxeCyJeW2yC{%iMF9L5Ak2|fCV0;)NWFG%}3;d#xFzC0~=2m_}YIoT2)ukq1H@+VnF7pSy+q$?e=H0C-+?8 z(id1DQ88vtUjEImU?# z5%7fV5H8IdpXGifhnD9{Xs5Ezemhcbg&EidrSA$=zOjQ-Jq7aZX-a&WA(i(M1*4ldj#)Rt~W_( zM87bXYQBOwC{6NYOR$fI6t3p}yko<_he8!Cz~5Wg4H{Ua57%v&GF8ch)UFJoymyr{ z;f!??CJ60=@HYqi4Q|~Bfsc#-KBCB|k|1-!I%sP7T?3ERKV#qp4Xg{qsUEfT)uIPW z;UM$v)(39F5Mi871i4e}!IH7HD?ghg_oA)+P2D*Y&Y*!o_Cb>}B`AUl54MUOCg9GK zEx?0W#DqfS|9R(eO9d5QQG8w07qAXPWM>`^OJt}6@aS(00c8Lm<>E>65;>9zg?djK zKc&JR{{APe^eVcj=`rIkzElLh*$+$9Sed^wa2-Egr9*}hm!d$z94txp;D-IiiN0s#qG)YQozI|@jlO$``eiy7Uvb;nq#=_Mf!u_PKG$r?O#4|5#CzQ0gG z#i}FmJ!Zu;I1=lh?iF-)eZ34u>!=li&PvJ{ z*6mWpt0_bA)=KbX5ksNArrAcA$tZ3#ghd`OP+mFkv2&e|`=RUuAFrK37NOCenujc{ zEnoe8--L5a>{y=HSD@{ef3ltin*h^ zF;H_K|I^V7mN6BlHPupDqFE*x1UPzlm#AlKFWwP;qyMq5|M+D)OJ==5_|+qj4kOy5 z)#Kr=AAeEh(`jjUeX-PzR_qH|slHBm?_K?he=NpQ&bk<(FyUFKA&uRTnu>8#SZEK& zI_c(BRzicieajz~W%}2^!0qz&skW7G$mCUHUnP)#-}OB%ou#M*%s8H{&#UwLld(vt zxTQZ39)dr4eIaspUiQuLU0L++qxl4y;oct&M-Mlu{98YDoHdhj2JFH=ZSg(l`u>@H z|LP&6-Tj4(BZCIET=UG-%lUw+&BqbJj`el1oY`nY&zf_AygV{$)fnc+9w744nc5{bh*{i#rwr-QG zxJh8V6-+*YzJ{A&^fJNAm$b5^EOh$v6z<$f`=kG`zP-4sSY*6e5m0}O+;=wgtj#>@ zQ?kqDPP``>{-rNJl)S}}&$~CBpWi`y;-_}rLdG^Z5w4ue+0(uE&{QmLvy-9-?!n%8 z-IXY~kX)14+m|Khi3<8SLlFtxyH*3y(|O$)Gn-%x({!j2Rn%~zU-*sMHOWx_YVPG* zt+Tsx_lwh#_0e2IXT{=s5lxG>K=y(X zJVs|>!~MLBz$bnb{IoN~4P;)F^IJ4A@q{dpcRkg-*_g8@ZqkjX=OgwejUakmJlN2+ zFq-4KpwYDp|YPtDCPqt{V`w+YUZ$iAs=wxpxOQbJp+~DG=3&W(K)w{0-uf(L+LkB|?bZd! zzys~@kc`LD!reJ!4zByM;#Fwe+0B z>;JRY^^v^Z+;CcY)rt}*U%JW7YgQu&uQQG`aeXBB#vY>7Gjo(nFx5W)t$(XJ54i8r zXQbg`9Vy}_nz5E?ynF(o{Pm})PBZE8K#GXRyN!c@t0|GwGp_KgF$qE?<_A9p@}>s* z(*~btiYU_Fdk?2?5918nmfzyaCKN_r=RO8zSrw~-B`jn)50Ygx?W_{)E`80>-fS;% z4HBj{p+iL_!ePn0xG7icouBj&&x_Ie{Wx&y{7EEW;yJ6b-|$=IRO0Q!HnHlYX)A5PL<4BSSzzg6Cijv!*nlzPGPiB$$N}~ix zq${|x!X)|&?83mO52JTa4fOBM=`h3$h?R5WePeg8=LDHSbe9jc&M%G5nejOeLL2nEtp!@o;)BkC$0~;HK(Y3On)rK!q8`}rO3JwE zkN@&~L?Rw{1I-a6V@K~ZC1}oy0CKeQNbMXo$-cOq4oUrUxA5yl{$1)=b?uMwiCTGj zILyZ^ot`0ICiC*ojs{#(wcQ$J^T!x5bRMh~OD7U&frG>f4z*;g2sK6IgR|yBK(?vX zE0DWa(2l`yMZ@S^_TE&D!$7XJ^l?h9WD{(ZwlIQpM!eMjeeVVBGpr@$3(0XO%{)?5 ziPz^|E+XzY8jr0iYt{G3ftR3!6@8)8+RZoGh)9dlrl+2(EhG(gFhrxYEPqk@mnHp; zUBh1?V+}XGhk9QGxG&2{X9ol4{H``_xIX|J#yhvKvDrR7If|5=y5vWMbB|9Q{H;&x z8Ny&?MWc(j+r*3#xJ4k9RM>p6Q5d_^!50gUVk9X_wvSnr{~=@Sc7}Tu_Vno0-@K!; z1B&BUqkVbq-aInK7x|@Zu&Oh|`x4E_r4+z0%m*3kse2juYhd?`E5B8vL~>K|5-%Axw#tyUtPZ858fe zQ$+(`_4PB^b6d{-zP>ZQ4{gkZzSN&flP+=Uq1F$#H^1@i$%pT95%ETodR$3kc-mqD zKm7IT-(D)4EruP7MVRE)!@Bac_hTlFRv&k3)wPhUIxvp&vbjcK&nQI=1OxpaC6*k# z9?VyRvEP}Bv{fsf>kZqCoRs!CFg+?DAB}j|e+RrCMf#zUm0zaawKicc$RCDgSZ4C6 z#+L25Y$KxldqHbRuIXkzByvZ%e}k6Hz@emZ5O1R4ABMhrQ^+uj@E zZ+aa==W{iw6GyD37%O~acp3aw@WK7bw+{}qV%BN6w}#e&W*f+O*iV_@!?7mVuz;P| z-pza7-^`^^W8S>atv>p&@t|07v1zcm{W8V-QbAvAonc1ceT;L^-ih>3+vk12e|O&Z zY|Z0-X(jSm-R;)AdDCWUtfxbK$$%%Wkc*UsWj0Oblfd5(0cTN|ZpUc_C~&r$b;5nQI+A|{{DCBHmm z#TyI!4lL8AWhdsDCvENZYOsSG9a*8@+OCI8FA%vT?q8g*EA}>yjPTSu-`8fvRg3A8 zRMoi;Am}U}lZP*`cHp>6!Ha*aP$-zY^2OXmYGs26=5Ae;KZ-N*H+YikQHPJexQU_D zgg$nFf=A8qKHd!2*Z|SdRwK4g>m{uBzup#f(Xx`XPc_ato~`bUSAHIev$_{x;83^o z{5E#;>ixvJq2m|?g2CrqhSOD|!cDt@fBsqIyWao&&DyB_*x`t)xIK{rGNHIMfKV#s zKvic`-}P%Q3-&nt%ERBMmd6+rU;nY$HcTyG^Wa_Chdq#ORX8RGMF?_(eGfgUPr6$( zg_t5MKb;|<%{df8_$Bc92T99^z3jljis?6LTgHp~j<$v=Nz-3s4i$7!0_;l)>A2P>tX^jr(uidxFZ7>s|n_xZFq ztTMNl<1urW4=X19DV#Wy5k&&!m!_oa4!7U;_p>1bhR6@Sw$U)~@#YNh@nhv2sjD`7 z1TkPQOx2!6^+>(>KB!7M?mJS_XSYDdo-45;)x44rAro596{zQLOD{jc#BQ5Ll#W!m zsO-<4A^pxvQ)dbJ&oP8H8mFb)h)nXEg2Y_nv0?=K)-KN?+}v&E0^VdqI@#w7R!2i^ zIIVSzqq`H+%y=OX4+DnP@n2N!KB~yW$3yVDgvGx~_u&c==bh!}@oJy?WLsh{HSrA5$Gvf0v|~*qjDdo?+vQ$KTEP;xNy0yR;CKC z_iTXWyLCzzXVHu5Ca``dWImjz2+?;DOl~731&{q{j~k{MMMGJ#or~f{J@*U2%cSsDOTUzciF=fgx*{geBSx{zyd+(T#L$GEuHrSvbG5RRQk> zLc>#x^L|`>rY?_ZDJ`CBQ{G4hMH1-N&Q|#t5fjZ0gGg@gftz%&%>PwuaKG%j>9p1lWF$x{2}Lk9ls)L!t~mh`Lz zLK|{^ouPgCZbw=YaHd^5_enUWjjQ1yQ223uNxnegvANo|OKY651{#s76rqMEtwuX~ zIXiBJ8v?5O>p)-bov0$~w#!+ClnF(HA#`{4C`#`J$R0zBd^J(=g>?$CXqsyInA&>r z4p%SW2Mnbx8rIjfUp{UxiG>oziM0&diBYtkKPrBNOGIW?$Yno50!LW1O5C+oSsWV( zY4|cz!9!>kPBy$RJyZS!44sCW8m}19741$!*2Op}-cGbiG0zP*c+6`!TA3O=72Z1P z{*}ZAEUp(vzm{)pJLZ=QUI;2W@gWduXlSQ&1&F09G`p0C4m>S(4J8s(XPk?^Ez}C- z_@mG%eXq}yG%5cg+Gn{ahUrw}WunZ^4j(Y)^J6wjwOD=5{ll=@(Z2TFCrP=S5J{yj zyebbqeooH(zc!emkO)j`6(#60!~%}x7%qq0sdWPU-t5|BxP+hA7`iyt3f<>?!=3ZI zH{+(29<3H``iP_o9>6ZFx{@b3)+sbPI%W)7%VtZ1Sh}%NreaxwnWbnN#8%1nb*=2J zK|w%AB)4AGY9Un?YAjD&(63y*H5&&B35CNHCF@d)b$vxg!t2xKNPi8mv>|eRe)HT* zDSvSVi=J?Gt-37sY*kJj%Sv6}&OGMB1vYo)s6Az*7)Q{69VCWsm$*k`s<4AQq|9zeXdhbx^cRI!;vO{lxUQlt8oi zQ=oBhg;nz&mxN$lD{bu-LqUgo0_VuVxxQ?Fv^-YcqA!@%3FNsSU>p}xH~J;iK<%Nn zU1=pOPYy;KB|NWX=nLLpVIe%a?lTd^Jgf4%0)?6hgfz$A9F6gB z6B<@B%;C%Q@DC9`{)|$@+XaRjeu!^ku?s$RbgTq>Pr!6!8YV2R_zitk#`FQH&T;5| zmX8X73>x4tu99~olFjyH)Yhjq2^c@X9?y=USCXxzf0|Ss3R`nTJ;_*}=ZN zVxWbh*qReUT00j4FPQT4&KpCa>yCXsbUHh%4>URp059DNY7Ezx8{cIRe#II<= z9lgSH+Cu9kM(c$r#?uwZaLGCJP~{UxA6sXj!jG4bHbXYig7o9!9WnZ-QgBoliKuBE zT${v!X~4#Iyry1q0~xoOuGK&%4PUuTH2o)T9`(We;M(z?dYd7pMxWJg#W1$i??%); z8MR&aV4qXjy1eRQq{_;1Jm&CUj#ZX0@Fj{hE3&XSq2=<5POb4R zE7=TO%h`CEeULKyQ+ic4drI^XwqrXx9*gG1 zswJR>oI8%|_BKItKgH_@ldA>g0yb1Uhs_Xh&@whoTP;r+p;=6!<*oGc@OM?MZ@%Q!fECM{#k&tuT5fH8ziJbHujVvs81?|q8i+9_I zScm}Jen0}wMw+YEGd1o0z~ONhVR=XTUi`)Ci!9fF?`^M2i2TkrSz^?FE)bof}R;`^iS(xd9^L)EV@|BA7qT-E32l~j*>AC^S3#OSFbJ;&wX2y z)Y8MYf!}m5lH6Fo6f|z#%Q?#$R=5awxz)rKA9F(?W9V|PQ{rJk0LcvT;Z;Cz8Bi)M zA4v~^js)rzl+n~q?+X0Ss?Vk#&zX`GG%XX->q%E*KQx?sdTrI^tm7pJoxOk$Kb}cZ zqDomNHyl5!rs7aj>PfQrN!ccoEw6uD=?_;6B~3b}3SnZ3RA%J5R1J&CI#N z9BkNL!tw&=cgKZwRqyu?#GU6FlBS^%n0^W4B_)7O>=tYMG$niD7~2DZ1_lj8K5ZGZ zDoA1;^ZWIk`fi|syPb-?zRhVrSysOOwe9%qHUY1ecqa=e)ON9$eSuS}g4E|+#Llzj zxIihh==nN!{4ngt-xHtERrR-V(BALy#Oy9nDz}$-qgKY)@}+Rdsup)XL+!hb0ltD= z-ajV-LCqj2O1)n8705e8T<=?-xbstHM9{FPK6a{VTMKY|G}4G;5R=5nft7brg#xy> zjX-x&=PB7!OFn@;{buUO)jYHF_J_XDXTJiEiud?592OAwqqk`S(A?wPa7*1sggzxbtIfuZ39ZxJcSG_*vcqfEc<0K6lfYb%)cv*(VV+6k+P?<|F~Nd zu9cx^k0Ykwc%Nn64~C_=$5kXwH~G|ywvhc-TJBk)7Jo{g5>C>TFr9+lYqicjEh35> z*M+MY&W;HW&-;k%64-Ablb*Kvc@8>Rf}TR+G+RGvUJApG_dx^b zvl9Rlukx~)m!F=+JQ_mjReIlF&+8f)5zs2wFmmd zr(S}qFW`X>*Mr*w-K&{dIYqT`NyLU32?6D{f>(KWTkckfW#JIz^`mH@$|Y;%Lv#nNC|^+e0hnIduy1*rrj93rMTIoi!pC1W-{< z<_D!rmE#B=R?X&#Z<6M$252P%YNl&BG(&)66Bw z%afO`z$UL}ME7UvRXMggYfAY}d*1jZROC-D>w~oAXj|7U5nuBO0r;$THeC2pBXfUv zCT)HexNOD2XBN{E5=42rJ6|{&K3KdkOK^p4qHxI&m}i*v+w3H}aZ^p_sau};VQuRP z>zs{r-U9)7vCg3KYakso;vC4w_1DbqBTnTB@>Dux%7v;;Hk z_33*!#l$G=PZ_VzXzLq-PA=!2I}3e@CKOG>wwntLKlTkZAN(yQAG;F*H+kmO&YRQ< z4?NONBsZ~^O?6D{5dAfif2s`Qni}c?0HWPagqFGRjxBaCIiN0b9)7960ZOm%BG>yW zndRGZcfe7@zsp{|$3Oi8j5FXY;EMl9_aJ6TX_YblGG(m$1p7;G>iXeY1MQ(gLH+Cn z6^3vr|EH?U8ZU|urh*6$EyL7!$qOu5!#g)BZ!8xZiVN46Qdgja`)zLd$40tP&$ye1)v=dT-q&S6xc=Qu8>-s~q4s;Z{{3e+F$*;&UzOqoNY_u^j9<2p z+ZBVx@mN<6)6R4KXPyID1LpjXC(U@Br6-JQl8ViGwT_3rhWBY+D2as$Lp9TV5H|rX z0c9jx`M#0-AUy8C>}iYv3!Gf`or(OfCoLVc^X;!6ObKi zFLCKR#@b*6}U)Nr2xj^N{H>K7s-{gNLv;;0iR5mh9A*Jx{9l;4n0l7Xx( zlh^Z?(eEEXMs6SkkV6h{6B1!vpR@_9>pVGSDW#Y|WcE&e-~2Hp5h8UFUU2KBAvb_5 zmV$HcX~De9IoYsK1jF)|Teu6aYTC;#^^c8=Ap8to#omZvo>+x@oF%^b?)eXOza_;6 zFvgPNn!2EkF{#fLIk44m$d^~LJ{6k))aV;$bt5-~40@3o)e+6v8xv>8Un}U**N*)p zeS}h$^l4vrtJ-!AE4S0SCrjzHiN&>7RBXo99y`X{2}&&+F6wd%I#cKSRLP-gN;&ij zIZ*N1!{>1^xCzo1$TQ;N=s?xO1>dAYsK zfv!cjjgB$7VuK*pC%6h$2uAP@u9=N8NTIRP8Nmm-0H{1;C>TtEbZ^qk)N4!oJX+_I ziTvfw>ToNczg?-aa(W`3%ljMIDr?3`$m(yA#`cmSl|(RbWDQ@a262Opcsqm^Qdce( zWN3c)tQE^2M2Z;~vMnm&nX9sdUB_Gt> zVt)=!E_@vf>k%!ZS+cw2z4r?oEt_W{Qp-XXfyhO>=J+E-?u+%${VRi0j8+vm-48VkN`S@2F-=7FqWm6>;ifnJpf z8*jTgk<9BrExT9jKEpXnkf=k#;wUu6CDd`A_&b*CBj17Igg0~`44R{WOt8QcJ zNsl}Se${WV{c&ujjN~1B6M^da6`DOSO!$X`Y)_GIdmK9h5O1<7s=KBNH8nDUwl#T@ zC@b=PS;COARy}*KZeXE&=AYi`#`{h4)Z+TB0+93je3Tz@WY@#`k4<-Qm1(5gJddx* zYt>FC<|Py%mOnqMGJ&$BvMn7`O^jT3pfw&I_}dAvR-!O(U%WW==4^=S?8AY`(>VA= z?8A>fi9~?3%K@!ASfq=8)NIQ^Gk*|E|I@|C?=jO)LIGSLv_ucCB;9}bnpYV!w=9z8X!tHu!NmGqzf_8hRh2b`0Jv@> ze>AL_qvG1p&E^~ZrlyJSM&0ctqw`t@>H;pq8P_W_DRo0N6-|b3?ohtKkv!jDg--S$ z>*TK8oBWnO)!4y~ChN)C_NkdzdyRmr8X&A|>-X0cU8|VHjSKnFd~IpdGV0TTJKDSg zyzjezQWgOPEN(o?e8@65E62mMGKkRCi#-dbZJTM!UjvZdkUG{zrd@aG@Osjf;K{*} z6-3?)lj~OVL!ci>D<4tH+!wyBE~Seqx{9v?PAcODnp`|WdqjiiwywV=1s?&b5a!3Prvh`#` zk(~zCe-B|FvG)G$L%bK5gvTo&8wPF}EFspEwq2vcyL3C;uVhK4~ zyuW+rNI<{xOVfPNKoJbZ8H?%ih5Ckd44KQS#5EONgI(=_1?S3%zThq}zs=Y1qh?h% zYe^{_&rv_=4J%-Gwqe)T1IOr~lBV#=;+8%`DO;4^3ijl%-obHX)uMD16;k#C89f^+ zvTcDn&6idaiVo+*O)q1_n*(?GM!Z^nV{Z2E{IvS1gx-Q`G5jR%%u6z~KWG!;&r&Ql z7l}BoVA`rGpr10zkPmuNa{g_H=ggfWOxc&(k<8Bu^{ojG%`Ys7S*h|%zkdEye&ugX zPc28D>#`1GXPBdL&(_V19#Oskdesa)evvznpDL`ZsSAr!)6{*pAOZkEtw-No7-jc$ zcCU-kqyA3UqIIGy{`_nWjClNWo27kJ_^d%zLAqC`D?@xj4$SX0e)+RusWQB9G5jk~ z3QG%;kUByS*3!>JmAo1RapI()?!i`ddVQpbmOm-<^&XFsC%qB&%BK9n0VP<|#u#23 zp=!67M^P)QVp)Z`#xUFg0TlW;nDj)H-;bx zDQ);#ev{qOc*946615mh4As>6k>YF>%zo3GT}wP41fT?S6sfDvye+_}+D^M08-wdy zy!|sIwF(SUP7m)HXdPqtsnw^5*pWH?7^q>f;Jh0{+`HE6JLz{17eR(KG!bB2J){$9E_BBkQLWqo=JfbkA!eoEEx1RSn-tTz-_>S+p z|G1C)nB%z5`CZp_p67Mm=XIXHZHQd{?aVTu!&bnPjTEOqQLBMXE{7gvfTa9;4NbVlQS~8AQ)G#3PphThSIts`$6EL-M6>sPP>J=5M&1EQ& z!$@m6Ep_Q+)GQ-xMItw(&DZmf4|u4( zQ`H&gx+kOIcT2UYuX$I`ZC$8rMfXB9A~eocH!@c6^AR`_XRvMQhbsk!XmIWDLwQ*_ zwCw++zr%Ifj?k&Cnrnxh(GuME7Na<&x>jNuD1sA?KPG?9VRY;GvsVH3I5}NE(Vop! z_2Xty9U1* zq~0e@1Ij`%^=Y&if)TY#{3z?nep-%G!ehjdTy|0_ZUV;dHqtP;{QO%v`B|oSZs-mY zGV|`8hEr{W{>ie5a6_nb#44UcW|Dmj()}={mb91tjXIn|A)}8odhJ?#Xpe`r~|Uy)bpfCj;vgdxaxRBjfEd^gI4snw$uh~Z=MSsuW9C2 zWOgqW|25&4YluPT!H(5ERGI3OXSiRv5m^D-2-8(n4YY0?5AF-meJ*4UoRP3hXMnU` zkczVA1~0ETa)dE&=jChSML_K#V@#x~(jIfm|D(QOGRYxwA zg;$1uvrEHG(5DLFiEwFxug>g;#lO{?ErIsIA})xyQWfmL@x9<9IJSYU+54D$u_gpC zK4*Ww$ptJ>X4+V3Wcm8W!pqY#HZ)m++U2aJJx;BbNfo1C`rOm7x2iRj#1#Q*7+E7{ zyK8bPf1%g-<3Kz~MUW{CDuF$-Cxl~7{L7tNu8fgOvsU{x5DwWwrNRk?XdtB{ zD$w2DPel-Za+4pSTrv}I2HeohuEC-AzD@G&;6Ax&QR-&;9$Qgs8&1~z$qyui+d@1^ zuhN8mA!H@+C-dyf`Aw#+y#QYfC%kgt<0de2^c59VEu!zqGRvV($=&P3; z)k2wMcNBZL>1F+5jrc`517xQbXeLj=tEC;nm_!~^ishS2dQi~5DPYN9dLJGmX;(sn;*h6J4D8;f{^gk=E z@B)tu6mYo36Tpaoe)M%39=1r zv;M6KMa=hMj1H(N!f87Ob}AOc{5fxL|G`z4`ALvzpc0SnH&nmnK<>KB4}k;Yofp&U zDDLVgKnqU;C+T%z!4q?li<1g5&o#K^qJG?y1X|E+(xwbyeyXh6IE{m45WbeH{yzL_ zBxUVGpF!vGJ#w%sQ$=~ToV3EeR&UVLIlb6nW>D>nVyoH+z=Vgh zPFE}}5M}(NGkx3ur8+bsLy5QS7cVH>r+H@Ky7_6^s2Pt8WjT~>U-Q%MHK>wd=L zb|?-9yVceo+k{hMxCY1$V-FJQZ&%ov5nUvALKIcf23(}DsuAj7W*hi+utX4JjHyveK(&E=46wIv;N+~UVUiEyz{cjy`o5wsWRn_- z!ZD)XZ~Gf&b%LPBftW_h(zz!rQ&?@Jf8SYR7T6}lU~q0GFbkxWR;oGc<{$s}_!@R5#y8`C)|utfN)&rid< zqR}O&mdKjpiLu)$-3;4oh;7zikTkVB;#bh=S)04=%?8s;bx3^`H{M9D41PO_A z?u??}7>I|`f!=Ecq0B)DgVSVG`pyl5*lg-*2QxCFDOC7`N&(1aT^=sQpICCnk!0Be zhBO!u^FuK>drw!%hP;=ne;o(mU`B{2COLh)h5`J7Vi&S0o6}u=+ z&NHw?ZO6;QllS&rPla<1?9Z$(t<9@*O%CPc-~{eBDoS}q*g}z0Aq=NPwsNTlxIYZV zUlVq9tmk)mtSRxYgE)W-tEtM@^jg5GvcNqfL=J zsEB$EK~AeK+G(UcA2~kgMDM1c!|4{Zr>Hny4wcUepN{ks3VIPP5V&ooZ5H(P9LUhQ zzMInOA;P!s#)b0-G0Ta%Vs=bm$G20C~O&NAohfXcn{OkkwyIA;ER=unWo)v@ZVoZcp>l@@^t=3;8xoNk0Pxh9f z&rrGYKojnPF?c)J01J2s?x-O4yQJB=NjmS+i4&R}>&PEnx!-4~-8PG&C?8k`C(Qsm zBx_3Z2rTS|ja@98*c2i^FJLs38dIOtV9N;&pTyvbin4=brmGeE5fGOycbqs8RG*R^ zlldn+_Pw6A8Sp280w2amO68}^Q^|w=t(Z8fTxW08yj!z`Nf8iL>+V`lmA@O;NG^!rEsd&`RTI55{EHz@Alh|KCdeXzk{(B01<#p5b~`UcmzV* zF%4j&!%V2Zajk`ZUi`rOV@SJ9Jq_cN0Pl3?CVq9Dr>jjcT#`KRF$cu93Jh5wLQa<4 z@*>##CDyi-_LfY)J&f3uw!9BarrWIPBi*uVMrHIn}PC+{!{OAbqaz8#?v@v zm4wG9t8*c6zzH1BhH@+Wuct2mtY0VH!St97j&1o6^;^l($ALVX4|FHFE=A=azHKu% zzizry+YACv#3>PV-TN{&CN0-wvF|6FAVrqvK-tiB{!^_0PhU*^l038ES<2C}7vv+e z>^`y6Ox6t1W(CFe(kwZ9%I`_E5n5A8+YD6JMw&%!V{kbx!ochSO;O%)odshq^cD)i zS187TKrHX~@ZyQVFRQWLqz*mT%xeRCi|Tv&$+&qqAMwD)m!SGaE)@tF5cvVagE6B_ z%eDI}buFz*E29e~0mZn0o!u}+61t?`r3jUmEQCB@F;1=(NOI=Bq$`LosMA2pqwwys z&Z}5}hYxWqe!eQ|4_*7Z3jIPXeJ5iKG0QsDigLSbx$ctmIb8I6+kh|-WB`6sYyEG! z>Jyi0T46xEr{ZZQ!0LxjE^86@h~^}9Q%Ky~rK!~veYzUnQf8r?(vALtRtSOSjl&;$ z;?>6xCkT51O-HU?d>f{7$6X-FuG7O*?UErjA5d;Egnp7+PKohN=p22}!Oni!$4TEDZ8n6%IKbTM~{aWhusbY84#Euy7&HwNor!!;>t=%N?E#qEeZ2o+wAKT zrfucujW$Q3d!+&Cmk=X%TJWaM&1JujJdG**g;$fMWdt(zo=4ikw|g9hBk+=cRK^>i zxn9|SD$~)K|dWsWkcWWY66ldXQQ9MJI=y;RsN<+u*fRhSRXNKZb6-9rvLrm zVjhVL^jyeTXh3=NE>FBJIvQAsx5$h*B1{iC%EE2?SY%T%)1ndGEB((``ObS^%-+XM zNQBSSM4D=wMc%<2Rqyn2D7-99Fl6~qe|dWVYmW7qeqWo;Yll+mJ&mmDvhS>}HCWm2 zDQ;-zXq&maeF1j%-=bPnp2g-;j#5Fm^e_Qd4FS}bv#M?OdAjfT#~*<8DAygX1wu?v#LW** z8A%g^I+wCQRqW&l8IQcUu-a z=AM4r;#c4=)h_RLxGZwkjRy~=_EXL=ZDW>YkR4tTr1u^lX3mdKe75lBxKT$rGqH(qb0C#x zE7umS$CCw3^LKIGhbVRVsiGA_ipk3-qmVWXr zj^bcnUrlGdfWPqWPX|uHlS+Uk0jPz5OF$5~{dxrG>wpVL!T+0A6QJn(U&%B9X21Wx zkX>p;00VH_B^dno<9{Rh2h@L%`~vms&Hush`QJkRk@uhB{GWvUBkw;*ehJC*`mrN; XUZwzQJDq!X7pbYCr2*@TbL_tWPdF6% literal 0 HcmV?d00001 diff --git a/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png b/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..517efa8f45f36eeb154ca9a9b231d1b044c8a1b1 GIT binary patch literal 11894 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/android/values/ic_launcher_background.xml b/src-tauri/icons/android/values/ic_launcher_background.xml new file mode 100644 index 0000000..ea9c223 --- /dev/null +++ b/src-tauri/icons/android/values/ic_launcher_background.xml @@ -0,0 +1,4 @@ + + + #fff + \ No newline at end of file diff --git a/src-tauri/icons/app-icon.png b/src-tauri/icons/app-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..234f5d02bbaa710dfae98fb9216f221f86616ff1 GIT binary patch literal 98 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�`65M*$cn|Tp8(V4h!V3Ap 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 z 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

v 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 aF9`LjwLNg)-3QARk-C2eIsZQ*`u_liC5Yw# literal 0 HcmV?d00001 diff --git a/src-tauri/icons/icon.png b/src-tauri/icons/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..27eaddda7ccb8161fad891b612aeeaf37f7d0c91 GIT binary patch literal 23878 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-20x20@1x.png b/src-tauri/icons/ios/AppIcon-20x20@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..174e0a381bb483a34f7af1b935c41b0d1e113605 GIT binary patch literal 916 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-20x20@2x.png b/src-tauri/icons/ios/AppIcon-20x20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..75542cf333b19738a035f1e0280085f96e85a7cd GIT binary patch literal 1894 zcmV-s2buVZP)3$g6h8B2Z>Rf4ORFu#5*7g|1O>Io7C?>SN-!8q6r&*#(6EI+Mu_}Talu4EL4O!Y zj7GtKvQ!Zan^mB(l);wn`?S+`W;)CBd}roOTIjT$DUH1^FK_0}d-r~4`Mz`R7*>D3 zTcvS4lrdjGrz0HW5+K0!dOhR|_~rAs0ti4oUN_CmD4+W+60Jrtzm*nJoCcTjo%vQSCXpae`awpj8;)SNB=Y?}l17|guD4+(&9|%yg zB|avQqXGy4hWC67U}ZtE+K2@sbjCHe0T#s(Klyb zFB$a)a{Ij0)YCz6MzeVB))5OxWhCGLq?5e@&*19f>VW&0_@0z(TF!cxWR53`!AK9~ z&LD@ohYX5-(D|YTsT-N&5ud~rA)oauiE?e}lx<6;toUR~Fj>RT!ecm$ih=f= zJwm5$UKSvOc@hH#z>wkzh4gO8dTMhyS&}~IYnMbIpsK?I)Y$pu#f)T`fY2hVFK1a= z@LN2G1Qy#&7A8q2Z8>p}+TBjtwO|dEo{->5;o; z$~~NgY`6w)GqV@@i?SF{2j;3F5*s_l{XsVOIHYO#V96`A^MU7RVeV8`1~)xgI8Rhy%ZURK!9@h9i8BZS0j+4S3x_?} zDSK$+oX2I6s?H`M)T^^sO6~ooyp+je4d-aQ(IOJm#6Xe5bFwDO^>l4HeSGmJQ3G=X zaFGEr5&+CgNSE*Sj)ri8!`d8Mnt=PQ_A2c;b42d%W*u8IwS<1QpO;1Tp*;xZNo1xY z5`WZJNUa9@!Cq7zGkZJ|xQICztRMl&6Aa`DDnzhU1!Mt?3oJdzKh)#0CcA{!Dpep5 z^f!Y9vmr^yUkEx3#0g2#vo!T5#E3npy;77qQ7ml_5d@RLYJ?SadENBIRMXWeZ>*iZ zi0qCAYGneTq99MfaUX+C=awI%o&h2filU2HT}A{D9srQST&+{|XF|2!c|R$<4v>sxt8gEJs0K znm?Pi&VQOJx%BP7bWEBE9cv)+5v`W>799haoP<>Q+}hhEVU6am48!0A@$;l<^1aeg zFS&(K1KhUx&qyeD@*t!66MH<`bDz@FZF_A=_v@h#HLWO5QlzsfTrI z6|)we1GsIc4$Ec;dySByht^aDkX8!&d`yS{8i*7TXKdtyVm}HGQa^&=Z;R_3$`!mB z(!gzJa7Y2oTWY8U^YJ~@Zg>g;V`Y(shR)2)r~ITWy4qSD5@f@$%pDRSUdALvDLM2P zZx?eM~s8+q28PBDL$%YY zLE^(28DofrAU?n347!Q}4h_27U#iP!!>koFgBgqJf|gtx=yJ-MZU`7VOA@|=Q0N=g zP+J9&H%8c_MD0Q3*AxzsHn6GLH1`Ryyqb&q?{(z@<_3oxl>y8|ZfPyNF?5<)Cv~B& zTn)+1r~zUsOkT&#z1&hIT35}DD)JBe1;`4>07C=}=c8ui=a~pdd483RmgH17=Mi3iHXHn5WN}dsjlBWgb1gf#tzKLn*~)J&^iB~ g!$9MFjC+9p0r0v(H_=NW?*IS*07*qoM6N<$fvH$=8 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-20x20@3x.png b/src-tauri/icons/ios/AppIcon-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..046c768c247f367018258af15fb4ee9b366296b2 GIT binary patch literal 2721 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-29x29@1x.png b/src-tauri/icons/ios/AppIcon-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..ec9246ea90ddcf22b03627a2e881e62d22dad2d4 GIT binary patch literal 1387 zcmV-x1(f=UP)&R|G)BYbXM!>QBJl_DhhI^I zIToWaArTc&7sX+SL^g*QzT|7n$u^h_x)0WE-MW5zp0ibDV_U=EHqG6=xA#2fJm)#j z`_5Rids6~4JWM8&o)d}GLYZd@Xf~M|8xP8A`a{DCxJ3YWH8*0{pN*(q`4Wny>cP;| zz{d6TFc2BRyzBx2tiYbu!>B&~1L7j0bc{aUC%W75?x9`C zPS220i6bW8>=c2g1Px17f$#|Yp&?uu8ARVmKtY|>bhKQ#h^PQjP|4{`qzF7|PZRPf zkTEE5dXS&tL4nIF=WGe;)O(9^i*c~?EKYQ_!!6ZDak}RMUf=(zCPG?SJ=L3L zF>tEqyk5Uw{v0;^{E1$>ZU0qF4Oj(WXY;REyWoD@<|)LP-VRZC+C+LHCJ2cE9TJfJ zV;^iXd!#Kc=?qAq-r#^T!SvW)0y7|i?~*?AIR)nxz^aE|z>lp*Q1eHf0w(D<##0-K zN3}ACD70M$+-k8XjimRU+4E51&O?32Y50cyT743j$J@)EmATz5$qnO;dmlrc09MH} zCcp}>sa~?j)uKo|G!zTNH{{n!IW|w-S&k>}SccBP6|7tE0A3S1FAeqSb61)jUkZh* zN|&JG?njiZoo5@c{mg!N#sN-JX-q6GAD0DiSnSRz0kfn}>qHEj8h5BLK3}~7Yv$jF zccdy-%XiAe7Ac5V_H9#&nLPU&Po!vrw~C0`{FgODN}OV1pXSJ{7P@kDF8w1z@-owe zDt4B`t!Cnv-%+`&K0e8!ZXPcpX3pR(eVs}jm#UJiJnh|+3(HZvcBA%};?clT9!;Hw zLFWoeTj)NqYg9OaUgpe^#U+A+{QW)j8taQS+Cb+#V0e;v|(H_5!k1&AW!dmJSu z+BMvdXe=VU&aITvWsSbc1d`X+lu(U4x7VTD&bwlFhC7VbQq z(E}Z)QragO<2+D=;?-Wh_2AR^?BqV3LEiI7Pv?pUbGK0DF3@`}I*cUI6CA|1EeCP< zQp-3Go(7bHposFsiAXE^78SZ{R=teb8E!QTR?69J>-WhD(8uV4y%bJ{{Kk+< zr=!>yD^L~4m*$8H=}K0!fu-U==VWyDwjGu2hfiIIebwbjjo+%KP8FNRJUNw}uaPu) zDv$%cv0=NILP#hZP?1nnoK>zYOoT>})Fvz9^HDle-?L9xWk?wlAdp-3KBi>wu^oJT tiut>4P^yv$gt-v_DS@W?|Hw>^e*nTsu5#D4GCTkP002ovPDHLkV1m_lnC}1p literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-29x29@2x-1.png b/src-tauri/icons/ios/AppIcon-29x29@2x-1.png new file mode 100644 index 0000000000000000000000000000000000000000..11825fd27ee00050c5095405da88f7713ae7c77c GIT binary patch literal 2668 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-40x40@1x.png b/src-tauri/icons/ios/AppIcon-40x40@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..75542cf333b19738a035f1e0280085f96e85a7cd GIT binary patch literal 1894 zcmV-s2buVZP)3$g6h8B2Z>Rf4ORFu#5*7g|1O>Io7C?>SN-!8q6r&*#(6EI+Mu_}Talu4EL4O!Y zj7GtKvQ!Zan^mB(l);wn`?S+`W;)CBd}roOTIjT$DUH1^FK_0}d-r~4`Mz`R7*>D3 zTcvS4lrdjGrz0HW5+K0!dOhR|_~rAs0ti4oUN_CmD4+W+60Jrtzm*nJoCcTjo%vQSCXpae`awpj8;)SNB=Y?}l17|guD4+(&9|%yg zB|avQqXGy4hWC67U}ZtE+K2@sbjCHe0T#s(Klyb zFB$a)a{Ij0)YCz6MzeVB))5OxWhCGLq?5e@&*19f>VW&0_@0z(TF!cxWR53`!AK9~ z&LD@ohYX5-(D|YTsT-N&5ud~rA)oauiE?e}lx<6;toUR~Fj>RT!ecm$ih=f= zJwm5$UKSvOc@hH#z>wkzh4gO8dTMhyS&}~IYnMbIpsK?I)Y$pu#f)T`fY2hVFK1a= z@LN2G1Qy#&7A8q2Z8>p}+TBjtwO|dEo{->5;o; z$~~NgY`6w)GqV@@i?SF{2j;3F5*s_l{XsVOIHYO#V96`A^MU7RVeV8`1~)xgI8Rhy%ZURK!9@h9i8BZS0j+4S3x_?} zDSK$+oX2I6s?H`M)T^^sO6~ooyp+je4d-aQ(IOJm#6Xe5bFwDO^>l4HeSGmJQ3G=X zaFGEr5&+CgNSE*Sj)ri8!`d8Mnt=PQ_A2c;b42d%W*u8IwS<1QpO;1Tp*;xZNo1xY z5`WZJNUa9@!Cq7zGkZJ|xQICztRMl&6Aa`DDnzhU1!Mt?3oJdzKh)#0CcA{!Dpep5 z^f!Y9vmr^yUkEx3#0g2#vo!T5#E3npy;77qQ7ml_5d@RLYJ?SadENBIRMXWeZ>*iZ zi0qCAYGneTq99MfaUX+C=awI%o&h2filU2HT}A{D9srQST&+{|XF|2!c|R$<4v>sxt8gEJs0K znm?Pi&VQOJx%BP7bWEBE9cv)+5v`W>799haoP<>Q+}hhEVU6am48!0A@$;l<^1aeg zFS&(K1KhUx&qyeD@*t!66MH<`bDz@FZF_A=_v@h#HLWO5QlzsfTrI z6|)we1GsIc4$Ec;dySByht^aDkX8!&d`yS{8i*7TXKdtyVm}HGQa^&=Z;R_3$`!mB z(!gzJa7Y2oTWY8U^YJ~@Zg>g;V`Y(shR)2)r~ITWy4qSD5@f@$%pDRSUdALvDLM2P zZx?eM~s8+q28PBDL$%YY zLE^(28DofrAU?n347!Q}4h_27U#iP!!>koFgBgqJf|gtx=yJ-MZU`7VOA@|=Q0N=g zP+J9&H%8c_MD0Q3*AxzsHn6GLH1`Ryyqb&q?{(z@<_3oxl>y8|ZfPyNF?5<)Cv~B& zTn)+1r~zUsOkT&#z1&hIT35}DD)JBe1;`4>07C=}=c8ui=a~pdd483RmgH17=Mi3iHXHn5WN}dsjlBWgb1gf#tzKLn*~)J&^iB~ g!$9MFjC+9p0r0v(H_=NW?*IS*07*qoM6N<$fvH$=8 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-40x40@2x-1.png b/src-tauri/icons/ios/AppIcon-40x40@2x-1.png new file mode 100644 index 0000000000000000000000000000000000000000..75c3953f662ee449ea46dbe94be266b6c0f46f34 GIT binary patch literal 3577 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-512@2x.png b/src-tauri/icons/ios/AppIcon-512@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0e938fc93ba44fa12b182b86f55677ea94671a12 GIT binary patch literal 18089 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-60x60@2x.png b/src-tauri/icons/ios/AppIcon-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ce36f064b85e20be953c1d733f510351569608ee GIT binary patch literal 5382 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-60x60@3x.png b/src-tauri/icons/ios/AppIcon-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..93beeb2736a4f9577d906843ef68c5a83932b128 GIT binary patch literal 8222 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png b/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fc06ede9ea70f8ca7be04233546cb0487b48bfd2 GIT binary patch literal 7698 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 literal 0 HcmV?d00001 diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json new file mode 100644 index 0000000..fd2b365 --- /dev/null +++ b/src-tauri/tauri.conf.json @@ -0,0 +1,52 @@ +{ + "$schema": "https://raw.githubusercontent.com/tauri-apps/tauri/dev/crates/tauri-config-schema/schema.json", + "productName": "ERitors Scribe", + "version": "0.5.0", + "identifier": "com.eritors.scribe.desktop", + "build": { + "frontendDist": "../out", + "devUrl": "http://localhost:4000", + "beforeDevCommand": "npm run dev", + "beforeBuildCommand": "npm run build" + }, + "app": { + "windows": [ + { + "label": "main", + "title": "ERitors Scribe", + "width": 1200, + "height": 800, + "resizable": true, + "fullscreen": false, + "minWidth": 900, + "minHeight": 600 + } + ], + "security": { + "csp": "default-src 'self'; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https://scribe.eritors.com; connect-src 'self' ipc: http://ipc.localhost https://api.eritors.com https://scribe.eritors.com; font-src 'self' data:" + } + }, + "plugins": { + "updater": { + "endpoints": ["https://api.eritors.com/download/app/desktop/update/{{target}}/{{current_version}}"], + "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDI5OTQwMjI3Qjg3REZDNjgKUldSby9IMjRKd0tVS2NDQTVZNnphYUtPMElXTHBqYXpsSDFFVnNXQm01U1BZWjB2MVNicHRKN0EK" + } + }, + "bundle": { + "active": true, + "createUpdaterArtifacts": true, + "targets": "all", + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ], + "macOS": { + "signingIdentity": null, + "hardenedRuntime": true, + "entitlements": "entitlements.mac.plist" + } + } +}