diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..c616bd2 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,3 @@ +[*.rs] +indent_style = tab +indent_size = 4 \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json index dc8c474..257a674 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -36,7 +36,7 @@ "error", "always" ], - "react-hooks/exhaustive-deps": "error", + "react-hooks/exhaustive-deps": "warn", "@typescript-eslint/no-misused-promises": [ "error", { diff --git a/biome.json b/biome.json deleted file mode 100644 index caf62ad..0000000 --- a/biome.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json", - "organizeImports": { - "enabled": true - }, - "linter": { - "enabled": true, - "rules": { - "recommended": true - } - }, - "formatter": { - "enabled": true, - "indentStyle": "space", - "indentWidth": 2 - }, - "javascript": { - "formatter": { - "semicolons": "asNeeded", - "lineEnding": "lf", - "trailingCommas": "all" - } - } -} diff --git a/bun.lockb b/bun.lockb index 0a8b540..e0720c7 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index e6c19f6..aaefd05 100644 --- a/package.json +++ b/package.json @@ -11,61 +11,60 @@ "next-build": "next build", "tauri": "tauri", "build": "tauri build", + "build-fast": "tauri build -b nsis -- --profile dev", "dev": "tauri dev", "lint": "next lint", - "fix": "next lint --fix", - "prepare": "husky" + "fix": "next lint --fix" }, "dependencies": { + "@formkit/auto-animate": "^0.8.2", "@heroui/react": "^2.7.5", "@icon-park/react": "^1.4.2", "@reactuses/core": "6.0.1", - "@supabase/ssr": "^0.5.2", - "@tauri-apps/api": "2.1.0", - "@tauri-apps/plugin-clipboard-manager": "2.0.0", + "@supabase/ssr": "0.6.1", + "@tauri-apps/api": "2.4.0", + "@tauri-apps/plugin-autostart": "^2.2.0", + "@tauri-apps/plugin-clipboard-manager": "2.2.2", + "@tauri-apps/plugin-deep-link": "~2.2.0", "@tauri-apps/plugin-dialog": "~2.2.0", - "@tauri-apps/plugin-fs": "2.0.0", - "@tauri-apps/plugin-global-shortcut": "2.0.0", - "@tauri-apps/plugin-http": "2.0.1", - "@tauri-apps/plugin-notification": "2.0.0", - "@tauri-apps/plugin-os": "2.0.0", - "@tauri-apps/plugin-process": "2.0.0", - "@tauri-apps/plugin-shell": "2.0.1", + "@tauri-apps/plugin-fs": "2.2.0", + "@tauri-apps/plugin-global-shortcut": "2.2.0", + "@tauri-apps/plugin-http": "2.4.2", + "@tauri-apps/plugin-notification": "2.2.2", + "@tauri-apps/plugin-os": "2.2.1", + "@tauri-apps/plugin-process": "2.2.0", + "@tauri-apps/plugin-shell": "2.2.0", "@tauri-apps/plugin-store": "^2.2.0", + "@tauri-store/valtio": "2.1.0", "@types/throttle-debounce": "^5.0.2", + "ahooks": "^3.8.4", "framer-motion": "^12.5.0", - "jotai": "^2.12.2", - "next": "15.2.0", + "next": "15.2.3", "next-themes": "^0.4.6", "react": "^19.0.0", "react-dom": "^19.0.0", "swr": "^2.3.3", - "tauri-plugin-system-info-api": "^2.0.9", - "tauri-plugin-valtio": "1.1.1", - "throttle-debounce": "^5.0.2", - "zustand": "5.0.1" + "tauri-plugin-system-info-api": "^2.0.10" }, "devDependencies": { - "@biomejs/biome": "^1.9.4", - "@tauri-apps/cli": "^2.3.1", + "@tauri-apps/cli": "^2.4.0", "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.2.0", "@testing-library/user-event": "^14.6.1", "@types/jest": "^29.5.14", - "@types/node": "^22.13.10", + "@types/node": "^22.13.11", "@types/react": "19.0.10", "@types/react-dom": "19.0.4", - "@typescript-eslint/eslint-plugin": "^8.26.1", - "@typescript-eslint/parser": "^8.26.1", + "@typescript-eslint/eslint-plugin": "^8.27.0", + "@typescript-eslint/parser": "^8.27.0", "autoprefixer": "^10.4.21", "clsx": "^2.1.1", "cross-env": "^7.0.3", "cssnano": "^7.0.6", - "eslint": "9.14.0", - "eslint-config-next": "15.0.3", - "husky": "^9.1.7", - "lint-staged": "^15.4.3", + "eslint": "9.23.0", + "eslint-config-next": "15.2.3", + "lint-staged": "^15.5.0", "postcss": "^8.5.3", "postcss-import": "^16.1.0", "postcss-nesting": "^13.0.1", @@ -85,4 +84,4 @@ "last 1 safari version" ] } -} +} \ No newline at end of file diff --git a/public/logo_rounded.png b/public/logo_rounded.png new file mode 100644 index 0000000..d0318f1 Binary files /dev/null and b/public/logo_rounded.png differ diff --git a/public/logo_square.png b/public/logo_square.png new file mode 100644 index 0000000..1235fb9 Binary files /dev/null and b/public/logo_square.png differ diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 61eb6a8..9789547 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -1,16 +1,23 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "CS工具箱" version = "0.0.1" dependencies = [ + "anyhow", + "base64 0.22.1", + "log", + "regex", + "reqwest", "serde", "serde_json", "tauri", "tauri-build", + "tauri-plugin-autostart", "tauri-plugin-clipboard-manager", + "tauri-plugin-deep-link", "tauri-plugin-dialog", "tauri-plugin-fs", "tauri-plugin-global-shortcut", @@ -19,10 +26,12 @@ dependencies = [ "tauri-plugin-os", "tauri-plugin-process", "tauri-plugin-shell", + "tauri-plugin-single-instance", "tauri-plugin-store", "tauri-plugin-system-info", "tauri-plugin-theme", "tauri-plugin-valtio", + "walkdir", "window-vibrancy", "winreg 0.55.0", ] @@ -83,9 +92,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.91" +version = "1.0.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c042108f3ed77fd83760a5fd79b53be043192bb3b9dba91d8c574c0ada7850c8" +checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f" [[package]] name = "arboard" @@ -108,23 +117,20 @@ dependencies = [ [[package]] name = "ashpd" -version = "0.9.2" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d43c03d9e36dd40cab48435be0b09646da362c278223ca535493877b2c1dee9" +checksum = "6cbdf310d77fd3aaee6ea2093db7011dc2d35d2eb3481e5607f1f8d942ed99df" dependencies = [ "enumflags2", "futures-channel", "futures-util", - "rand 0.8.5", + "rand 0.9.0", "raw-window-handle", "serde", "serde_repr", "tokio", "url", - "wayland-backend", - "wayland-client", - "wayland-protocols 0.32.5", - "zbus 4.4.0", + "zbus 5.5.0", ] [[package]] @@ -139,11 +145,11 @@ dependencies = [ [[package]] name = "async-broadcast" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cd0e2e25ea8e5f7e9df04578dc6cf5c83577fd09b1a46aaf5c85e1c33f2a7e" +checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" dependencies = [ - "event-listener 5.3.1", + "event-listener 5.4.0", "event-listener-strategy", "futures-core", "pin-project-lite", @@ -169,7 +175,7 @@ checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" dependencies = [ "async-task", "concurrent-queue", - "fastrand 2.1.1", + "fastrand 2.3.0", "futures-lite 2.6.0", "slab", ] @@ -219,9 +225,9 @@ dependencies = [ [[package]] name = "async-io" -version = "2.3.4" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "444b0228950ee6501b3568d3c93bf1176a1fdbc3b758dcd9475046d30f4dc7e8" +checksum = "43a2b323ccce0a1d90b449fd71f2a06ca7faa7c54c2751f06c9bd851fc061059" dependencies = [ "async-lock 3.4.0", "cfg-if", @@ -229,8 +235,8 @@ dependencies = [ "futures-io", "futures-lite 2.6.0", "parking", - "polling 3.7.3", - "rustix 0.38.38", + "polling 3.7.4", + "rustix 0.38.44", "slab", "tracing", "windows-sys 0.59.0", @@ -251,7 +257,7 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener 5.3.1", + "event-listener 5.4.0", "event-listener-strategy", "pin-project-lite", ] @@ -269,7 +275,7 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.38", + "rustix 0.38.44", "windows-sys 0.48.0", ] @@ -280,15 +286,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "63255f1dc2381611000436537bbedfe83183faa303a5a0edaf191edef06526bb" dependencies = [ "async-channel", - "async-io 2.3.4", + "async-io 2.4.0", "async-lock 3.4.0", "async-signal", "async-task", "blocking", "cfg-if", - "event-listener 5.3.1", + "event-listener 5.4.0", "futures-lite 2.6.0", - "rustix 0.38.38", + "rustix 0.38.44", "tracing", ] @@ -300,7 +306,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] @@ -309,13 +315,13 @@ version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "637e00349800c0bdf8bfc21ebbc0b6524abea702b0da4168ac00d070d0c0b9f3" dependencies = [ - "async-io 2.3.4", + "async-io 2.4.0", "async-lock 3.4.0", "atomic-waker", "cfg-if", "futures-core", "futures-io", - "rustix 0.38.38", + "rustix 0.38.44", "signal-hook-registry", "slab", "windows-sys 0.59.0", @@ -329,20 +335,20 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.83" +version = "0.1.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] name = "atk" -version = "0.18.0" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4af014b17dd80e8af9fa689b2d4a211ddba6eb583c1622f35d0cb543f6b17e4" +checksum = "241b621213072e993be4f6f3a9e4b45f65b7e6faad43001be957184b7bb1824b" dependencies = [ "atk-sys", "glib", @@ -351,9 +357,9 @@ dependencies = [ [[package]] name = "atk-sys" -version = "0.18.0" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "251e0b7d90e33e0ba930891a505a9a35ece37b2dd37a14f3ffc306c13b980009" +checksum = "c5e48b684b0ca77d2bbadeef17424c2ea3c897d44d566a1617e7e8f30614d086" dependencies = [ "glib-sys", "gobject-sys", @@ -367,6 +373,17 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" +[[package]] +name = "auto-launch" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f012b8cc0c850f34117ec8252a44418f2e34a2cf501de89e29b241ae5f79471" +dependencies = [ + "dirs 4.0.0", + "thiserror 1.0.69", + "winreg 0.10.1", +] + [[package]] name = "autocfg" version = "1.4.0" @@ -408,9 +425,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.6.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" dependencies = [ "serde", ] @@ -461,6 +478,31 @@ dependencies = [ "piper", ] +[[package]] +name = "bon" +version = "3.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65268237be94042665b92034f979c42d431d2fd998b49809543afe3e66abad1c" +dependencies = [ + "bon-macros", + "rustversion", +] + +[[package]] +name = "bon-macros" +version = "3.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "803c95b2ecf650eb10b5f87dda6b9f6a1b758cee53245e2b7b825c9b3803a443" +dependencies = [ + "darling", + "ident_case", + "prettyplease", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.100", +] + [[package]] name = "brotli" version = "7.0.0" @@ -474,9 +516,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "4.0.1" +version = "4.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362" +checksum = "74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -484,15 +526,15 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "bytemuck" -version = "1.19.0" +version = "1.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8334215b81e418a0a7bdb8ef0849474f40bb10c8b71f1c4ed315cff49f32494d" +checksum = "b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540" [[package]] name = "byteorder" @@ -508,9 +550,9 @@ checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" [[package]] name = "bytes" -version = "1.8.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" dependencies = [ "serde", ] @@ -521,12 +563,12 @@ version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "cairo-sys-rs", "glib", "libc", "once_cell", - "thiserror 1.0.65", + "thiserror 1.0.69", ] [[package]] @@ -551,9 +593,9 @@ dependencies = [ [[package]] name = "cargo-platform" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" dependencies = [ "serde", ] @@ -569,14 +611,14 @@ dependencies = [ "semver", "serde", "serde_json", - "thiserror 2.0.3", + "thiserror 2.0.12", ] [[package]] name = "cargo_toml" -version = "0.21.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fbd1fe9db3ebf71b89060adaf7b0504c2d6a425cf061313099547e382c2e472" +checksum = "02260d489095346e5cafd04dea8e8cb54d1d74fcd759022a9b72986ebe9a1257" dependencies = [ "serde", "toml", @@ -584,9 +626,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.31" +version = "1.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f" +checksum = "1fcb57c740ae1daf453ae85f16e37396f672b039e00d9d866e07ddb24e328e3a" dependencies = [ "shlex", ] @@ -638,15 +680,15 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.38" +version = "0.4.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c" dependencies = [ "android-tzdata", "iana-time-zone", "num-traits", "serde", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -664,12 +706,12 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f79398230a6e2c08f5c9760610eb6924b52aa9e7950a619602baba59dcbbdbb2" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "block", "cocoa-foundation", "core-foundation 0.10.0", "core-graphics 0.24.0", - "foreign-types", + "foreign-types 0.5.0", "libc", "objc", ] @@ -680,7 +722,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e14045fb83be07b5acf1c0884b2180461635b433455fa35d1cd6f17f1450679d" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "block", "core-foundation 0.10.0", "core-graphics-types 0.2.0", @@ -707,6 +749,26 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "const-random" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" +dependencies = [ + "const-random-macro", +] + +[[package]] +name = "const-random-macro" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" +dependencies = [ + "getrandom 0.2.15", + "once_cell", + "tiny-keccak", +] + [[package]] name = "convert_case" version = "0.4.0" @@ -726,12 +788,13 @@ dependencies = [ [[package]] name = "cookie_store" -version = "0.21.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4934e6b7e8419148b6ef56950d277af8561060b56afd59e2aadf98b59fce6baa" +checksum = "2eac901828f88a5241ee0600950ab981148a18f2f756900ffba1b125ca6a3ef9" dependencies = [ "cookie", - "idna 0.5.0", + "document-features", + "idna", "log", "publicsuffix", "serde", @@ -776,7 +839,7 @@ dependencies = [ "bitflags 1.3.2", "core-foundation 0.9.4", "core-graphics-types 0.1.3", - "foreign-types", + "foreign-types 0.5.0", "libc", ] @@ -786,10 +849,10 @@ version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa95a34622365fa5bbf40b20b75dba8dfa8c94c734aea8ac9a5ca38af14316f1" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "core-foundation 0.10.0", "core-graphics-types 0.2.0", - "foreign-types", + "foreign-types 0.5.0", "libc", ] @@ -810,16 +873,16 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "core-foundation 0.10.0", "libc", ] [[package]] name = "cpufeatures" -version = "0.2.14" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] @@ -835,9 +898,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.13" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" dependencies = [ "crossbeam-utils", ] @@ -863,9 +926,15 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crunchy" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "crypto-common" @@ -901,17 +970,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" dependencies = [ "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] name = "ctor" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edb49164822f3ee45b17acd4a208cfc1251410cf0cad9a833234c9890774dd9f" +checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501" dependencies = [ "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] @@ -935,7 +1004,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] @@ -946,7 +1015,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] @@ -971,9 +1040,9 @@ checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a" [[package]] name = "deranged" -version = "0.3.11" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" dependencies = [ "powerfmt", "serde", @@ -998,20 +1067,20 @@ checksum = "d150dea618e920167e5973d70ae6ece4385b7164e0d799fe7c122dd0a5d912ad" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] name = "derive_more" -version = "0.99.18" +version = "0.99.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" +checksum = "3da29a38df43d6f156149c9b43ded5e018ddff2a855cf2cfd62e8cd7d079c69f" dependencies = [ "convert_case", "proc-macro2", "quote", "rustc_version", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] @@ -1024,13 +1093,22 @@ dependencies = [ "crypto-common", ] +[[package]] +name = "dirs" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" +dependencies = [ + "dirs-sys 0.3.7", +] + [[package]] name = "dirs" version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" dependencies = [ - "dirs-sys", + "dirs-sys 0.5.0", ] [[package]] @@ -1043,6 +1121,17 @@ dependencies = [ "dirs-sys-next", ] +[[package]] +name = "dirs-sys" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" +dependencies = [ + "libc", + "redox_users 0.4.6", + "winapi", +] + [[package]] name = "dirs-sys" version = "0.5.0" @@ -1073,12 +1162,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" [[package]] -name = "dlib" -version = "0.5.2" +name = "dispatch2" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" +checksum = "1a0d569e003ff27784e0e14e4a594048698e0c0f0b66cabcb51511be55a7caa0" dependencies = [ - "libloading 0.8.5", + "bitflags 2.9.0", + "block2 0.6.0", + "libc", + "objc2 0.6.0", +] + +[[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.100", ] [[package]] @@ -1101,7 +1204,25 @@ checksum = "f2b99bf03862d7f545ebc28ddd33a665b50865f4dfd84031a393823879bd4c54" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", +] + +[[package]] +name = "dlv-list" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f" +dependencies = [ + "const-random", +] + +[[package]] +name = "document-features" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95249b50c6c185bee49034bcb378a49dc2b5dff0be90ff6616d31d64febab05d" +dependencies = [ + "litrs", ] [[package]] @@ -1121,9 +1242,9 @@ dependencies = [ [[package]] name = "dtoa" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" +checksum = "d6add3b8cff394282be81f3fc1a0605db594ed69890078ca6e2cab1c408bcf04" [[package]] name = "dtoa-short" @@ -1142,9 +1263,9 @@ checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "dyn-clone" -version = "1.0.17" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" +checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" [[package]] name = "either" @@ -1189,9 +1310,9 @@ checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf" [[package]] name = "enumflags2" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d" +checksum = "ba2f4b465f5318854c6f8dd686ede6c0a9dc67d4b1ac241cf0eb51521a309147" dependencies = [ "enumflags2_derive", "serde", @@ -1199,26 +1320,26 @@ dependencies = [ [[package]] name = "enumflags2_derive" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" +checksum = "fc4caf64a58d7a6d65ab00639b046ff54399a39f5f2554728895ace4b297cd79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] name = "equivalent" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "erased-serde" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24e2389d65ab4fab27dc2a5de7b191e1f6617d1f1c8855c0dc569c94a4cbb18d" +checksum = "e004d887f51fcb9fef17317a2f3525c887d8aa3f4f50fed920816a688284a5b7" dependencies = [ "serde", "typeid", @@ -1226,12 +1347,12 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1259,9 +1380,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "5.3.1" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" +checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" dependencies = [ "concurrent-queue", "parking", @@ -1270,11 +1391,11 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" +checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" dependencies = [ - "event-listener 5.3.1", + "event-listener 5.4.0", "pin-project-lite", ] @@ -1289,15 +1410,15 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.1.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "fdeflate" -version = "0.3.5" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8090f921a24b04994d9929e204f50b498a33ea6ba559ffaa05e04f7ee7fb5ab" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" dependencies = [ "simd-adler32", ] @@ -1320,9 +1441,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.34" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0" +checksum = "11faaf5a5236997af9848be0bef4db95824b1d534ebc64d0f0c6cf3e67bd38dc" dependencies = [ "crc32fast", "miniz_oxide", @@ -1334,6 +1455,15 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[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" @@ -1341,7 +1471,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" dependencies = [ "foreign-types-macros", - "foreign-types-shared", + "foreign-types-shared 0.3.1", ] [[package]] @@ -1352,9 +1482,15 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] +[[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" @@ -1449,7 +1585,7 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" dependencies = [ - "fastrand 2.1.1", + "fastrand 2.3.0", "futures-core", "futures-io", "parking", @@ -1464,7 +1600,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] @@ -1508,9 +1644,9 @@ dependencies = [ [[package]] name = "gdk" -version = "0.18.0" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5ba081bdef3b75ebcdbfc953699ed2d7417d6bd853347a42a37d76406a33646" +checksum = "d9f245958c627ac99d8e529166f9823fb3b838d1d41fd2b297af3075093c2691" dependencies = [ "cairo-rs", "gdk-pixbuf", @@ -1549,9 +1685,9 @@ dependencies = [ [[package]] name = "gdk-sys" -version = "0.18.0" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31ff856cb3386dae1703a920f803abafcc580e9b5f711ca62ed1620c25b51ff2" +checksum = "5c2d13f38594ac1e66619e188c6d5a1adb98d11b2fcf7894fc416ad76aa2f3f7" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -1566,9 +1702,9 @@ dependencies = [ [[package]] name = "gdkwayland-sys" -version = "0.18.0" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a90fbf5c033c65d93792192a49a8efb5bb1e640c419682a58bb96f5ae77f3d4a" +checksum = "140071d506d223f7572b9f09b5e155afbd77428cd5cc7af8f2694c41d98dfe69" dependencies = [ "gdk-sys", "glib-sys", @@ -1580,9 +1716,9 @@ dependencies = [ [[package]] name = "gdkx11" -version = "0.18.0" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2ea8a4909d530f79921290389cbd7c34cb9d623bfe970eaae65ca5f9cd9cce" +checksum = "3caa00e14351bebbc8183b3c36690327eb77c49abc2268dd4bd36b856db3fbfe" dependencies = [ "gdk", "gdkx11-sys", @@ -1594,9 +1730,9 @@ dependencies = [ [[package]] name = "gdkx11-sys" -version = "0.18.0" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fee8f00f4ee46cad2939b8990f5c70c94ff882c3028f3cc5abf950fa4ab53043" +checksum = "6e2e7445fe01ac26f11601db260dd8608fe172514eb63b3b5e261ea6b0f4428d" dependencies = [ "gdk-sys", "glib-sys", @@ -1631,7 +1767,7 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fd4b8790c0792e3b11895efdf5f289ebe8b59107a6624f1cce68f24ff8c7035" dependencies = [ - "rustix 0.38.38", + "rustix 0.38.44", "windows-targets 0.52.6", ] @@ -1653,8 +1789,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", + "wasm-bindgen", ] [[package]] @@ -1679,7 +1831,7 @@ dependencies = [ "once_cell", "pin-project-lite", "smallvec", - "thiserror 1.0.65", + "thiserror 1.0.69", ] [[package]] @@ -1701,7 +1853,7 @@ version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "futures-channel", "futures-core", "futures-executor", @@ -1715,7 +1867,7 @@ dependencies = [ "memchr", "once_cell", "smallvec", - "thiserror 1.0.65", + "thiserror 1.0.69", ] [[package]] @@ -1729,7 +1881,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] @@ -1744,23 +1896,23 @@ dependencies = [ [[package]] name = "glob" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" [[package]] name = "global-hotkey" -version = "0.6.2" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1b75248f33c73df1ed69673f6cb36d2e048ae84d29aa1d3e53199d138ebb1df" +checksum = "41fbb3a4e56c901ee66c190fdb3fa08344e6d09593cc6c61f8eb9add7144b271" dependencies = [ "crossbeam-channel", "keyboard-types", - "objc2 0.5.2", - "objc2-app-kit 0.2.2", + "objc2 0.6.0", + "objc2-app-kit 0.3.0", "once_cell", "serde", - "thiserror 1.0.65", + "thiserror 2.0.12", "windows-sys 0.59.0", "x11-dl", ] @@ -1778,9 +1930,9 @@ dependencies = [ [[package]] name = "gtk" -version = "0.18.1" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93c4f5e0e20b60e10631a5f06da7fe3dda744b05ad0ea71fee2f47adf865890c" +checksum = "fd56fb197bfc42bd5d2751f4f017d44ff59fbb58140c6b49f9b3b2bdab08506a" dependencies = [ "atk", "cairo-rs", @@ -1799,9 +1951,9 @@ dependencies = [ [[package]] name = "gtk-sys" -version = "0.18.0" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771437bf1de2c1c0b496c11505bdf748e26066bbe942dfc8f614c9460f6d7722" +checksum = "8f29a1c21c59553eb7dd40e918be54dccd60c52b049b75119d5d96ce6b624414" dependencies = [ "atk-sys", "cairo-sys-rs", @@ -1817,22 +1969,22 @@ dependencies = [ [[package]] name = "gtk3-macros" -version = "0.18.0" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6063efb63db582968fb7df72e1ae68aa6360dcfb0a75143f34fc7d616bad75e" +checksum = "52ff3c5b21f14f0736fed6dcfc0bfb4225ebf5725f3c0209edeec181e4d73e9d" dependencies = [ "proc-macro-crate 1.3.1", "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] name = "h2" -version = "0.4.6" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" +checksum = "5017294ff4bb30944501348f6f8e42e6ad28f42c8bbef7a74029aff064a4e3c2" dependencies = [ "atomic-waker", "bytes", @@ -1840,7 +1992,7 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.6.0", + "indexmap 2.8.0", "slab", "tokio", "tokio-util", @@ -1861,9 +2013,9 @@ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "hashbrown" -version = "0.15.0" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" [[package]] name = "heck" @@ -1911,13 +2063,13 @@ dependencies = [ [[package]] name = "http" -version = "1.1.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" dependencies = [ "bytes", "fnv", - "itoa 1.0.11", + "itoa 1.0.15", ] [[package]] @@ -1932,12 +2084,12 @@ dependencies = [ [[package]] name = "http-body-util" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", - "futures-util", + "futures-core", "http", "http-body", "pin-project-lite", @@ -1945,15 +2097,15 @@ dependencies = [ [[package]] name = "httparse" -version = "1.9.5" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "hyper" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbbff0a806a4728c99295b254c8838933b5b082d75e3cb70c8dab21fdfbcfa9a" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" dependencies = [ "bytes", "futures-channel", @@ -1962,7 +2114,7 @@ dependencies = [ "http", "http-body", "httparse", - "itoa 1.0.11", + "itoa 1.0.15", "pin-project-lite", "smallvec", "tokio", @@ -1971,9 +2123,9 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.3" +version = "0.27.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" +checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" dependencies = [ "futures-util", "http", @@ -1988,10 +2140,26 @@ dependencies = [ ] [[package]] -name = "hyper-util" -version = "0.1.9" +name = "hyper-tls" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b" +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.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" dependencies = [ "bytes", "futures-channel", @@ -2000,7 +2168,7 @@ dependencies = [ "http-body", "hyper", "pin-project-lite", - "socket2 0.5.7", + "socket2 0.5.8", "tokio", "tower-service", "tracing", @@ -2039,6 +2207,124 @@ dependencies = [ "png", ] +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -2047,29 +2333,30 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.3.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "idna_adapter", + "smallvec", + "utf8_iter", ] [[package]] -name = "idna" -version = "0.5.0" +name = "idna_adapter" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "icu_normalizer", + "icu_properties", ] [[package]] name = "image" -version = "0.25.4" +version = "0.25.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc144d44a31d753b02ce64093d532f55ff8dc4ebf2ffb8a63c0dda691385acae" +checksum = "cd6f44aed642f18953a158afeb30206f4d50da59fbc66ecb53c66488de73563b" dependencies = [ "bytemuck", "byteorder-lite", @@ -2091,12 +2378,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.6.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" +checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" dependencies = [ "equivalent", - "hashbrown 0.15.0", + "hashbrown 0.15.2", "serde", ] @@ -2131,9 +2418,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.10.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "is-docker" @@ -2171,9 +2458,9 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "javascriptcore-rs" @@ -2209,7 +2496,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror 1.0.65", + "thiserror 1.0.69", "walkdir", "windows-sys 0.45.0", ] @@ -2228,10 +2515,11 @@ checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" [[package]] name = "js-sys" -version = "0.3.72" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ + "once_cell", "wasm-bindgen", ] @@ -2244,7 +2532,7 @@ dependencies = [ "jsonptr", "serde", "serde_json", - "thiserror 1.0.65", + "thiserror 1.0.69", ] [[package]] @@ -2263,7 +2551,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "serde", "unicode-segmentation", ] @@ -2313,15 +2601,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e9ec52138abedcc58dc17a7c6c0c00a2bdb4f3427c7f63fa97fd0d859155caf" dependencies = [ "gtk-sys", - "libloading 0.7.4", + "libloading", "once_cell", ] [[package]] name = "libc" -version = "0.2.161" +version = "0.2.171" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" +checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" [[package]] name = "libloading" @@ -2333,23 +2621,13 @@ dependencies = [ "winapi", ] -[[package]] -name = "libloading" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" -dependencies = [ - "cfg-if", - "windows-targets 0.52.6", -] - [[package]] name = "libredox" version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "libc", ] @@ -2361,9 +2639,27 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.14" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" + +[[package]] +name = "linux-raw-sys" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413" + +[[package]] +name = "litemap" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" + +[[package]] +name = "litrs" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" [[package]] name = "lock_api" @@ -2377,9 +2673,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.22" +version = "0.4.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e" [[package]] name = "mac" @@ -2476,9 +2772,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.0" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" dependencies = [ "adler2", "simd-adler32", @@ -2486,11 +2782,10 @@ dependencies = [ [[package]] name = "mio" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ - "hermit-abi 0.3.9", "libc", "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", @@ -2513,23 +2808,40 @@ dependencies = [ "once_cell", "png", "serde", - "thiserror 2.0.3", + "thiserror 2.0.12", "windows-sys 0.59.0", ] +[[package]] +name = "native-tls" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" +dependencies = [ + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "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.6.0", + "bitflags 2.9.0", "jni-sys", "log", "ndk-sys", "num_enum", "raw-window-handle", - "thiserror 1.0.65", + "thiserror 1.0.69", ] [[package]] @@ -2571,7 +2883,7 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "cfg-if", "cfg_aliases 0.1.1", "libc", @@ -2583,7 +2895,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "cfg-if", "cfg_aliases 0.2.1", "libc", @@ -2608,15 +2920,16 @@ dependencies = [ [[package]] name = "notify-rust" -version = "4.11.3" +version = "4.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5134a72dc570b178bff81b01e81ab14a6fcc015391ed4b3b14853090658cd3a3" +checksum = "7fa3b9f2364a09bd359aa0206702882e208437450866a374d5372d64aece4029" dependencies = [ + "futures-lite 2.6.0", "log", "mac-notification-sys", "serde", "tauri-winrt-notification", - "zbus 4.4.0", + "zbus 5.5.0", ] [[package]] @@ -2658,10 +2971,10 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ - "proc-macro-crate 2.0.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] @@ -2716,7 +3029,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "block2 0.5.1", "libc", "objc2 0.5.2", @@ -2732,7 +3045,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5906f93257178e2f7ae069efb89fbd6ee94f0592740b5f8a1512ca498814d0fb" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "block2 0.6.0", "libc", "objc2 0.6.0", @@ -2751,7 +3064,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c1948a9be5f469deadbd6bcb86ad7ff9e47b4f632380139722f7d9840c0d42c" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "objc2 0.6.0", "objc2-foundation 0.3.0", ] @@ -2762,7 +3075,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -2774,7 +3087,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f860f8e841f6d32f754836f51e6bc7777cd7e7053cf18528233f6811d3eceb4" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "objc2 0.6.0", "objc2-foundation 0.3.0", ] @@ -2785,7 +3098,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daeaf60f25471d26948a1c2f840e3f7d86f4109e3af4e8e4b5cd70c39690d925" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "objc2 0.6.0", ] @@ -2795,7 +3108,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dca602628b65356b6513290a21a6405b4d4027b8b250f0b98dddbb28b7de02" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "objc2 0.6.0", "objc2-core-foundation", "objc2-io-surface", @@ -2844,9 +3157,8 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "block2 0.5.1", - "dispatch", "libc", "objc2 0.5.2", ] @@ -2857,7 +3169,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a21c6c9014b82c39515db5b396f91645182611c97d24637cf56ac01e5f8d998" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "block2 0.6.0", "libc", "objc2 0.6.0", @@ -2870,7 +3182,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "161a8b87e32610086e1a7a9e9ec39f84459db7b3a0881c1f16ca5a2605581c19" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "objc2 0.6.0", "objc2-core-foundation", ] @@ -2881,7 +3193,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -2893,7 +3205,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -2906,7 +3218,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6fb3794501bb1bee12f08dcad8c61f2a5875791ad1c6f47faa71a0f033f20071" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "objc2 0.6.0", "objc2-foundation 0.3.0", ] @@ -2917,7 +3229,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "777a571be14a42a3990d4ebedaeb8b54cd17377ec21b92e8200ac03797b3bee1" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "objc2 0.6.0", "objc2-core-foundation", "objc2-foundation 0.3.0", @@ -2929,7 +3241,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b717127e4014b0f9f3e8bba3d3f2acec81f1bde01f656823036e823ed2c94dce" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "block2 0.6.0", "objc2 0.6.0", "objc2-app-kit 0.3.0", @@ -2948,36 +3260,91 @@ dependencies = [ [[package]] name = "object" -version = "0.36.5" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.20.2" +version = "1.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" [[package]] name = "open" -version = "5.3.0" +version = "5.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a877bf6abd716642a53ef1b89fb498923a4afca5c754f9050b4d081c05c4b3" +checksum = "e2483562e62ea94312f3576a7aca397306df7990b8d89033e18766744377ef95" dependencies = [ + "dunce", "is-wsl", "libc", "pathdiff", ] +[[package]] +name = "openssl" +version = "0.10.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e14130c6a98cd258fdcb0fb6d744152343ff729cbfcb28c656a9d12b999fbcd" +dependencies = [ + "bitflags 2.9.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.100", +] + +[[package]] +name = "openssl-probe" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" + +[[package]] +name = "openssl-sys" +version = "0.9.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bb61ea9811cc39e3c2069f40b8b8e2e70d8569b361f879786cc7ed48b777cdd" +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 = "ordered-multimap" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79" +dependencies = [ + "dlv-list", + "hashbrown 0.14.5", +] + [[package]] name = "ordered-stream" version = "0.2.0" @@ -2990,9 +3357,9 @@ dependencies = [ [[package]] name = "os_info" -version = "3.8.2" +version = "3.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae99c7fa6dd38c7cafe1ec085e804f8f555a2f8659b0dbe03f1f9963a9b51092" +checksum = "2a604e53c24761286860eba4e2c8b23a0161526476b1de520139d69cdb85a6b5" dependencies = [ "log", "serde", @@ -3065,9 +3432,9 @@ dependencies = [ [[package]] name = "pathdiff" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61c5ce1153ab5b689d0c074c4e7fc613e942dfb7dd9eea5ab202d2ad91fe361" +checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" [[package]] name = "percent-encoding" @@ -3082,7 +3449,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.6.0", + "indexmap 2.8.0", ] [[package]] @@ -3107,12 +3474,12 @@ dependencies = [ [[package]] name = "phf" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" dependencies = [ - "phf_macros 0.11.2", - "phf_shared 0.11.2", + "phf_macros 0.11.3", + "phf_shared 0.11.3", ] [[package]] @@ -3157,11 +3524,11 @@ dependencies = [ [[package]] name = "phf_generator" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ - "phf_shared 0.11.2", + "phf_shared 0.11.3", "rand 0.8.5", ] @@ -3181,15 +3548,15 @@ dependencies = [ [[package]] name = "phf_macros" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" dependencies = [ - "phf_generator 0.11.2", - "phf_shared 0.11.2", + "phf_generator 0.11.3", + "phf_shared 0.11.3", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] @@ -3198,7 +3565,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" dependencies = [ - "siphasher", + "siphasher 0.3.11", ] [[package]] @@ -3207,23 +3574,23 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" dependencies = [ - "siphasher", + "siphasher 0.3.11", ] [[package]] name = "phf_shared" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" dependencies = [ - "siphasher", + "siphasher 1.0.1", ] [[package]] name = "pin-project-lite" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pin-utils" @@ -3238,15 +3605,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" dependencies = [ "atomic-waker", - "fastrand 2.1.1", + "fastrand 2.3.0", "futures-io", ] [[package]] name = "pkg-config" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "plist" @@ -3255,7 +3622,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016" dependencies = [ "base64 0.22.1", - "indexmap 2.6.0", + "indexmap 2.8.0", "quick-xml 0.32.0", "serde", "time", @@ -3263,9 +3630,9 @@ dependencies = [ [[package]] name = "png" -version = "0.17.14" +version = "0.17.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52f9d46a34a05a6a57566bc2bfae066ef07585a6e3fa30fbbdff5936380623f0" +checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" dependencies = [ "bitflags 1.3.2", "crc32fast", @@ -3292,15 +3659,15 @@ dependencies = [ [[package]] name = "polling" -version = "3.7.3" +version = "3.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2790cd301dec6cd3b7a025e4815cf825724a51c98dccfe6a3e55f05ffb6511" +checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" dependencies = [ "cfg-if", "concurrent-queue", "hermit-abi 0.4.0", "pin-project-lite", - "rustix 0.38.38", + "rustix 0.38.44", "tracing", "windows-sys 0.59.0", ] @@ -3313,9 +3680,9 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ "zerocopy", ] @@ -3326,6 +3693,16 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" +[[package]] +name = "prettyplease" +version = "0.2.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5316f57387668042f561aae71480de936257848f9c43ce528e311d89a07cadeb" +dependencies = [ + "proc-macro2", + "syn 2.0.100", +] + [[package]] name = "proc-macro-crate" version = "1.3.1" @@ -3342,7 +3719,7 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" dependencies = [ - "toml_edit 0.20.2", + "toml_edit 0.20.7", ] [[package]] @@ -3386,9 +3763,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.89" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" +checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" dependencies = [ "unicode-ident", ] @@ -3401,11 +3778,11 @@ checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac" [[package]] name = "publicsuffix" -version = "2.2.3" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96a8c1bda5ae1af7f99a2962e49df150414a43d62404644d98dd5c3a93d07457" +checksum = "6f42ea446cab60335f76979ec15e12619a2165b5ae2c12166bef27d283a9fadf" dependencies = [ - "idna 0.3.0", + "idna", "psl-types", ] @@ -3429,70 +3806,82 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.36.2" +version = "0.37.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7649a7b4df05aed9ea7ec6f628c67c9953a43869b8bc50929569b2999d443fe" +checksum = "165859e9e55f79d67b96c5d96f4e88b6f2695a1972849c15a6a3f5c59fc2c003" dependencies = [ "memchr", ] [[package]] name = "quinn" -version = "0.11.5" +version = "0.11.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c7c5fdde3cdae7203427dc4f0a68fe0ed09833edc525a03456b153b79828684" +checksum = "c3bd15a6f2967aef83887dcb9fec0014580467e33720d073560cf015a5683012" dependencies = [ "bytes", + "cfg_aliases 0.2.1", "pin-project-lite", "quinn-proto", "quinn-udp", "rustc-hash", "rustls", - "socket2 0.5.7", - "thiserror 1.0.65", + "socket2 0.5.8", + "thiserror 2.0.12", "tokio", "tracing", + "web-time", ] [[package]] name = "quinn-proto" -version = "0.11.8" +version = "0.11.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fadfaed2cd7f389d0161bb73eeb07b7b78f8691047a6f3e73caaeae55310a4a6" +checksum = "b820744eb4dc9b57a3398183639c511b5a26d2ed702cedd3febaa1393caa22cc" dependencies = [ "bytes", - "rand 0.8.5", + "getrandom 0.3.2", + "rand 0.9.0", "ring", "rustc-hash", "rustls", + "rustls-pki-types", "slab", - "thiserror 1.0.65", + "thiserror 2.0.12", "tinyvec", "tracing", + "web-time", ] [[package]] name = "quinn-udp" -version = "0.5.5" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fe68c2e9e1a1234e218683dbdf9f9dfcb094113c5ac2b938dfcb9bab4c4140b" +checksum = "e46f3055866785f6b92bc6164b76be02ca8f2eb4b002c0354b28cf4c119e5944" dependencies = [ + "cfg_aliases 0.2.1", "libc", "once_cell", - "socket2 0.5.7", + "socket2 0.5.8", "tracing", "windows-sys 0.59.0", ] [[package]] name = "quote" -version = "1.0.37" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + [[package]] name = "rand" version = "0.7.3" @@ -3518,6 +3907,17 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "rand" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", + "zerocopy", +] + [[package]] name = "rand_chacha" version = "0.2.2" @@ -3538,6 +3938,16 @@ dependencies = [ "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.3", +] + [[package]] name = "rand_core" version = "0.5.1" @@ -3556,6 +3966,15 @@ dependencies = [ "getrandom 0.2.15", ] +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.2", +] + [[package]] name = "rand_hc" version = "0.2.0" @@ -3602,11 +4021,11 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.7" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" +checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", ] [[package]] @@ -3617,7 +4036,7 @@ checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom 0.2.15", "libredox", - "thiserror 1.0.65", + "thiserror 1.0.69", ] [[package]] @@ -3628,7 +4047,7 @@ checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b" dependencies = [ "getrandom 0.2.15", "libredox", - "thiserror 2.0.3", + "thiserror 2.0.12", ] [[package]] @@ -3645,9 +4064,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", @@ -3662,15 +4081,16 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "reqwest" -version = "0.12.8" +version = "0.12.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f713147fbe92361e52392c73b8c9e48c04c6625bce969ef54dc901e58e042a7b" +checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" dependencies = [ "base64 0.22.1", "bytes", "cookie", "cookie_store", "encoding_rs", + "futures-channel", "futures-core", "futures-util", "h2", @@ -3679,11 +4099,13 @@ dependencies = [ "http-body-util", "hyper", "hyper-rustls", + "hyper-tls", "hyper-util", "ipnet", "js-sys", "log", "mime", + "native-tls", "once_cell", "percent-encoding", "pin-project-lite", @@ -3697,8 +4119,10 @@ dependencies = [ "sync_wrapper", "system-configuration", "tokio", + "tokio-native-tls", "tokio-rustls", "tokio-util", + "tower", "tower-service", "url", "wasm-bindgen", @@ -3706,47 +4130,59 @@ dependencies = [ "wasm-streams", "web-sys", "webpki-roots", - "windows-registry", + "windows-registry 0.4.0", ] [[package]] name = "rfd" -version = "0.15.0" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8af382a047821a08aa6bfc09ab0d80ff48d45d8726f7cd8e44891f7cb4a4278e" +checksum = "80c844748fdc82aae252ee4594a89b6e7ebef1063de7951545564cbc4e57075d" dependencies = [ "ashpd", - "block2 0.5.1", + "block2 0.6.0", + "dispatch2", "glib-sys", "gobject-sys", "gtk-sys", "js-sys", "log", - "objc2 0.5.2", - "objc2-app-kit 0.2.2", - "objc2-foundation 0.2.2", + "objc2 0.6.0", + "objc2-app-kit 0.3.0", + "objc2-core-foundation", + "objc2-foundation 0.3.0", "raw-window-handle", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] name = "ring" -version = "0.17.8" +version = "0.17.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", "getrandom 0.2.15", "libc", - "spin", "untrusted", "windows-sys 0.52.0", ] +[[package]] +name = "rust-ini" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e310ef0e1b6eeb79169a1171daf9abcb87a2e17c03bee2c4bb100b55c75409f" +dependencies = [ + "cfg-if", + "ordered-multimap", + "trim-in-place", +] + [[package]] name = "rustc-demangle" version = "0.1.24" @@ -3755,9 +4191,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc_version" @@ -3784,22 +4220,35 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.38" +version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa260229e6538e52293eeb577aabd09945a09d6d9cc0fc550ed7529056c2e32a" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "errno", "libc", - "linux-raw-sys 0.4.14", - "windows-sys 0.52.0", + "linux-raw-sys 0.4.15", + "windows-sys 0.59.0", +] + +[[package]] +name = "rustix" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e56a18552996ac8d29ecc3b190b4fdbb2d91ca4ec396de7bbffaf43f3d637e96" +dependencies = [ + "bitflags 2.9.0", + "errno", + "libc", + "linux-raw-sys 0.9.3", + "windows-sys 0.59.0", ] [[package]] name = "rustls" -version = "0.23.15" +version = "0.23.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fbb44d7acc4e873d613422379f69f237a1b141928c02f6bc6ccfddddc2d7993" +checksum = "822ee9188ac4ec04a2f0531e55d035fb2de73f18b41a63c70c2712503b6fb13c" dependencies = [ "once_cell", "ring", @@ -3820,15 +4269,18 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" +checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" +dependencies = [ + "web-time", +] [[package]] name = "rustls-webpki" -version = "0.102.8" +version = "0.103.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +checksum = "0aa4eeac2588ffff23e9d7a7e9b3f971c5fb5b7ebc9452745e0c232c64f83b2f" dependencies = [ "ring", "rustls-pki-types", @@ -3836,10 +4288,16 @@ dependencies = [ ] [[package]] -name = "ryu" -version = "1.0.18" +name = "rustversion" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" + +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "same-file" @@ -3851,10 +4309,19 @@ dependencies = [ ] [[package]] -name = "schemars" -version = "0.8.21" +name = "schannel" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" +dependencies = [ + "windows-sys 0.59.0", +] + +[[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", @@ -3867,28 +4334,45 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "0.8.21" +version = "0.8.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e" +checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.87", + "syn 2.0.100", ] -[[package]] -name = "scoped-tls" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" - [[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.9.0", + "core-foundation 0.9.4", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "selectors" version = "0.22.0" @@ -3911,9 +4395,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.23" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" dependencies = [ "serde", ] @@ -3929,9 +4413,9 @@ dependencies = [ [[package]] name = "serde-untagged" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2676ba99bd82f75cae5cbd2c8eda6fa0b8760f18978ea840e980dd5567b5c5b6" +checksum = "299d9c19d7d466db4ab10addd5703e4c615dec2a5a16dbbafe191045e87ee66e" dependencies = [ "erased-serde", "serde", @@ -3946,7 +4430,7 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] @@ -3957,7 +4441,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] @@ -3966,7 +4450,7 @@ version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ - "itoa 1.0.11", + "itoa 1.0.15", "memchr", "ryu", "serde", @@ -3974,13 +4458,13 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" +checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] @@ -3999,22 +4483,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ "form_urlencoded", - "itoa 1.0.11", + "itoa 1.0.15", "ryu", "serde", ] [[package]] name = "serde_with" -version = "3.11.0" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e28bdad6db2b8340e449f7108f020b3b092e8583a9e3fb82713e1d4e71fe817" +checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa" dependencies = [ "base64 0.22.1", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.6.0", + "indexmap 2.8.0", "serde", "serde_derive", "serde_json", @@ -4024,14 +4508,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.11.0" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d846214a9854ef724f3da161b426242d8de7c1fc7de2f89bb1efcb154dca79d" +checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] @@ -4125,6 +4609,12 @@ version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" +[[package]] +name = "siphasher" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" + [[package]] name = "slab" version = "0.4.9" @@ -4136,9 +4626,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.2" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" [[package]] name = "socket2" @@ -4152,9 +4642,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" dependencies = [ "libc", "windows-sys 0.52.0", @@ -4169,7 +4659,7 @@ dependencies = [ "bytemuck", "cfg_aliases 0.2.1", "core-graphics 0.24.0", - "foreign-types", + "foreign-types 0.5.0", "js-sys", "log", "objc2 0.5.2", @@ -4208,12 +4698,6 @@ dependencies = [ "system-deps", ] -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" - [[package]] name = "stable_deref_trait" version = "1.2.0" @@ -4245,26 +4729,25 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "string_cache" -version = "0.8.7" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +checksum = "938d512196766101d333398efde81bc1f37b00cb42c2f8350e5df639f040bbbe" dependencies = [ "new_debug_unreachable", - "once_cell", "parking_lot", - "phf_shared 0.10.0", + "phf_shared 0.11.3", "precomputed-hash", "serde", ] [[package]] name = "string_cache_codegen" -version = "0.5.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" +checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0" dependencies = [ - "phf_generator 0.10.0", - "phf_shared 0.10.0", + "phf_generator 0.11.3", + "phf_shared 0.11.3", "proc-macro2", "quote", ] @@ -4305,9 +4788,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.87" +version = "2.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" +checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" dependencies = [ "proc-macro2", "quote", @@ -4316,18 +4799,29 @@ dependencies = [ [[package]] name = "sync_wrapper" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" dependencies = [ "futures-core", ] [[package]] -name = "sys-locale" -version = "0.3.1" +name = "synstructure" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e801cf239ecd6ccd71f03d270d67dd53d13e90aab208bf4b8fe4ad957ea949b0" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "sys-locale" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eab9a99a024a169fe8a903cf9d4a3b3601109bcc13bd9e3c6fff259138626c4" dependencies = [ "libc", ] @@ -4353,7 +4847,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "core-foundation 0.9.4", "system-configuration-sys", ] @@ -4387,7 +4881,7 @@ version = "0.32.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "63c8b1020610b9138dd7b1e06cf259ae91aa05c30f3bd0d6b42a03997b92dec1" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "core-foundation 0.10.0", "core-graphics 0.24.0", "crossbeam-channel", @@ -4428,7 +4922,7 @@ checksum = "f4e16beb8b2ac17db28eab8bca40e62dbfbb34c0fcdc6d9826b11b7b5d047dfd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] @@ -4439,13 +4933,13 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tauri" -version = "2.3.1" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be747b26bf28674977fac47bdf6963fd9c7578271c3fbeb25d8686de6596f35" +checksum = "511dd38065a5d3b36c33cdba4362b99a40a5103bebcd4aebb930717e7c8ba292" dependencies = [ "anyhow", "bytes", - "dirs", + "dirs 6.0.0", "dunce", "embed_plist", "futures-util", @@ -4476,7 +4970,7 @@ dependencies = [ "tauri-runtime", "tauri-runtime-wry", "tauri-utils", - "thiserror 2.0.3", + "thiserror 2.0.12", "tokio", "tray-icon", "url", @@ -4489,13 +4983,13 @@ dependencies = [ [[package]] name = "tauri-build" -version = "2.0.6" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51a2e96f3c0baa0581656bb58e6fdd0f7c9c31eaf6721a0c08689d938fe85f2d" +checksum = "7ffa8732a66f90903f5a585215f3cf1e87988d0359bc88c18a502efe7572c1de" dependencies = [ "anyhow", "cargo_toml", - "dirs", + "dirs 6.0.0", "glob", "heck 0.5.0", "json-patch", @@ -4511,9 +5005,9 @@ dependencies = [ [[package]] name = "tauri-codegen" -version = "2.0.5" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e357ec3daf8faad1029bc7109e7f5b308ceb63b6073d110d7388923a4cce5e55" +checksum = "c266a247f14d63f40c6282c2653a8bac5cc3d482ca562a003a88513653ea817a" dependencies = [ "base64 0.22.1", "brotli", @@ -4527,9 +5021,9 @@ dependencies = [ "serde", "serde_json", "sha2", - "syn 2.0.87", + "syn 2.0.100", "tauri-utils", - "thiserror 2.0.3", + "thiserror 2.0.12", "time", "url", "uuid", @@ -4538,23 +5032,23 @@ dependencies = [ [[package]] name = "tauri-macros" -version = "2.0.5" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "447ee4dd94690d77f1422f2b57e783c654ba75c535ad6f6e727887330804fff2" +checksum = "f47a1cf94b3bd6c4dc37dce1a43fc96120ff29a91757f0ab3cf713c7ad846e7c" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", "tauri-codegen", "tauri-utils", ] [[package]] name = "tauri-plugin" -version = "2.0.5" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ad3021d8e60ec7672f51ecb67c5e1a514a4d7a9a5ffc9d85090739378047502" +checksum = "9972871fcbddf16618f70412d965d4d845cd4b76d03fff168709961ef71e5cdf" dependencies = [ "anyhow", "glob", @@ -4567,6 +5061,20 @@ dependencies = [ "walkdir", ] +[[package]] +name = "tauri-plugin-autostart" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9c13f843e5e5df3eed270fc42b02923cc1a6b5c7e56b0f3ac1d858ab2c8b5fb" +dependencies = [ + "auto-launch", + "serde", + "serde_json", + "tauri", + "tauri-plugin", + "thiserror 2.0.12", +] + [[package]] name = "tauri-plugin-clipboard-manager" version = "2.2.2" @@ -4579,7 +5087,27 @@ dependencies = [ "serde_json", "tauri", "tauri-plugin", - "thiserror 2.0.3", + "thiserror 2.0.12", +] + +[[package]] +name = "tauri-plugin-deep-link" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35d51ffd286073414d26353bcfc9e83e3cd63f96fa7f7a912f92f2118e5de5a6" +dependencies = [ + "dunce", + "rust-ini", + "serde", + "serde_json", + "tauri", + "tauri-plugin", + "tauri-utils", + "thiserror 2.0.12", + "tracing", + "url", + "windows-registry 0.3.0", + "windows-result 0.2.0", ] [[package]] @@ -4596,7 +5124,7 @@ dependencies = [ "tauri", "tauri-plugin", "tauri-plugin-fs", - "thiserror 2.0.3", + "thiserror 2.0.12", "url", ] @@ -4617,7 +5145,7 @@ dependencies = [ "tauri", "tauri-plugin", "tauri-utils", - "thiserror 2.0.3", + "thiserror 2.0.12", "toml", "url", "uuid", @@ -4635,14 +5163,14 @@ dependencies = [ "serde_json", "tauri", "tauri-plugin", - "thiserror 2.0.3", + "thiserror 2.0.12", ] [[package]] name = "tauri-plugin-http" -version = "2.4.0" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "028093def653e1f9da23a80beedfd33b88899427693b2c8357ce0c1cc26284b2" +checksum = "696ef548befeee6c6c17b80ef73e7c41205b6c2204e87ef78ccc231212389a5c" dependencies = [ "data-url", "http", @@ -4654,7 +5182,7 @@ dependencies = [ "tauri", "tauri-plugin", "tauri-plugin-fs", - "thiserror 2.0.3", + "thiserror 2.0.12", "tokio", "url", "urlpattern", @@ -4674,7 +5202,7 @@ dependencies = [ "serde_repr", "tauri", "tauri-plugin", - "thiserror 2.0.3", + "thiserror 2.0.12", "time", "url", ] @@ -4694,7 +5222,7 @@ dependencies = [ "sys-locale", "tauri", "tauri-plugin", - "thiserror 2.0.3", + "thiserror 2.0.12", ] [[package]] @@ -4724,10 +5252,26 @@ dependencies = [ "shared_child", "tauri", "tauri-plugin", - "thiserror 2.0.3", + "thiserror 2.0.12", "tokio", ] +[[package]] +name = "tauri-plugin-single-instance" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25bbc73eed15bba8ad290a52614f2711280df4bf575b36ce78f64367074b90b7" +dependencies = [ + "serde", + "serde_json", + "tauri", + "tauri-plugin-deep-link", + "thiserror 2.0.12", + "tracing", + "windows-sys 0.59.0", + "zbus 5.5.0", +] + [[package]] name = "tauri-plugin-store" version = "2.2.0" @@ -4739,7 +5283,7 @@ dependencies = [ "serde_json", "tauri", "tauri-plugin", - "thiserror 2.0.3", + "thiserror 2.0.12", "tokio", "tracing", ] @@ -4755,7 +5299,7 @@ dependencies = [ "sysinfo", "tauri", "tauri-plugin", - "thiserror 1.0.65", + "thiserror 1.0.69", "uom 0.35.0", ] @@ -4782,9 +5326,9 @@ dependencies = [ [[package]] name = "tauri-plugin-valtio" -version = "1.1.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b04f9e001956ca4d4ab9cb57cb4f0d8fb0949ba1a03a13591d2215653b988691" +checksum = "a0b4f506590b0ce053703e225e780adc8dfae67cdb6e7a60141d4c25e23be0a0" dependencies = [ "serde", "tauri", @@ -4795,10 +5339,11 @@ dependencies = [ [[package]] name = "tauri-runtime" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e758a405ab39e25f4d1235c5f06fe563f44b01ee18bbe38ddec5356d4f581908" +checksum = "9e9c7bce5153f1ca7bc45eba37349b31ba50e975e28edc8b5766c5ec02b0b63a" dependencies = [ + "cookie", "dpi", "gtk", "http", @@ -4807,16 +5352,16 @@ dependencies = [ "serde", "serde_json", "tauri-utils", - "thiserror 2.0.3", + "thiserror 2.0.12", "url", "windows 0.60.0", ] [[package]] name = "tauri-runtime-wry" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b2beb90decade4c71e8b09c9e4a9245837a8a97693f945b77e32baf13f51fec" +checksum = "087188020fd6facb8578fe9b38e81fa0fe5fb85744c73da51a299f94a530a1e3" dependencies = [ "gtk", "http", @@ -4841,9 +5386,9 @@ dependencies = [ [[package]] name = "tauri-store" -version = "0.8.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb4e7c0776d9f8b54fd4788f4e471ce83b4c6cf62079799830a3735582a51fc4" +checksum = "d5640a5e33ce596c70b6b7a6b40b2021a011311f91b2a90e3267779062041dd2" dependencies = [ "dashmap", "futures", @@ -4853,41 +5398,45 @@ dependencies = [ "tauri", "tauri-store-macros", "tauri-store-utils", - "thiserror 2.0.3", + "thiserror 2.0.12", "tokio", "tracing", ] [[package]] name = "tauri-store-macros" -version = "0.8.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fabed02238bc887f75887b315c6a14d9571ab463c1a188cc27ec2f7e917b06c3" +checksum = "87cd54d307240ecd1fd823468fd00f5aabf27e1945f621ba1392b915c0471f0a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] name = "tauri-store-utils" -version = "0.2.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b983a259b22d622ce74b957140efa161bd75c6bfd47b7bf621c98dd05b1a2474" +checksum = "72f973009b5017f3b9289b37d34a91a78ba1458ab7734574728bd36fe946a28d" dependencies = [ - "futures", + "bon", + "semver", + "serde", + "serde_json", "tauri", - "thiserror 2.0.3", + "thiserror 2.0.12", "tokio", "tracing", ] [[package]] name = "tauri-utils" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "107a959dbd5ff53d89a98f6f2e3e987c611334141a43630caae1d80e79446dd6" +checksum = "82dcced4014e59af9790cc22f5d271df3be09ecd6728ec68861642553c8d01b7" dependencies = [ + "anyhow", "brotli", "cargo_metadata", "ctor", @@ -4900,7 +5449,7 @@ dependencies = [ "kuchikiki", "log", "memchr", - "phf 0.11.2", + "phf 0.11.3", "proc-macro2", "quote", "regex", @@ -4911,7 +5460,7 @@ dependencies = [ "serde_json", "serde_with", "swift-rs", - "thiserror 2.0.3", + "thiserror 2.0.12", "toml", "url", "urlpattern", @@ -4942,14 +5491,14 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.13.0" +version = "3.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" +checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" dependencies = [ - "cfg-if", - "fastrand 2.1.1", + "fastrand 2.3.0", + "getrandom 0.3.2", "once_cell", - "rustix 0.38.38", + "rustix 1.0.3", "windows-sys 0.59.0", ] @@ -4972,42 +5521,42 @@ checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" [[package]] name = "thiserror" -version = "1.0.65" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d11abd9594d9b38965ef50805c5e469ca9cc6f197f883f717e0269a3057b3d5" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl 1.0.65", + "thiserror-impl 1.0.69", ] [[package]] name = "thiserror" -version = "2.0.3" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c006c85c7651b3cf2ada4584faa36773bd07bac24acfb39f3c431b36d7e667aa" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" dependencies = [ - "thiserror-impl 2.0.3", + "thiserror-impl 2.0.12", ] [[package]] name = "thiserror-impl" -version = "1.0.65" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae71770322cbd277e69d762a16c444af02aa0575ac0d174f0b9562d3b37f8602" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] name = "thiserror-impl" -version = "2.0.3" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] @@ -5023,12 +5572,12 @@ dependencies = [ [[package]] name = "time" -version = "0.3.36" +version = "0.3.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "9d9c75b47bdff86fa3334a3db91356b8d7d86a9b839dab7d0bdc5c3d3a077618" dependencies = [ "deranged", - "itoa 1.0.11", + "itoa 1.0.15", "num-conv", "powerfmt", "serde", @@ -5038,15 +5587,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" +checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "29aa485584182073ed57fd5004aa09c371f021325014694e432313345865fd04" dependencies = [ "num-conv", "time-core", @@ -5063,10 +5612,29 @@ dependencies = [ ] [[package]] -name = "tinyvec" -version = "1.8.0" +name = "tiny-keccak" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" dependencies = [ "tinyvec_macros", ] @@ -5079,9 +5647,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.41.0" +version = "1.44.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145f3413504347a2be84393cc8a7d2fb4d863b375909ea59f2158261aa258bbb" +checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a" dependencies = [ "backtrace", "bytes", @@ -5089,7 +5657,7 @@ dependencies = [ "mio", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.7", + "socket2 0.5.8", "tokio-macros", "tracing", "windows-sys 0.52.0", @@ -5097,31 +5665,40 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", +] + +[[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.0" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" dependencies = [ "rustls", - "rustls-pki-types", "tokio", ] [[package]] name = "tokio-util" -version = "0.7.12" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" +checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034" dependencies = [ "bytes", "futures-core", @@ -5157,18 +5734,18 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.6.0", + "indexmap 2.8.0", "toml_datetime", "winnow 0.5.40", ] [[package]] name = "toml_edit" -version = "0.20.2" +version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" dependencies = [ - "indexmap 2.6.0", + "indexmap 2.8.0", "toml_datetime", "winnow 0.5.40", ] @@ -5179,13 +5756,34 @@ version = "0.22.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" dependencies = [ - "indexmap 2.6.0", + "indexmap 2.8.0", "serde", "serde_spanned", "toml_datetime", - "winnow 0.7.3", + "winnow 0.7.4", ] +[[package]] +name = "tower" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tokio", + "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" @@ -5194,9 +5792,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ "pin-project-lite", "tracing-attributes", @@ -5205,20 +5803,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" dependencies = [ "once_cell", ] @@ -5230,7 +5828,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d433764348e7084bad2c5ea22c96c71b61b17afe3a11645710f533bd72b6a2b5" dependencies = [ "crossbeam-channel", - "dirs", + "dirs 6.0.0", "libappindicator", "muda", "objc2 0.6.0", @@ -5241,7 +5839,7 @@ dependencies = [ "once_cell", "png", "serde", - "thiserror 2.0.3", + "thiserror 2.0.12", "windows-sys 0.59.0", ] @@ -5258,6 +5856,12 @@ dependencies = [ "petgraph", ] +[[package]] +name = "trim-in-place" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "343e926fc669bc8cde4fa3129ab681c63671bae288b1f1081ceee6d9d37904fc" + [[package]] name = "try-lock" version = "0.2.5" @@ -5266,15 +5870,15 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "typeid" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e" +checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" [[package]] name = "typenum" -version = "1.17.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" [[package]] name = "uds_windows" @@ -5328,26 +5932,11 @@ dependencies = [ "unic-common", ] -[[package]] -name = "unicode-bidi" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" - [[package]] name = "unicode-ident" -version = "1.0.13" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" - -[[package]] -name = "unicode-normalization" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" -dependencies = [ - "tinyvec", -] +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] name = "unicode-segmentation" @@ -5384,12 +5973,12 @@ dependencies = [ [[package]] name = "url" -version = "2.5.2" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", - "idna 0.5.0", + "idna", "percent-encoding", "serde", ] @@ -5413,15 +6002,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] -name = "uuid" -version = "1.11.0" +name = "utf16_iter" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "uuid" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.3.2", "serde", ] +[[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.0" @@ -5446,9 +6053,9 @@ dependencies = [ [[package]] name = "vswhom-sys" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3b17ae1f6c8a2b28506cd96d412eebf83b4a0ff2cbefeeb952f2f9dfa44ba18" +checksum = "fb067e4cbd1ff067d1df46c9194b5de0e98efd2810bbc95c5d5e5f25a3231150" dependencies = [ "cc", "libc", @@ -5492,48 +6099,58 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] -name = "wasm-bindgen" -version = "0.2.95" +name = "wasi" +version = "0.14.2+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.45" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5541,22 +6158,25 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.95" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "wasm-streams" @@ -5573,26 +6193,25 @@ dependencies = [ [[package]] name = "wayland-backend" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "056535ced7a150d45159d3a8dc30f91a2e2d588ca0b23f70e56033622b8016f6" +checksum = "b7208998eaa3870dad37ec8836979581506e0c5c64c20c9e79e9d2a10d6f47bf" dependencies = [ "cc", "downcast-rs", - "rustix 0.38.38", - "scoped-tls", + "rustix 0.38.44", "smallvec", "wayland-sys", ] [[package]] name = "wayland-client" -version = "0.31.7" +version = "0.31.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b66249d3fc69f76fd74c82cc319300faa554e9d865dab1f7cd66cc20db10b280" +checksum = "c2120de3d33638aaef5b9f4472bff75f07c56379cf76ea320bd3a3d65ecaf73f" dependencies = [ - "bitflags 2.6.0", - "rustix 0.38.38", + "bitflags 2.9.0", + "rustix 0.38.44", "wayland-backend", "wayland-scanner", ] @@ -5603,19 +6222,7 @@ version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4" dependencies = [ - "bitflags 2.6.0", - "wayland-backend", - "wayland-client", - "wayland-scanner", -] - -[[package]] -name = "wayland-protocols" -version = "0.32.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cd0ade57c4e6e9a8952741325c30bf82f4246885dca8bf561898b86d0c1f58e" -dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "wayland-backend", "wayland-client", "wayland-scanner", @@ -5627,40 +6234,48 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "wayland-backend", "wayland-client", - "wayland-protocols 0.31.2", + "wayland-protocols", "wayland-scanner", ] [[package]] name = "wayland-scanner" -version = "0.31.5" +version = "0.31.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597f2001b2e5fc1121e3d5b9791d3e78f05ba6bfa4641053846248e3a13661c3" +checksum = "896fdafd5d28145fce7958917d69f2fd44469b1d4e861cb5961bcbeebc6d1484" dependencies = [ "proc-macro2", - "quick-xml 0.36.2", + "quick-xml 0.37.2", "quote", ] [[package]] name = "wayland-sys" -version = "0.31.5" +version = "0.31.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efa8ac0d8e8ed3e3b5c9fc92c7881406a268e11555abe36493efabe649a29e09" +checksum = "dbcebb399c77d5aa9fa5db874806ee7b4eba4e73650948e8f93963f128896615" dependencies = [ - "dlib", - "log", "pkg-config", ] [[package]] name = "web-sys" -version = "0.3.72" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +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", @@ -5712,9 +6327,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.6" +version = "0.26.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958" +checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9" dependencies = [ "rustls-pki-types", ] @@ -5730,7 +6345,7 @@ dependencies = [ "windows 0.60.0", "windows-core 0.60.1", "windows-implement 0.59.0", - "windows-interface 0.59.0", + "windows-interface 0.59.1", ] [[package]] @@ -5741,7 +6356,7 @@ checksum = "1d228f15bba3b9d56dde8bddbee66fa24545bd17b48d5128ccf4a8742b18e431" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] @@ -5750,7 +6365,7 @@ version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfb27fccd3c27f68e9a6af1bcf48c2d82534b8675b83608a4d81446d095a17ac" dependencies = [ - "thiserror 2.0.3", + "thiserror 2.0.12", "windows 0.60.0", "windows-core 0.60.1", ] @@ -5877,9 +6492,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca21a92a9cae9bf4ccae5cf8368dce0837100ddf6e6d57936749e85f152f6247" dependencies = [ "windows-implement 0.59.0", - "windows-interface 0.59.0", + "windows-interface 0.59.1", "windows-link", - "windows-result 0.3.1", + "windows-result 0.3.2", "windows-strings 0.3.1", ] @@ -5901,7 +6516,7 @@ checksum = "f6fc35f58ecd95a9b71c4f2329b911016e6bec66b3f2e6a4aad86bd2e99e2f9b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] @@ -5912,7 +6527,7 @@ checksum = "83577b051e2f49a058c308f17f273b570a6a758386fc291b5f6a934dd84e48c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] @@ -5923,25 +6538,25 @@ checksum = "08990546bf4edef8f431fa6326e032865f27138718c587dc21bc0265bbcb57cc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] name = "windows-interface" -version = "0.59.0" +version = "0.59.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb26fd936d991781ea39e87c3a27285081e3c0da5ca0fcbc02d368cc6f52ff01" +checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", ] [[package]] name = "windows-link" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dccfd733ce2b1753b03b6d3c65edf020262ea35e20ccdf3e288043e6dd620e3" +checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" [[package]] name = "windows-numerics" @@ -5955,15 +6570,26 @@ dependencies = [ [[package]] name = "windows-registry" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +checksum = "bafa604f2104cf5ae2cc2db1dee84b7e6a5d11b05f737b60def0ffdc398cbc0a" dependencies = [ "windows-result 0.2.0", - "windows-strings 0.1.0", + "windows-strings 0.2.0", "windows-targets 0.52.6", ] +[[package]] +name = "windows-registry" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" +dependencies = [ + "windows-result 0.3.2", + "windows-strings 0.3.1", + "windows-targets 0.53.0", +] + [[package]] name = "windows-result" version = "0.1.2" @@ -5984,20 +6610,19 @@ dependencies = [ [[package]] name = "windows-result" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06374efe858fab7e4f881500e6e86ec8bc28f9462c47e5a9941a0142ad86b189" +checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252" dependencies = [ "windows-link", ] [[package]] name = "windows-strings" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +checksum = "978d65aedf914c664c510d9de43c8fd85ca745eaff1ed53edf409b479e441663" dependencies = [ - "windows-result 0.2.0", "windows-targets 0.52.6", ] @@ -6085,7 +6710,7 @@ dependencies = [ "windows_aarch64_gnullvm 0.52.6", "windows_aarch64_msvc 0.52.6", "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", + "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", @@ -6093,10 +6718,26 @@ dependencies = [ ] [[package]] -name = "windows-version" -version = "0.1.3" +name = "windows-targets" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bfbcc4996dd183ff1376a20ade1242da0d2dcaff83cc76710a588d24fd4c5db" +checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +dependencies = [ + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", +] + +[[package]] +name = "windows-version" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e04a5c6627e310a23ad2358483286c7df260c964eb2d003d8efd6d0f4e79265c" dependencies = [ "windows-link", ] @@ -6119,6 +6760,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" + [[package]] name = "windows_aarch64_msvc" version = "0.42.2" @@ -6137,6 +6784,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" + [[package]] name = "windows_i686_gnu" version = "0.42.2" @@ -6155,12 +6808,24 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +[[package]] +name = "windows_i686_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" + [[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" + [[package]] name = "windows_i686_msvc" version = "0.42.2" @@ -6179,6 +6844,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_i686_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" + [[package]] name = "windows_x86_64_gnu" version = "0.42.2" @@ -6197,6 +6868,12 @@ 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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" + [[package]] name = "windows_x86_64_gnullvm" version = "0.42.2" @@ -6215,6 +6892,12 @@ 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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" + [[package]] name = "windows_x86_64_msvc" version = "0.42.2" @@ -6233,6 +6916,12 @@ 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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" + [[package]] name = "winnow" version = "0.5.40" @@ -6244,13 +6933,22 @@ dependencies = [ [[package]] name = "winnow" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7f4ea97f6f78012141bcdb6a216b2609f0979ada50b20ca5b52dde2eac2bb1" +checksum = "0e97b544156e9bebe1a0ffbc03484fc1ffe3100cbce3ffb17eac35f7cdd7ab36" dependencies = [ "memchr", ] +[[package]] +name = "winreg" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +dependencies = [ + "winapi", +] + [[package]] name = "winreg" version = "0.52.0" @@ -6271,6 +6969,15 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags 2.9.0", +] + [[package]] name = "wl-clipboard-rs" version = "0.8.1" @@ -6283,19 +6990,31 @@ dependencies = [ "nix 0.28.0", "os_pipe", "tempfile", - "thiserror 1.0.65", + "thiserror 1.0.69", "tree_magic_mini", "wayland-backend", "wayland-client", - "wayland-protocols 0.31.2", + "wayland-protocols", "wayland-protocols-wlr", ] [[package]] -name = "wry" -version = "0.50.4" +name = "write16" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "804a7d1613bd699beccaa60f3b3c679acee21cebba1945a693f5eab95c08d1fa" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + +[[package]] +name = "wry" +version = "0.50.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b19b78efae8b853c6c817e8752fc1dbf9cab8a8ffe9c30f399bd750ccf0f0730" dependencies = [ "base64 0.22.1", "block2 0.6.0", @@ -6324,7 +7043,7 @@ dependencies = [ "sha2", "soup3", "tao-macros", - "thiserror 2.0.3", + "thiserror 2.0.12", "url", "webkit2gtk", "webkit2gtk-sys", @@ -6363,7 +7082,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12" dependencies = [ "gethostname 0.4.3", - "rustix 0.38.38", + "rustix 0.38.44", "x11rb-protocol", ] @@ -6383,6 +7102,30 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "yoke" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", + "synstructure", +] + [[package]] name = "zbus" version = "3.15.2" @@ -6426,14 +7169,14 @@ dependencies = [ [[package]] name = "zbus" -version = "4.4.0" +version = "5.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb97012beadd29e654708a0fdb4c84bc046f537aecfde2c3ee0a9e4b4d48c725" +checksum = "59c333f648ea1b647bc95dc1d34807c8e25ed7a6feff3394034dc4776054b236" dependencies = [ - "async-broadcast 0.7.1", + "async-broadcast 0.7.2", "async-executor", "async-fs 2.1.2", - "async-io 2.3.4", + "async-io 2.4.0", "async-lock 3.4.0", "async-process 2.3.0", "async-recursion", @@ -6441,26 +7184,24 @@ dependencies = [ "async-trait", "blocking", "enumflags2", - "event-listener 5.3.1", + "event-listener 5.4.0", "futures-core", - "futures-sink", - "futures-util", + "futures-lite 2.6.0", "hex", "nix 0.29.0", "ordered-stream", - "rand 0.8.5", "serde", "serde_repr", - "sha1", "static_assertions", "tokio", "tracing", "uds_windows", - "windows-sys 0.52.0", + "windows-sys 0.59.0", + "winnow 0.7.4", "xdg-home", - "zbus_macros 4.4.0", - "zbus_names 3.0.0", - "zvariant 4.2.0", + "zbus_macros 5.5.0", + "zbus_names 4.2.0", + "zvariant 5.4.0", ] [[package]] @@ -6479,15 +7220,17 @@ dependencies = [ [[package]] name = "zbus_macros" -version = "4.4.0" +version = "5.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267db9407081e90bbfa46d841d3cbc60f59c0351838c4bc65199ecd79ab1983e" +checksum = "f325ad10eb0d0a3eb060203494c3b7ec3162a01a59db75d2deee100339709fc0" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.87", - "zvariant_utils 2.1.0", + "syn 2.0.100", + "zbus_names 4.2.0", + "zvariant 5.4.0", + "zvariant_utils 3.2.0", ] [[package]] @@ -6503,34 +7246,55 @@ dependencies = [ [[package]] name = "zbus_names" -version = "3.0.0" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c" +checksum = "7be68e64bf6ce8db94f63e72f0c7eb9a60d733f7e0499e628dfab0f84d6bcb97" dependencies = [ "serde", "static_assertions", - "zvariant 4.2.0", + "winnow 0.7.4", + "zvariant 5.4.0", ] [[package]] name = "zerocopy" -version = "0.7.35" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +checksum = "fd97444d05a4328b90e75e503a34bad781f14e28a823ad3557f0750df1ebcbc6" dependencies = [ - "byteorder", "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.35" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +checksum = "6352c01d0edd5db859a63e2605f4ea3183ddbd15e2c4a9e7d32184df75e4f154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.100", +] + +[[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.100", + "synstructure", ] [[package]] @@ -6539,6 +7303,28 @@ version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[package]] name = "zvariant" version = "3.15.2" @@ -6555,16 +7341,18 @@ dependencies = [ [[package]] name = "zvariant" -version = "4.2.0" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2084290ab9a1c471c38fc524945837734fbf124487e105daec2bb57fd48c81fe" +checksum = "b2df9ee044893fcffbdc25de30546edef3e32341466811ca18421e3cd6c5a3ac" dependencies = [ "endi", "enumflags2", "serde", "static_assertions", "url", - "zvariant_derive 4.2.0", + "winnow 0.7.4", + "zvariant_derive 5.4.0", + "zvariant_utils 3.2.0", ] [[package]] @@ -6582,15 +7370,15 @@ dependencies = [ [[package]] name = "zvariant_derive" -version = "4.2.0" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73e2ba546bda683a90652bac4a279bc146adad1386f25379cf73200d2002c449" +checksum = "74170caa85b8b84cc4935f2d56a57c7a15ea6185ccdd7eadb57e6edd90f94b2f" dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.87", - "zvariant_utils 2.1.0", + "syn 2.0.100", + "zvariant_utils 3.2.0", ] [[package]] @@ -6606,11 +7394,14 @@ dependencies = [ [[package]] name = "zvariant_utils" -version = "2.1.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340" +checksum = "e16edfee43e5d7b553b77872d99bc36afdda75c223ca7ad5e3fbecd82ca5fc34" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "serde", + "static_assertions", + "syn 2.0.100", + "winnow 0.7.4", ] diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 5ad9c1c..dafab17 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -7,17 +7,32 @@ license = "" repository = "" default-run = "CS工具箱" edition = "2021" -rust-version = "1.66" +rust-version = "1.85" +[profile.release] +panic = "abort" # Strip expensive panic clean-up logic +codegen-units = 1 # Compile crates one after another so the compiler can optimize better +lto = true # Enables link to optimizations +opt-level = "s" # Optimize for binary size +strip = true # Remove debug symbols # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +[profile.dev] +opt-level = 0 # 关闭优化 +debug = true # 保留调试信息 + [build-dependencies] -tauri-build = { version = "2.0.6", features = [] } +tauri-build = { version = "2.1.0", features = [] } [dependencies] +log = "0.4.26" +base64 = "0.22.1" +walkdir = "2.5.0" serde_json = "1.0.140" +regex = "1.11.1" serde = { version = "1.0.219", features = ["derive"] } -tauri = { version = "2.3.1", features = [ "macos-private-api", +reqwest = { version = "0.12.15", features = ["blocking"] } +tauri = { version = "2.4.0", features = [ "macos-private-api", "tray-icon" ] } window-vibrancy = "0.6.0" @@ -27,12 +42,16 @@ tauri-plugin-dialog = "2.2.0" tauri-plugin-os = "2.2.1" tauri-plugin-clipboard-manager = "2.2.2" tauri-plugin-shell = "2.2.0" -tauri-plugin-http = "2.4.0" +tauri-plugin-http = "2.4.2" tauri-plugin-notification = "2.2.2" -tauri-plugin-valtio = "1.1.1" +tauri-plugin-valtio = "2.1.0" tauri-plugin-store = "2.2.0" tauri-plugin-system-info = "2.0.9" tauri-plugin-theme = "2.1.3" +tauri-plugin-autostart = "2.2.0" +tauri-plugin-single-instance = { version = "2.2.2", features = ["deep-link"] } +tauri-plugin-deep-link = "2.2.0" +anyhow = "1.0.97" [target.'cfg(windows)'.dependencies] # Windows Only winreg = "0.55.0" @@ -46,3 +65,4 @@ custom-protocol = [ "tauri/custom-protocol" ] [target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies] tauri-plugin-global-shortcut = "2.2.0" +tauri-plugin-single-instance = "2.2.2" diff --git a/src-tauri/capabilities/desktop.json b/src-tauri/capabilities/desktop.json index 955c392..09c82da 100644 --- a/src-tauri/capabilities/desktop.json +++ b/src-tauri/capabilities/desktop.json @@ -5,7 +5,9 @@ "windows", "linux" ], - "windows": ["main"], + "windows": [ + "main" + ], "permissions": [ "global-shortcut:default", "theme:default", @@ -19,6 +21,12 @@ "store:allow-save", "store:allow-load", "store:allow-reset", - "store:allow-entries" + "store:allow-entries", + "deep-link:default", + "deep-link:allow-register", + "deep-link:allow-get-current", + "autostart:default", + "autostart:allow-enable", + "autostart:allow-disable" ] } \ No newline at end of file diff --git a/src-tauri/gen/schemas/acl-manifests.json b/src-tauri/gen/schemas/acl-manifests.json index 4a2815d..67e0544 100644 --- a/src-tauri/gen/schemas/acl-manifests.json +++ b/src-tauri/gen/schemas/acl-manifests.json @@ -1 +1 @@ -{"clipboard-manager":{"default_permission":{"identifier":"default","description":"No features are enabled by default, as we believe\nthe clipboard can be inherently dangerous and it is \napplication specific if read and/or write access is needed.\n\nClipboard interaction needs to be explicitly enabled.\n","permissions":[]},"permissions":{"allow-clear":{"identifier":"allow-clear","description":"Enables the clear command without any pre-configured scope.","commands":{"allow":["clear"],"deny":[]}},"allow-read-image":{"identifier":"allow-read-image","description":"Enables the read_image command without any pre-configured scope.","commands":{"allow":["read_image"],"deny":[]}},"allow-read-text":{"identifier":"allow-read-text","description":"Enables the read_text command without any pre-configured scope.","commands":{"allow":["read_text"],"deny":[]}},"allow-write-html":{"identifier":"allow-write-html","description":"Enables the write_html command without any pre-configured scope.","commands":{"allow":["write_html"],"deny":[]}},"allow-write-image":{"identifier":"allow-write-image","description":"Enables the write_image command without any pre-configured scope.","commands":{"allow":["write_image"],"deny":[]}},"allow-write-text":{"identifier":"allow-write-text","description":"Enables the write_text command without any pre-configured scope.","commands":{"allow":["write_text"],"deny":[]}},"deny-clear":{"identifier":"deny-clear","description":"Denies the clear command without any pre-configured scope.","commands":{"allow":[],"deny":["clear"]}},"deny-read-image":{"identifier":"deny-read-image","description":"Denies the read_image command without any pre-configured scope.","commands":{"allow":[],"deny":["read_image"]}},"deny-read-text":{"identifier":"deny-read-text","description":"Denies the read_text command without any pre-configured scope.","commands":{"allow":[],"deny":["read_text"]}},"deny-write-html":{"identifier":"deny-write-html","description":"Denies the write_html command without any pre-configured scope.","commands":{"allow":[],"deny":["write_html"]}},"deny-write-image":{"identifier":"deny-write-image","description":"Denies the write_image command without any pre-configured scope.","commands":{"allow":[],"deny":["write_image"]}},"deny-write-text":{"identifier":"deny-write-text","description":"Denies the write_text command without any pre-configured scope.","commands":{"allow":[],"deny":["write_text"]}}},"permission_sets":{},"global_scope_schema":null},"core":{"default_permission":{"identifier":"default","description":"Default core plugins set which includes:\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'\n","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"]},"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-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-name":{"identifier":"allow-name","description":"Enables the name command without any pre-configured scope.","commands":{"allow":["name"],"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-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-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-name":{"identifier":"deny-name","description":"Denies the name command without any pre-configured scope.","commands":{"allow":[],"deny":["name"]}},"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-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.","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.","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.","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.","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.","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.","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-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-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-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-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-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-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-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-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-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},"dialog":{"default_permission":{"identifier":"default","description":"This permission set configures the types of dialogs\navailable from the dialog plugin.\n\n#### Granted Permissions\n\nAll dialog types are enabled.\n\n\n","permissions":["allow-ask","allow-confirm","allow-message","allow-save","allow-open"]},"permissions":{"allow-ask":{"identifier":"allow-ask","description":"Enables the ask command without any pre-configured scope.","commands":{"allow":["ask"],"deny":[]}},"allow-confirm":{"identifier":"allow-confirm","description":"Enables the confirm command without any pre-configured scope.","commands":{"allow":["confirm"],"deny":[]}},"allow-message":{"identifier":"allow-message","description":"Enables the message command without any pre-configured scope.","commands":{"allow":["message"],"deny":[]}},"allow-open":{"identifier":"allow-open","description":"Enables the open command without any pre-configured scope.","commands":{"allow":["open"],"deny":[]}},"allow-save":{"identifier":"allow-save","description":"Enables the save command without any pre-configured scope.","commands":{"allow":["save"],"deny":[]}},"deny-ask":{"identifier":"deny-ask","description":"Denies the ask command without any pre-configured scope.","commands":{"allow":[],"deny":["ask"]}},"deny-confirm":{"identifier":"deny-confirm","description":"Denies the confirm command without any pre-configured scope.","commands":{"allow":[],"deny":["confirm"]}},"deny-message":{"identifier":"deny-message","description":"Denies the message command without any pre-configured scope.","commands":{"allow":[],"deny":["message"]}},"deny-open":{"identifier":"deny-open","description":"Denies the open command without any pre-configured scope.","commands":{"allow":[],"deny":["open"]}},"deny-save":{"identifier":"deny-save","description":"Denies the save command without any pre-configured scope.","commands":{"allow":[],"deny":["save"]}}},"permission_sets":{},"global_scope_schema":null},"fs":{"default_permission":{"identifier":"default","description":"This set of permissions describes the what kind of\nfile system access the `fs` plugin has enabled or denied by default.\n\n#### Granted Permissions\n\nThis default permission set enables read access to the\napplication specific directories (AppConfig, AppData, AppLocalData, AppCache,\nAppLog) and all files and sub directories created in it.\nThe location of these directories depends on the operating system,\nwhere the application is run.\n\nIn general these directories need to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\nTherefore, it is also allowed to create all of these folders via\nthe `mkdir` command.\n\n#### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n#### Included permissions within this default permission set:\n","permissions":["create-app-specific-dirs","read-app-specific-dirs-recursive","deny-default"]},"permissions":{"allow-copy-file":{"identifier":"allow-copy-file","description":"Enables the copy_file command without any pre-configured scope.","commands":{"allow":["copy_file"],"deny":[]}},"allow-create":{"identifier":"allow-create","description":"Enables the create command without any pre-configured scope.","commands":{"allow":["create"],"deny":[]}},"allow-exists":{"identifier":"allow-exists","description":"Enables the exists command without any pre-configured scope.","commands":{"allow":["exists"],"deny":[]}},"allow-fstat":{"identifier":"allow-fstat","description":"Enables the fstat command without any pre-configured scope.","commands":{"allow":["fstat"],"deny":[]}},"allow-ftruncate":{"identifier":"allow-ftruncate","description":"Enables the ftruncate command without any pre-configured scope.","commands":{"allow":["ftruncate"],"deny":[]}},"allow-lstat":{"identifier":"allow-lstat","description":"Enables the lstat command without any pre-configured scope.","commands":{"allow":["lstat"],"deny":[]}},"allow-mkdir":{"identifier":"allow-mkdir","description":"Enables the mkdir command without any pre-configured scope.","commands":{"allow":["mkdir"],"deny":[]}},"allow-open":{"identifier":"allow-open","description":"Enables the open command without any pre-configured scope.","commands":{"allow":["open"],"deny":[]}},"allow-read":{"identifier":"allow-read","description":"Enables the read command without any pre-configured scope.","commands":{"allow":["read"],"deny":[]}},"allow-read-dir":{"identifier":"allow-read-dir","description":"Enables the read_dir command without any pre-configured scope.","commands":{"allow":["read_dir"],"deny":[]}},"allow-read-file":{"identifier":"allow-read-file","description":"Enables the read_file command without any pre-configured scope.","commands":{"allow":["read_file"],"deny":[]}},"allow-read-text-file":{"identifier":"allow-read-text-file","description":"Enables the read_text_file command without any pre-configured scope.","commands":{"allow":["read_text_file"],"deny":[]}},"allow-read-text-file-lines":{"identifier":"allow-read-text-file-lines","description":"Enables the read_text_file_lines command without any pre-configured scope.","commands":{"allow":["read_text_file_lines","read_text_file_lines_next"],"deny":[]}},"allow-read-text-file-lines-next":{"identifier":"allow-read-text-file-lines-next","description":"Enables the read_text_file_lines_next command without any pre-configured scope.","commands":{"allow":["read_text_file_lines_next"],"deny":[]}},"allow-remove":{"identifier":"allow-remove","description":"Enables the remove command without any pre-configured scope.","commands":{"allow":["remove"],"deny":[]}},"allow-rename":{"identifier":"allow-rename","description":"Enables the rename command without any pre-configured scope.","commands":{"allow":["rename"],"deny":[]}},"allow-seek":{"identifier":"allow-seek","description":"Enables the seek command without any pre-configured scope.","commands":{"allow":["seek"],"deny":[]}},"allow-size":{"identifier":"allow-size","description":"Enables the size command without any pre-configured scope.","commands":{"allow":["size"],"deny":[]}},"allow-stat":{"identifier":"allow-stat","description":"Enables the stat command without any pre-configured scope.","commands":{"allow":["stat"],"deny":[]}},"allow-truncate":{"identifier":"allow-truncate","description":"Enables the truncate command without any pre-configured scope.","commands":{"allow":["truncate"],"deny":[]}},"allow-unwatch":{"identifier":"allow-unwatch","description":"Enables the unwatch command without any pre-configured scope.","commands":{"allow":["unwatch"],"deny":[]}},"allow-watch":{"identifier":"allow-watch","description":"Enables the watch command without any pre-configured scope.","commands":{"allow":["watch"],"deny":[]}},"allow-write":{"identifier":"allow-write","description":"Enables the write command without any pre-configured scope.","commands":{"allow":["write"],"deny":[]}},"allow-write-file":{"identifier":"allow-write-file","description":"Enables the write_file command without any pre-configured scope.","commands":{"allow":["write_file","open","write"],"deny":[]}},"allow-write-text-file":{"identifier":"allow-write-text-file","description":"Enables the write_text_file command without any pre-configured scope.","commands":{"allow":["write_text_file"],"deny":[]}},"create-app-specific-dirs":{"identifier":"create-app-specific-dirs","description":"This permissions allows to create the application specific directories.\n","commands":{"allow":["mkdir","scope-app-index"],"deny":[]}},"deny-copy-file":{"identifier":"deny-copy-file","description":"Denies the copy_file command without any pre-configured scope.","commands":{"allow":[],"deny":["copy_file"]}},"deny-create":{"identifier":"deny-create","description":"Denies the create command without any pre-configured scope.","commands":{"allow":[],"deny":["create"]}},"deny-exists":{"identifier":"deny-exists","description":"Denies the exists command without any pre-configured scope.","commands":{"allow":[],"deny":["exists"]}},"deny-fstat":{"identifier":"deny-fstat","description":"Denies the fstat command without any pre-configured scope.","commands":{"allow":[],"deny":["fstat"]}},"deny-ftruncate":{"identifier":"deny-ftruncate","description":"Denies the ftruncate command without any pre-configured scope.","commands":{"allow":[],"deny":["ftruncate"]}},"deny-lstat":{"identifier":"deny-lstat","description":"Denies the lstat command without any pre-configured scope.","commands":{"allow":[],"deny":["lstat"]}},"deny-mkdir":{"identifier":"deny-mkdir","description":"Denies the mkdir command without any pre-configured scope.","commands":{"allow":[],"deny":["mkdir"]}},"deny-open":{"identifier":"deny-open","description":"Denies the open command without any pre-configured scope.","commands":{"allow":[],"deny":["open"]}},"deny-read":{"identifier":"deny-read","description":"Denies the read command without any pre-configured scope.","commands":{"allow":[],"deny":["read"]}},"deny-read-dir":{"identifier":"deny-read-dir","description":"Denies the read_dir command without any pre-configured scope.","commands":{"allow":[],"deny":["read_dir"]}},"deny-read-file":{"identifier":"deny-read-file","description":"Denies the read_file command without any pre-configured scope.","commands":{"allow":[],"deny":["read_file"]}},"deny-read-text-file":{"identifier":"deny-read-text-file","description":"Denies the read_text_file command without any pre-configured scope.","commands":{"allow":[],"deny":["read_text_file"]}},"deny-read-text-file-lines":{"identifier":"deny-read-text-file-lines","description":"Denies the read_text_file_lines command without any pre-configured scope.","commands":{"allow":[],"deny":["read_text_file_lines"]}},"deny-read-text-file-lines-next":{"identifier":"deny-read-text-file-lines-next","description":"Denies the read_text_file_lines_next command without any pre-configured scope.","commands":{"allow":[],"deny":["read_text_file_lines_next"]}},"deny-remove":{"identifier":"deny-remove","description":"Denies the remove command without any pre-configured scope.","commands":{"allow":[],"deny":["remove"]}},"deny-rename":{"identifier":"deny-rename","description":"Denies the rename command without any pre-configured scope.","commands":{"allow":[],"deny":["rename"]}},"deny-seek":{"identifier":"deny-seek","description":"Denies the seek command without any pre-configured scope.","commands":{"allow":[],"deny":["seek"]}},"deny-size":{"identifier":"deny-size","description":"Denies the size command without any pre-configured scope.","commands":{"allow":[],"deny":["size"]}},"deny-stat":{"identifier":"deny-stat","description":"Denies the stat command without any pre-configured scope.","commands":{"allow":[],"deny":["stat"]}},"deny-truncate":{"identifier":"deny-truncate","description":"Denies the truncate command without any pre-configured scope.","commands":{"allow":[],"deny":["truncate"]}},"deny-unwatch":{"identifier":"deny-unwatch","description":"Denies the unwatch command without any pre-configured scope.","commands":{"allow":[],"deny":["unwatch"]}},"deny-watch":{"identifier":"deny-watch","description":"Denies the watch command without any pre-configured scope.","commands":{"allow":[],"deny":["watch"]}},"deny-webview-data-linux":{"identifier":"deny-webview-data-linux","description":"This denies read access to the\n`$APPLOCALDATA` folder on linux as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.","commands":{"allow":[],"deny":[]}},"deny-webview-data-windows":{"identifier":"deny-webview-data-windows","description":"This denies read access to the\n`$APPLOCALDATA/EBWebView` folder on windows as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.","commands":{"allow":[],"deny":[]}},"deny-write":{"identifier":"deny-write","description":"Denies the write command without any pre-configured scope.","commands":{"allow":[],"deny":["write"]}},"deny-write-file":{"identifier":"deny-write-file","description":"Denies the write_file command without any pre-configured scope.","commands":{"allow":[],"deny":["write_file"]}},"deny-write-text-file":{"identifier":"deny-write-text-file","description":"Denies the write_text_file command without any pre-configured scope.","commands":{"allow":[],"deny":["write_text_file"]}},"read-all":{"identifier":"read-all","description":"This enables all read related commands without any pre-configured accessible paths.","commands":{"allow":["read_dir","read_file","read","open","read_text_file","read_text_file_lines","read_text_file_lines_next","seek","stat","lstat","fstat","exists","watch","unwatch"],"deny":[]}},"read-app-specific-dirs-recursive":{"identifier":"read-app-specific-dirs-recursive","description":"This permission allows recursive read functionality on the application\nspecific base directories. \n","commands":{"allow":["read_dir","read_file","read_text_file","read_text_file_lines","read_text_file_lines_next","exists","scope-app-recursive"],"deny":[]}},"read-dirs":{"identifier":"read-dirs","description":"This enables directory read and file metadata related commands without any pre-configured accessible paths.","commands":{"allow":["read_dir","stat","lstat","fstat","exists"],"deny":[]}},"read-files":{"identifier":"read-files","description":"This enables file read related commands without any pre-configured accessible paths.","commands":{"allow":["read_file","read","open","read_text_file","read_text_file_lines","read_text_file_lines_next","seek","stat","lstat","fstat","exists"],"deny":[]}},"read-meta":{"identifier":"read-meta","description":"This enables all index or metadata related commands without any pre-configured accessible paths.","commands":{"allow":["read_dir","stat","lstat","fstat","exists","size"],"deny":[]}},"scope":{"identifier":"scope","description":"An empty permission you can use to modify the global scope.","commands":{"allow":[],"deny":[]}},"scope-app":{"identifier":"scope-app","description":"This scope permits access to all files and list content of top level directories in the application folders.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG"},{"path":"$APPCONFIG/*"},{"path":"$APPDATA"},{"path":"$APPDATA/*"},{"path":"$APPLOCALDATA"},{"path":"$APPLOCALDATA/*"},{"path":"$APPCACHE"},{"path":"$APPCACHE/*"},{"path":"$APPLOG"},{"path":"$APPLOG/*"}]}},"scope-app-index":{"identifier":"scope-app-index","description":"This scope permits to list all files and folders in the application directories.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG"},{"path":"$APPDATA"},{"path":"$APPLOCALDATA"},{"path":"$APPCACHE"},{"path":"$APPLOG"}]}},"scope-app-recursive":{"identifier":"scope-app-recursive","description":"This scope permits recursive access to the complete application folders, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG"},{"path":"$APPCONFIG/**"},{"path":"$APPDATA"},{"path":"$APPDATA/**"},{"path":"$APPLOCALDATA"},{"path":"$APPLOCALDATA/**"},{"path":"$APPCACHE"},{"path":"$APPCACHE/**"},{"path":"$APPLOG"},{"path":"$APPLOG/**"}]}},"scope-appcache":{"identifier":"scope-appcache","description":"This scope permits access to all files and list content of top level directories in the `$APPCACHE` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCACHE"},{"path":"$APPCACHE/*"}]}},"scope-appcache-index":{"identifier":"scope-appcache-index","description":"This scope permits to list all files and folders in the `$APPCACHE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCACHE"}]}},"scope-appcache-recursive":{"identifier":"scope-appcache-recursive","description":"This scope permits recursive access to the complete `$APPCACHE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCACHE"},{"path":"$APPCACHE/**"}]}},"scope-appconfig":{"identifier":"scope-appconfig","description":"This scope permits access to all files and list content of top level directories in the `$APPCONFIG` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG"},{"path":"$APPCONFIG/*"}]}},"scope-appconfig-index":{"identifier":"scope-appconfig-index","description":"This scope permits to list all files and folders in the `$APPCONFIG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG"}]}},"scope-appconfig-recursive":{"identifier":"scope-appconfig-recursive","description":"This scope permits recursive access to the complete `$APPCONFIG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG"},{"path":"$APPCONFIG/**"}]}},"scope-appdata":{"identifier":"scope-appdata","description":"This scope permits access to all files and list content of top level directories in the `$APPDATA` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPDATA"},{"path":"$APPDATA/*"}]}},"scope-appdata-index":{"identifier":"scope-appdata-index","description":"This scope permits to list all files and folders in the `$APPDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPDATA"}]}},"scope-appdata-recursive":{"identifier":"scope-appdata-recursive","description":"This scope permits recursive access to the complete `$APPDATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPDATA"},{"path":"$APPDATA/**"}]}},"scope-applocaldata":{"identifier":"scope-applocaldata","description":"This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOCALDATA"},{"path":"$APPLOCALDATA/*"}]}},"scope-applocaldata-index":{"identifier":"scope-applocaldata-index","description":"This scope permits to list all files and folders in the `$APPLOCALDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOCALDATA"}]}},"scope-applocaldata-recursive":{"identifier":"scope-applocaldata-recursive","description":"This scope permits recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOCALDATA"},{"path":"$APPLOCALDATA/**"}]}},"scope-applog":{"identifier":"scope-applog","description":"This scope permits access to all files and list content of top level directories in the `$APPLOG` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOG"},{"path":"$APPLOG/*"}]}},"scope-applog-index":{"identifier":"scope-applog-index","description":"This scope permits to list all files and folders in the `$APPLOG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOG"}]}},"scope-applog-recursive":{"identifier":"scope-applog-recursive","description":"This scope permits recursive access to the complete `$APPLOG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOG"},{"path":"$APPLOG/**"}]}},"scope-audio":{"identifier":"scope-audio","description":"This scope permits access to all files and list content of top level directories in the `$AUDIO` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$AUDIO"},{"path":"$AUDIO/*"}]}},"scope-audio-index":{"identifier":"scope-audio-index","description":"This scope permits to list all files and folders in the `$AUDIO`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$AUDIO"}]}},"scope-audio-recursive":{"identifier":"scope-audio-recursive","description":"This scope permits recursive access to the complete `$AUDIO` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$AUDIO"},{"path":"$AUDIO/**"}]}},"scope-cache":{"identifier":"scope-cache","description":"This scope permits access to all files and list content of top level directories in the `$CACHE` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CACHE"},{"path":"$CACHE/*"}]}},"scope-cache-index":{"identifier":"scope-cache-index","description":"This scope permits to list all files and folders in the `$CACHE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CACHE"}]}},"scope-cache-recursive":{"identifier":"scope-cache-recursive","description":"This scope permits recursive access to the complete `$CACHE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CACHE"},{"path":"$CACHE/**"}]}},"scope-config":{"identifier":"scope-config","description":"This scope permits access to all files and list content of top level directories in the `$CONFIG` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CONFIG"},{"path":"$CONFIG/*"}]}},"scope-config-index":{"identifier":"scope-config-index","description":"This scope permits to list all files and folders in the `$CONFIG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CONFIG"}]}},"scope-config-recursive":{"identifier":"scope-config-recursive","description":"This scope permits recursive access to the complete `$CONFIG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CONFIG"},{"path":"$CONFIG/**"}]}},"scope-data":{"identifier":"scope-data","description":"This scope permits access to all files and list content of top level directories in the `$DATA` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DATA"},{"path":"$DATA/*"}]}},"scope-data-index":{"identifier":"scope-data-index","description":"This scope permits to list all files and folders in the `$DATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DATA"}]}},"scope-data-recursive":{"identifier":"scope-data-recursive","description":"This scope permits recursive access to the complete `$DATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DATA"},{"path":"$DATA/**"}]}},"scope-desktop":{"identifier":"scope-desktop","description":"This scope permits access to all files and list content of top level directories in the `$DESKTOP` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DESKTOP"},{"path":"$DESKTOP/*"}]}},"scope-desktop-index":{"identifier":"scope-desktop-index","description":"This scope permits to list all files and folders in the `$DESKTOP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DESKTOP"}]}},"scope-desktop-recursive":{"identifier":"scope-desktop-recursive","description":"This scope permits recursive access to the complete `$DESKTOP` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DESKTOP"},{"path":"$DESKTOP/**"}]}},"scope-document":{"identifier":"scope-document","description":"This scope permits access to all files and list content of top level directories in the `$DOCUMENT` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOCUMENT"},{"path":"$DOCUMENT/*"}]}},"scope-document-index":{"identifier":"scope-document-index","description":"This scope permits to list all files and folders in the `$DOCUMENT`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOCUMENT"}]}},"scope-document-recursive":{"identifier":"scope-document-recursive","description":"This scope permits recursive access to the complete `$DOCUMENT` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOCUMENT"},{"path":"$DOCUMENT/**"}]}},"scope-download":{"identifier":"scope-download","description":"This scope permits access to all files and list content of top level directories in the `$DOWNLOAD` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOWNLOAD"},{"path":"$DOWNLOAD/*"}]}},"scope-download-index":{"identifier":"scope-download-index","description":"This scope permits to list all files and folders in the `$DOWNLOAD`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOWNLOAD"}]}},"scope-download-recursive":{"identifier":"scope-download-recursive","description":"This scope permits recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOWNLOAD"},{"path":"$DOWNLOAD/**"}]}},"scope-exe":{"identifier":"scope-exe","description":"This scope permits access to all files and list content of top level directories in the `$EXE` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$EXE"},{"path":"$EXE/*"}]}},"scope-exe-index":{"identifier":"scope-exe-index","description":"This scope permits to list all files and folders in the `$EXE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$EXE"}]}},"scope-exe-recursive":{"identifier":"scope-exe-recursive","description":"This scope permits recursive access to the complete `$EXE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$EXE"},{"path":"$EXE/**"}]}},"scope-font":{"identifier":"scope-font","description":"This scope permits access to all files and list content of top level directories in the `$FONT` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$FONT"},{"path":"$FONT/*"}]}},"scope-font-index":{"identifier":"scope-font-index","description":"This scope permits to list all files and folders in the `$FONT`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$FONT"}]}},"scope-font-recursive":{"identifier":"scope-font-recursive","description":"This scope permits recursive access to the complete `$FONT` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$FONT"},{"path":"$FONT/**"}]}},"scope-home":{"identifier":"scope-home","description":"This scope permits access to all files and list content of top level directories in the `$HOME` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$HOME"},{"path":"$HOME/*"}]}},"scope-home-index":{"identifier":"scope-home-index","description":"This scope permits to list all files and folders in the `$HOME`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$HOME"}]}},"scope-home-recursive":{"identifier":"scope-home-recursive","description":"This scope permits recursive access to the complete `$HOME` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$HOME"},{"path":"$HOME/**"}]}},"scope-localdata":{"identifier":"scope-localdata","description":"This scope permits access to all files and list content of top level directories in the `$LOCALDATA` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOCALDATA"},{"path":"$LOCALDATA/*"}]}},"scope-localdata-index":{"identifier":"scope-localdata-index","description":"This scope permits to list all files and folders in the `$LOCALDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOCALDATA"}]}},"scope-localdata-recursive":{"identifier":"scope-localdata-recursive","description":"This scope permits recursive access to the complete `$LOCALDATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOCALDATA"},{"path":"$LOCALDATA/**"}]}},"scope-log":{"identifier":"scope-log","description":"This scope permits access to all files and list content of top level directories in the `$LOG` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOG"},{"path":"$LOG/*"}]}},"scope-log-index":{"identifier":"scope-log-index","description":"This scope permits to list all files and folders in the `$LOG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOG"}]}},"scope-log-recursive":{"identifier":"scope-log-recursive","description":"This scope permits recursive access to the complete `$LOG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOG"},{"path":"$LOG/**"}]}},"scope-picture":{"identifier":"scope-picture","description":"This scope permits access to all files and list content of top level directories in the `$PICTURE` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PICTURE"},{"path":"$PICTURE/*"}]}},"scope-picture-index":{"identifier":"scope-picture-index","description":"This scope permits to list all files and folders in the `$PICTURE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PICTURE"}]}},"scope-picture-recursive":{"identifier":"scope-picture-recursive","description":"This scope permits recursive access to the complete `$PICTURE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PICTURE"},{"path":"$PICTURE/**"}]}},"scope-public":{"identifier":"scope-public","description":"This scope permits access to all files and list content of top level directories in the `$PUBLIC` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PUBLIC"},{"path":"$PUBLIC/*"}]}},"scope-public-index":{"identifier":"scope-public-index","description":"This scope permits to list all files and folders in the `$PUBLIC`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PUBLIC"}]}},"scope-public-recursive":{"identifier":"scope-public-recursive","description":"This scope permits recursive access to the complete `$PUBLIC` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PUBLIC"},{"path":"$PUBLIC/**"}]}},"scope-resource":{"identifier":"scope-resource","description":"This scope permits access to all files and list content of top level directories in the `$RESOURCE` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RESOURCE"},{"path":"$RESOURCE/*"}]}},"scope-resource-index":{"identifier":"scope-resource-index","description":"This scope permits to list all files and folders in the `$RESOURCE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RESOURCE"}]}},"scope-resource-recursive":{"identifier":"scope-resource-recursive","description":"This scope permits recursive access to the complete `$RESOURCE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RESOURCE"},{"path":"$RESOURCE/**"}]}},"scope-runtime":{"identifier":"scope-runtime","description":"This scope permits access to all files and list content of top level directories in the `$RUNTIME` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RUNTIME"},{"path":"$RUNTIME/*"}]}},"scope-runtime-index":{"identifier":"scope-runtime-index","description":"This scope permits to list all files and folders in the `$RUNTIME`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RUNTIME"}]}},"scope-runtime-recursive":{"identifier":"scope-runtime-recursive","description":"This scope permits recursive access to the complete `$RUNTIME` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RUNTIME"},{"path":"$RUNTIME/**"}]}},"scope-temp":{"identifier":"scope-temp","description":"This scope permits access to all files and list content of top level directories in the `$TEMP` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMP"},{"path":"$TEMP/*"}]}},"scope-temp-index":{"identifier":"scope-temp-index","description":"This scope permits to list all files and folders in the `$TEMP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMP"}]}},"scope-temp-recursive":{"identifier":"scope-temp-recursive","description":"This scope permits recursive access to the complete `$TEMP` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMP"},{"path":"$TEMP/**"}]}},"scope-template":{"identifier":"scope-template","description":"This scope permits access to all files and list content of top level directories in the `$TEMPLATE` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMPLATE"},{"path":"$TEMPLATE/*"}]}},"scope-template-index":{"identifier":"scope-template-index","description":"This scope permits to list all files and folders in the `$TEMPLATE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMPLATE"}]}},"scope-template-recursive":{"identifier":"scope-template-recursive","description":"This scope permits recursive access to the complete `$TEMPLATE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMPLATE"},{"path":"$TEMPLATE/**"}]}},"scope-video":{"identifier":"scope-video","description":"This scope permits access to all files and list content of top level directories in the `$VIDEO` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$VIDEO"},{"path":"$VIDEO/*"}]}},"scope-video-index":{"identifier":"scope-video-index","description":"This scope permits to list all files and folders in the `$VIDEO`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$VIDEO"}]}},"scope-video-recursive":{"identifier":"scope-video-recursive","description":"This scope permits recursive access to the complete `$VIDEO` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$VIDEO"},{"path":"$VIDEO/**"}]}},"write-all":{"identifier":"write-all","description":"This enables all write related commands without any pre-configured accessible paths.","commands":{"allow":["mkdir","create","copy_file","remove","rename","truncate","ftruncate","write","write_file","write_text_file"],"deny":[]}},"write-files":{"identifier":"write-files","description":"This enables all file write related commands without any pre-configured accessible paths.","commands":{"allow":["create","copy_file","remove","rename","truncate","ftruncate","write","write_file","write_text_file"],"deny":[]}}},"permission_sets":{"allow-app-meta":{"identifier":"allow-app-meta","description":"This allows non-recursive read access to metadata of the application folders, including file listing and statistics.","permissions":["read-meta","scope-app-index"]},"allow-app-meta-recursive":{"identifier":"allow-app-meta-recursive","description":"This allows full recursive read access to metadata of the application folders, including file listing and statistics.","permissions":["read-meta","scope-app-recursive"]},"allow-app-read":{"identifier":"allow-app-read","description":"This allows non-recursive read access to the application folders.","permissions":["read-all","scope-app"]},"allow-app-read-recursive":{"identifier":"allow-app-read-recursive","description":"This allows full recursive read access to the complete application folders, files and subdirectories.","permissions":["read-all","scope-app-recursive"]},"allow-app-write":{"identifier":"allow-app-write","description":"This allows non-recursive write access to the application folders.","permissions":["write-all","scope-app"]},"allow-app-write-recursive":{"identifier":"allow-app-write-recursive","description":"This allows full recursive write access to the complete application folders, files and subdirectories.","permissions":["write-all","scope-app-recursive"]},"allow-appcache-meta":{"identifier":"allow-appcache-meta","description":"This allows non-recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-appcache-index"]},"allow-appcache-meta-recursive":{"identifier":"allow-appcache-meta-recursive","description":"This allows full recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-appcache-recursive"]},"allow-appcache-read":{"identifier":"allow-appcache-read","description":"This allows non-recursive read access to the `$APPCACHE` folder.","permissions":["read-all","scope-appcache"]},"allow-appcache-read-recursive":{"identifier":"allow-appcache-read-recursive","description":"This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.","permissions":["read-all","scope-appcache-recursive"]},"allow-appcache-write":{"identifier":"allow-appcache-write","description":"This allows non-recursive write access to the `$APPCACHE` folder.","permissions":["write-all","scope-appcache"]},"allow-appcache-write-recursive":{"identifier":"allow-appcache-write-recursive","description":"This allows full recursive write access to the complete `$APPCACHE` folder, files and subdirectories.","permissions":["write-all","scope-appcache-recursive"]},"allow-appconfig-meta":{"identifier":"allow-appconfig-meta","description":"This allows non-recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-appconfig-index"]},"allow-appconfig-meta-recursive":{"identifier":"allow-appconfig-meta-recursive","description":"This allows full recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-appconfig-recursive"]},"allow-appconfig-read":{"identifier":"allow-appconfig-read","description":"This allows non-recursive read access to the `$APPCONFIG` folder.","permissions":["read-all","scope-appconfig"]},"allow-appconfig-read-recursive":{"identifier":"allow-appconfig-read-recursive","description":"This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.","permissions":["read-all","scope-appconfig-recursive"]},"allow-appconfig-write":{"identifier":"allow-appconfig-write","description":"This allows non-recursive write access to the `$APPCONFIG` folder.","permissions":["write-all","scope-appconfig"]},"allow-appconfig-write-recursive":{"identifier":"allow-appconfig-write-recursive","description":"This allows full recursive write access to the complete `$APPCONFIG` folder, files and subdirectories.","permissions":["write-all","scope-appconfig-recursive"]},"allow-appdata-meta":{"identifier":"allow-appdata-meta","description":"This allows non-recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-appdata-index"]},"allow-appdata-meta-recursive":{"identifier":"allow-appdata-meta-recursive","description":"This allows full recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-appdata-recursive"]},"allow-appdata-read":{"identifier":"allow-appdata-read","description":"This allows non-recursive read access to the `$APPDATA` folder.","permissions":["read-all","scope-appdata"]},"allow-appdata-read-recursive":{"identifier":"allow-appdata-read-recursive","description":"This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.","permissions":["read-all","scope-appdata-recursive"]},"allow-appdata-write":{"identifier":"allow-appdata-write","description":"This allows non-recursive write access to the `$APPDATA` folder.","permissions":["write-all","scope-appdata"]},"allow-appdata-write-recursive":{"identifier":"allow-appdata-write-recursive","description":"This allows full recursive write access to the complete `$APPDATA` folder, files and subdirectories.","permissions":["write-all","scope-appdata-recursive"]},"allow-applocaldata-meta":{"identifier":"allow-applocaldata-meta","description":"This allows non-recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-applocaldata-index"]},"allow-applocaldata-meta-recursive":{"identifier":"allow-applocaldata-meta-recursive","description":"This allows full recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-applocaldata-recursive"]},"allow-applocaldata-read":{"identifier":"allow-applocaldata-read","description":"This allows non-recursive read access to the `$APPLOCALDATA` folder.","permissions":["read-all","scope-applocaldata"]},"allow-applocaldata-read-recursive":{"identifier":"allow-applocaldata-read-recursive","description":"This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.","permissions":["read-all","scope-applocaldata-recursive"]},"allow-applocaldata-write":{"identifier":"allow-applocaldata-write","description":"This allows non-recursive write access to the `$APPLOCALDATA` folder.","permissions":["write-all","scope-applocaldata"]},"allow-applocaldata-write-recursive":{"identifier":"allow-applocaldata-write-recursive","description":"This allows full recursive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.","permissions":["write-all","scope-applocaldata-recursive"]},"allow-applog-meta":{"identifier":"allow-applog-meta","description":"This allows non-recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.","permissions":["read-meta","scope-applog-index"]},"allow-applog-meta-recursive":{"identifier":"allow-applog-meta-recursive","description":"This allows full recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.","permissions":["read-meta","scope-applog-recursive"]},"allow-applog-read":{"identifier":"allow-applog-read","description":"This allows non-recursive read access to the `$APPLOG` folder.","permissions":["read-all","scope-applog"]},"allow-applog-read-recursive":{"identifier":"allow-applog-read-recursive","description":"This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.","permissions":["read-all","scope-applog-recursive"]},"allow-applog-write":{"identifier":"allow-applog-write","description":"This allows non-recursive write access to the `$APPLOG` folder.","permissions":["write-all","scope-applog"]},"allow-applog-write-recursive":{"identifier":"allow-applog-write-recursive","description":"This allows full recursive write access to the complete `$APPLOG` folder, files and subdirectories.","permissions":["write-all","scope-applog-recursive"]},"allow-audio-meta":{"identifier":"allow-audio-meta","description":"This allows non-recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.","permissions":["read-meta","scope-audio-index"]},"allow-audio-meta-recursive":{"identifier":"allow-audio-meta-recursive","description":"This allows full recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.","permissions":["read-meta","scope-audio-recursive"]},"allow-audio-read":{"identifier":"allow-audio-read","description":"This allows non-recursive read access to the `$AUDIO` folder.","permissions":["read-all","scope-audio"]},"allow-audio-read-recursive":{"identifier":"allow-audio-read-recursive","description":"This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.","permissions":["read-all","scope-audio-recursive"]},"allow-audio-write":{"identifier":"allow-audio-write","description":"This allows non-recursive write access to the `$AUDIO` folder.","permissions":["write-all","scope-audio"]},"allow-audio-write-recursive":{"identifier":"allow-audio-write-recursive","description":"This allows full recursive write access to the complete `$AUDIO` folder, files and subdirectories.","permissions":["write-all","scope-audio-recursive"]},"allow-cache-meta":{"identifier":"allow-cache-meta","description":"This allows non-recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-cache-index"]},"allow-cache-meta-recursive":{"identifier":"allow-cache-meta-recursive","description":"This allows full recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-cache-recursive"]},"allow-cache-read":{"identifier":"allow-cache-read","description":"This allows non-recursive read access to the `$CACHE` folder.","permissions":["read-all","scope-cache"]},"allow-cache-read-recursive":{"identifier":"allow-cache-read-recursive","description":"This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.","permissions":["read-all","scope-cache-recursive"]},"allow-cache-write":{"identifier":"allow-cache-write","description":"This allows non-recursive write access to the `$CACHE` folder.","permissions":["write-all","scope-cache"]},"allow-cache-write-recursive":{"identifier":"allow-cache-write-recursive","description":"This allows full recursive write access to the complete `$CACHE` folder, files and subdirectories.","permissions":["write-all","scope-cache-recursive"]},"allow-config-meta":{"identifier":"allow-config-meta","description":"This allows non-recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-config-index"]},"allow-config-meta-recursive":{"identifier":"allow-config-meta-recursive","description":"This allows full recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-config-recursive"]},"allow-config-read":{"identifier":"allow-config-read","description":"This allows non-recursive read access to the `$CONFIG` folder.","permissions":["read-all","scope-config"]},"allow-config-read-recursive":{"identifier":"allow-config-read-recursive","description":"This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.","permissions":["read-all","scope-config-recursive"]},"allow-config-write":{"identifier":"allow-config-write","description":"This allows non-recursive write access to the `$CONFIG` folder.","permissions":["write-all","scope-config"]},"allow-config-write-recursive":{"identifier":"allow-config-write-recursive","description":"This allows full recursive write access to the complete `$CONFIG` folder, files and subdirectories.","permissions":["write-all","scope-config-recursive"]},"allow-data-meta":{"identifier":"allow-data-meta","description":"This allows non-recursive read access to metadata of the `$DATA` folder, including file listing and statistics.","permissions":["read-meta","scope-data-index"]},"allow-data-meta-recursive":{"identifier":"allow-data-meta-recursive","description":"This allows full recursive read access to metadata of the `$DATA` folder, including file listing and statistics.","permissions":["read-meta","scope-data-recursive"]},"allow-data-read":{"identifier":"allow-data-read","description":"This allows non-recursive read access to the `$DATA` folder.","permissions":["read-all","scope-data"]},"allow-data-read-recursive":{"identifier":"allow-data-read-recursive","description":"This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.","permissions":["read-all","scope-data-recursive"]},"allow-data-write":{"identifier":"allow-data-write","description":"This allows non-recursive write access to the `$DATA` folder.","permissions":["write-all","scope-data"]},"allow-data-write-recursive":{"identifier":"allow-data-write-recursive","description":"This allows full recursive write access to the complete `$DATA` folder, files and subdirectories.","permissions":["write-all","scope-data-recursive"]},"allow-desktop-meta":{"identifier":"allow-desktop-meta","description":"This allows non-recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.","permissions":["read-meta","scope-desktop-index"]},"allow-desktop-meta-recursive":{"identifier":"allow-desktop-meta-recursive","description":"This allows full recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.","permissions":["read-meta","scope-desktop-recursive"]},"allow-desktop-read":{"identifier":"allow-desktop-read","description":"This allows non-recursive read access to the `$DESKTOP` folder.","permissions":["read-all","scope-desktop"]},"allow-desktop-read-recursive":{"identifier":"allow-desktop-read-recursive","description":"This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.","permissions":["read-all","scope-desktop-recursive"]},"allow-desktop-write":{"identifier":"allow-desktop-write","description":"This allows non-recursive write access to the `$DESKTOP` folder.","permissions":["write-all","scope-desktop"]},"allow-desktop-write-recursive":{"identifier":"allow-desktop-write-recursive","description":"This allows full recursive write access to the complete `$DESKTOP` folder, files and subdirectories.","permissions":["write-all","scope-desktop-recursive"]},"allow-document-meta":{"identifier":"allow-document-meta","description":"This allows non-recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.","permissions":["read-meta","scope-document-index"]},"allow-document-meta-recursive":{"identifier":"allow-document-meta-recursive","description":"This allows full recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.","permissions":["read-meta","scope-document-recursive"]},"allow-document-read":{"identifier":"allow-document-read","description":"This allows non-recursive read access to the `$DOCUMENT` folder.","permissions":["read-all","scope-document"]},"allow-document-read-recursive":{"identifier":"allow-document-read-recursive","description":"This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.","permissions":["read-all","scope-document-recursive"]},"allow-document-write":{"identifier":"allow-document-write","description":"This allows non-recursive write access to the `$DOCUMENT` folder.","permissions":["write-all","scope-document"]},"allow-document-write-recursive":{"identifier":"allow-document-write-recursive","description":"This allows full recursive write access to the complete `$DOCUMENT` folder, files and subdirectories.","permissions":["write-all","scope-document-recursive"]},"allow-download-meta":{"identifier":"allow-download-meta","description":"This allows non-recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.","permissions":["read-meta","scope-download-index"]},"allow-download-meta-recursive":{"identifier":"allow-download-meta-recursive","description":"This allows full recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.","permissions":["read-meta","scope-download-recursive"]},"allow-download-read":{"identifier":"allow-download-read","description":"This allows non-recursive read access to the `$DOWNLOAD` folder.","permissions":["read-all","scope-download"]},"allow-download-read-recursive":{"identifier":"allow-download-read-recursive","description":"This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.","permissions":["read-all","scope-download-recursive"]},"allow-download-write":{"identifier":"allow-download-write","description":"This allows non-recursive write access to the `$DOWNLOAD` folder.","permissions":["write-all","scope-download"]},"allow-download-write-recursive":{"identifier":"allow-download-write-recursive","description":"This allows full recursive write access to the complete `$DOWNLOAD` folder, files and subdirectories.","permissions":["write-all","scope-download-recursive"]},"allow-exe-meta":{"identifier":"allow-exe-meta","description":"This allows non-recursive read access to metadata of the `$EXE` folder, including file listing and statistics.","permissions":["read-meta","scope-exe-index"]},"allow-exe-meta-recursive":{"identifier":"allow-exe-meta-recursive","description":"This allows full recursive read access to metadata of the `$EXE` folder, including file listing and statistics.","permissions":["read-meta","scope-exe-recursive"]},"allow-exe-read":{"identifier":"allow-exe-read","description":"This allows non-recursive read access to the `$EXE` folder.","permissions":["read-all","scope-exe"]},"allow-exe-read-recursive":{"identifier":"allow-exe-read-recursive","description":"This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.","permissions":["read-all","scope-exe-recursive"]},"allow-exe-write":{"identifier":"allow-exe-write","description":"This allows non-recursive write access to the `$EXE` folder.","permissions":["write-all","scope-exe"]},"allow-exe-write-recursive":{"identifier":"allow-exe-write-recursive","description":"This allows full recursive write access to the complete `$EXE` folder, files and subdirectories.","permissions":["write-all","scope-exe-recursive"]},"allow-font-meta":{"identifier":"allow-font-meta","description":"This allows non-recursive read access to metadata of the `$FONT` folder, including file listing and statistics.","permissions":["read-meta","scope-font-index"]},"allow-font-meta-recursive":{"identifier":"allow-font-meta-recursive","description":"This allows full recursive read access to metadata of the `$FONT` folder, including file listing and statistics.","permissions":["read-meta","scope-font-recursive"]},"allow-font-read":{"identifier":"allow-font-read","description":"This allows non-recursive read access to the `$FONT` folder.","permissions":["read-all","scope-font"]},"allow-font-read-recursive":{"identifier":"allow-font-read-recursive","description":"This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.","permissions":["read-all","scope-font-recursive"]},"allow-font-write":{"identifier":"allow-font-write","description":"This allows non-recursive write access to the `$FONT` folder.","permissions":["write-all","scope-font"]},"allow-font-write-recursive":{"identifier":"allow-font-write-recursive","description":"This allows full recursive write access to the complete `$FONT` folder, files and subdirectories.","permissions":["write-all","scope-font-recursive"]},"allow-home-meta":{"identifier":"allow-home-meta","description":"This allows non-recursive read access to metadata of the `$HOME` folder, including file listing and statistics.","permissions":["read-meta","scope-home-index"]},"allow-home-meta-recursive":{"identifier":"allow-home-meta-recursive","description":"This allows full recursive read access to metadata of the `$HOME` folder, including file listing and statistics.","permissions":["read-meta","scope-home-recursive"]},"allow-home-read":{"identifier":"allow-home-read","description":"This allows non-recursive read access to the `$HOME` folder.","permissions":["read-all","scope-home"]},"allow-home-read-recursive":{"identifier":"allow-home-read-recursive","description":"This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.","permissions":["read-all","scope-home-recursive"]},"allow-home-write":{"identifier":"allow-home-write","description":"This allows non-recursive write access to the `$HOME` folder.","permissions":["write-all","scope-home"]},"allow-home-write-recursive":{"identifier":"allow-home-write-recursive","description":"This allows full recursive write access to the complete `$HOME` folder, files and subdirectories.","permissions":["write-all","scope-home-recursive"]},"allow-localdata-meta":{"identifier":"allow-localdata-meta","description":"This allows non-recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-localdata-index"]},"allow-localdata-meta-recursive":{"identifier":"allow-localdata-meta-recursive","description":"This allows full recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-localdata-recursive"]},"allow-localdata-read":{"identifier":"allow-localdata-read","description":"This allows non-recursive read access to the `$LOCALDATA` folder.","permissions":["read-all","scope-localdata"]},"allow-localdata-read-recursive":{"identifier":"allow-localdata-read-recursive","description":"This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.","permissions":["read-all","scope-localdata-recursive"]},"allow-localdata-write":{"identifier":"allow-localdata-write","description":"This allows non-recursive write access to the `$LOCALDATA` folder.","permissions":["write-all","scope-localdata"]},"allow-localdata-write-recursive":{"identifier":"allow-localdata-write-recursive","description":"This allows full recursive write access to the complete `$LOCALDATA` folder, files and subdirectories.","permissions":["write-all","scope-localdata-recursive"]},"allow-log-meta":{"identifier":"allow-log-meta","description":"This allows non-recursive read access to metadata of the `$LOG` folder, including file listing and statistics.","permissions":["read-meta","scope-log-index"]},"allow-log-meta-recursive":{"identifier":"allow-log-meta-recursive","description":"This allows full recursive read access to metadata of the `$LOG` folder, including file listing and statistics.","permissions":["read-meta","scope-log-recursive"]},"allow-log-read":{"identifier":"allow-log-read","description":"This allows non-recursive read access to the `$LOG` folder.","permissions":["read-all","scope-log"]},"allow-log-read-recursive":{"identifier":"allow-log-read-recursive","description":"This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.","permissions":["read-all","scope-log-recursive"]},"allow-log-write":{"identifier":"allow-log-write","description":"This allows non-recursive write access to the `$LOG` folder.","permissions":["write-all","scope-log"]},"allow-log-write-recursive":{"identifier":"allow-log-write-recursive","description":"This allows full recursive write access to the complete `$LOG` folder, files and subdirectories.","permissions":["write-all","scope-log-recursive"]},"allow-picture-meta":{"identifier":"allow-picture-meta","description":"This allows non-recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.","permissions":["read-meta","scope-picture-index"]},"allow-picture-meta-recursive":{"identifier":"allow-picture-meta-recursive","description":"This allows full recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.","permissions":["read-meta","scope-picture-recursive"]},"allow-picture-read":{"identifier":"allow-picture-read","description":"This allows non-recursive read access to the `$PICTURE` folder.","permissions":["read-all","scope-picture"]},"allow-picture-read-recursive":{"identifier":"allow-picture-read-recursive","description":"This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.","permissions":["read-all","scope-picture-recursive"]},"allow-picture-write":{"identifier":"allow-picture-write","description":"This allows non-recursive write access to the `$PICTURE` folder.","permissions":["write-all","scope-picture"]},"allow-picture-write-recursive":{"identifier":"allow-picture-write-recursive","description":"This allows full recursive write access to the complete `$PICTURE` folder, files and subdirectories.","permissions":["write-all","scope-picture-recursive"]},"allow-public-meta":{"identifier":"allow-public-meta","description":"This allows non-recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.","permissions":["read-meta","scope-public-index"]},"allow-public-meta-recursive":{"identifier":"allow-public-meta-recursive","description":"This allows full recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.","permissions":["read-meta","scope-public-recursive"]},"allow-public-read":{"identifier":"allow-public-read","description":"This allows non-recursive read access to the `$PUBLIC` folder.","permissions":["read-all","scope-public"]},"allow-public-read-recursive":{"identifier":"allow-public-read-recursive","description":"This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.","permissions":["read-all","scope-public-recursive"]},"allow-public-write":{"identifier":"allow-public-write","description":"This allows non-recursive write access to the `$PUBLIC` folder.","permissions":["write-all","scope-public"]},"allow-public-write-recursive":{"identifier":"allow-public-write-recursive","description":"This allows full recursive write access to the complete `$PUBLIC` folder, files and subdirectories.","permissions":["write-all","scope-public-recursive"]},"allow-resource-meta":{"identifier":"allow-resource-meta","description":"This allows non-recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.","permissions":["read-meta","scope-resource-index"]},"allow-resource-meta-recursive":{"identifier":"allow-resource-meta-recursive","description":"This allows full recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.","permissions":["read-meta","scope-resource-recursive"]},"allow-resource-read":{"identifier":"allow-resource-read","description":"This allows non-recursive read access to the `$RESOURCE` folder.","permissions":["read-all","scope-resource"]},"allow-resource-read-recursive":{"identifier":"allow-resource-read-recursive","description":"This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.","permissions":["read-all","scope-resource-recursive"]},"allow-resource-write":{"identifier":"allow-resource-write","description":"This allows non-recursive write access to the `$RESOURCE` folder.","permissions":["write-all","scope-resource"]},"allow-resource-write-recursive":{"identifier":"allow-resource-write-recursive","description":"This allows full recursive write access to the complete `$RESOURCE` folder, files and subdirectories.","permissions":["write-all","scope-resource-recursive"]},"allow-runtime-meta":{"identifier":"allow-runtime-meta","description":"This allows non-recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.","permissions":["read-meta","scope-runtime-index"]},"allow-runtime-meta-recursive":{"identifier":"allow-runtime-meta-recursive","description":"This allows full recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.","permissions":["read-meta","scope-runtime-recursive"]},"allow-runtime-read":{"identifier":"allow-runtime-read","description":"This allows non-recursive read access to the `$RUNTIME` folder.","permissions":["read-all","scope-runtime"]},"allow-runtime-read-recursive":{"identifier":"allow-runtime-read-recursive","description":"This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.","permissions":["read-all","scope-runtime-recursive"]},"allow-runtime-write":{"identifier":"allow-runtime-write","description":"This allows non-recursive write access to the `$RUNTIME` folder.","permissions":["write-all","scope-runtime"]},"allow-runtime-write-recursive":{"identifier":"allow-runtime-write-recursive","description":"This allows full recursive write access to the complete `$RUNTIME` folder, files and subdirectories.","permissions":["write-all","scope-runtime-recursive"]},"allow-temp-meta":{"identifier":"allow-temp-meta","description":"This allows non-recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.","permissions":["read-meta","scope-temp-index"]},"allow-temp-meta-recursive":{"identifier":"allow-temp-meta-recursive","description":"This allows full recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.","permissions":["read-meta","scope-temp-recursive"]},"allow-temp-read":{"identifier":"allow-temp-read","description":"This allows non-recursive read access to the `$TEMP` folder.","permissions":["read-all","scope-temp"]},"allow-temp-read-recursive":{"identifier":"allow-temp-read-recursive","description":"This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.","permissions":["read-all","scope-temp-recursive"]},"allow-temp-write":{"identifier":"allow-temp-write","description":"This allows non-recursive write access to the `$TEMP` folder.","permissions":["write-all","scope-temp"]},"allow-temp-write-recursive":{"identifier":"allow-temp-write-recursive","description":"This allows full recursive write access to the complete `$TEMP` folder, files and subdirectories.","permissions":["write-all","scope-temp-recursive"]},"allow-template-meta":{"identifier":"allow-template-meta","description":"This allows non-recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.","permissions":["read-meta","scope-template-index"]},"allow-template-meta-recursive":{"identifier":"allow-template-meta-recursive","description":"This allows full recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.","permissions":["read-meta","scope-template-recursive"]},"allow-template-read":{"identifier":"allow-template-read","description":"This allows non-recursive read access to the `$TEMPLATE` folder.","permissions":["read-all","scope-template"]},"allow-template-read-recursive":{"identifier":"allow-template-read-recursive","description":"This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.","permissions":["read-all","scope-template-recursive"]},"allow-template-write":{"identifier":"allow-template-write","description":"This allows non-recursive write access to the `$TEMPLATE` folder.","permissions":["write-all","scope-template"]},"allow-template-write-recursive":{"identifier":"allow-template-write-recursive","description":"This allows full recursive write access to the complete `$TEMPLATE` folder, files and subdirectories.","permissions":["write-all","scope-template-recursive"]},"allow-video-meta":{"identifier":"allow-video-meta","description":"This allows non-recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.","permissions":["read-meta","scope-video-index"]},"allow-video-meta-recursive":{"identifier":"allow-video-meta-recursive","description":"This allows full recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.","permissions":["read-meta","scope-video-recursive"]},"allow-video-read":{"identifier":"allow-video-read","description":"This allows non-recursive read access to the `$VIDEO` folder.","permissions":["read-all","scope-video"]},"allow-video-read-recursive":{"identifier":"allow-video-read-recursive","description":"This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.","permissions":["read-all","scope-video-recursive"]},"allow-video-write":{"identifier":"allow-video-write","description":"This allows non-recursive write access to the `$VIDEO` folder.","permissions":["write-all","scope-video"]},"allow-video-write-recursive":{"identifier":"allow-video-write-recursive","description":"This allows full recursive write access to the complete `$VIDEO` folder, files and subdirectories.","permissions":["write-all","scope-video-recursive"]},"deny-default":{"identifier":"deny-default","description":"This denies access to dangerous Tauri relevant files and folders by default.","permissions":["deny-webview-data-linux","deny-webview-data-windows"]}},"global_scope_schema":{"$schema":"http://json-schema.org/draft-07/schema#","anyOf":[{"description":"A path that can be accessed by the webview when using the fs APIs. FS scope path pattern.\n\nThe pattern 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`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.","type":"string"},{"properties":{"path":{"description":"A path that can be accessed by the webview when using the fs APIs.\n\nThe pattern 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`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.","type":"string"}},"required":["path"],"type":"object"}],"description":"FS scope entry.","title":"FsScopeEntry"}},"global-shortcut":{"default_permission":{"identifier":"default","description":"No features are enabled by default, as we believe\nthe shortcuts can be inherently dangerous and it is\napplication specific if specific shortcuts should be\nregistered or unregistered.\n","permissions":[]},"permissions":{"allow-is-registered":{"identifier":"allow-is-registered","description":"Enables the is_registered command without any pre-configured scope.","commands":{"allow":["is_registered"],"deny":[]}},"allow-register":{"identifier":"allow-register","description":"Enables the register command without any pre-configured scope.","commands":{"allow":["register"],"deny":[]}},"allow-register-all":{"identifier":"allow-register-all","description":"Enables the register_all command without any pre-configured scope.","commands":{"allow":["register_all"],"deny":[]}},"allow-unregister":{"identifier":"allow-unregister","description":"Enables the unregister command without any pre-configured scope.","commands":{"allow":["unregister"],"deny":[]}},"allow-unregister-all":{"identifier":"allow-unregister-all","description":"Enables the unregister_all command without any pre-configured scope.","commands":{"allow":["unregister_all"],"deny":[]}},"deny-is-registered":{"identifier":"deny-is-registered","description":"Denies the is_registered command without any pre-configured scope.","commands":{"allow":[],"deny":["is_registered"]}},"deny-register":{"identifier":"deny-register","description":"Denies the register command without any pre-configured scope.","commands":{"allow":[],"deny":["register"]}},"deny-register-all":{"identifier":"deny-register-all","description":"Denies the register_all command without any pre-configured scope.","commands":{"allow":[],"deny":["register_all"]}},"deny-unregister":{"identifier":"deny-unregister","description":"Denies the unregister command without any pre-configured scope.","commands":{"allow":[],"deny":["unregister"]}},"deny-unregister-all":{"identifier":"deny-unregister-all","description":"Denies the unregister_all command without any pre-configured scope.","commands":{"allow":[],"deny":["unregister_all"]}}},"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-read-body","allow-fetch-send"]},"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-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-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"}},"notification":{"default_permission":{"identifier":"default","description":"This permission set configures which\nnotification features are by default exposed.\n\n#### Granted Permissions\n\nIt allows all notification related features.\n\n","permissions":["allow-is-permission-granted","allow-request-permission","allow-notify","allow-register-action-types","allow-register-listener","allow-cancel","allow-get-pending","allow-remove-active","allow-get-active","allow-check-permissions","allow-show","allow-batch","allow-list-channels","allow-delete-channel","allow-create-channel","allow-permission-state"]},"permissions":{"allow-batch":{"identifier":"allow-batch","description":"Enables the batch command without any pre-configured scope.","commands":{"allow":["batch"],"deny":[]}},"allow-cancel":{"identifier":"allow-cancel","description":"Enables the cancel command without any pre-configured scope.","commands":{"allow":["cancel"],"deny":[]}},"allow-check-permissions":{"identifier":"allow-check-permissions","description":"Enables the check_permissions command without any pre-configured scope.","commands":{"allow":["check_permissions"],"deny":[]}},"allow-create-channel":{"identifier":"allow-create-channel","description":"Enables the create_channel command without any pre-configured scope.","commands":{"allow":["create_channel"],"deny":[]}},"allow-delete-channel":{"identifier":"allow-delete-channel","description":"Enables the delete_channel command without any pre-configured scope.","commands":{"allow":["delete_channel"],"deny":[]}},"allow-get-active":{"identifier":"allow-get-active","description":"Enables the get_active command without any pre-configured scope.","commands":{"allow":["get_active"],"deny":[]}},"allow-get-pending":{"identifier":"allow-get-pending","description":"Enables the get_pending command without any pre-configured scope.","commands":{"allow":["get_pending"],"deny":[]}},"allow-is-permission-granted":{"identifier":"allow-is-permission-granted","description":"Enables the is_permission_granted command without any pre-configured scope.","commands":{"allow":["is_permission_granted"],"deny":[]}},"allow-list-channels":{"identifier":"allow-list-channels","description":"Enables the list_channels command without any pre-configured scope.","commands":{"allow":["list_channels"],"deny":[]}},"allow-notify":{"identifier":"allow-notify","description":"Enables the notify command without any pre-configured scope.","commands":{"allow":["notify"],"deny":[]}},"allow-permission-state":{"identifier":"allow-permission-state","description":"Enables the permission_state command without any pre-configured scope.","commands":{"allow":["permission_state"],"deny":[]}},"allow-register-action-types":{"identifier":"allow-register-action-types","description":"Enables the register_action_types command without any pre-configured scope.","commands":{"allow":["register_action_types"],"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-active":{"identifier":"allow-remove-active","description":"Enables the remove_active command without any pre-configured scope.","commands":{"allow":["remove_active"],"deny":[]}},"allow-request-permission":{"identifier":"allow-request-permission","description":"Enables the request_permission command without any pre-configured scope.","commands":{"allow":["request_permission"],"deny":[]}},"allow-show":{"identifier":"allow-show","description":"Enables the show command without any pre-configured scope.","commands":{"allow":["show"],"deny":[]}},"deny-batch":{"identifier":"deny-batch","description":"Denies the batch command without any pre-configured scope.","commands":{"allow":[],"deny":["batch"]}},"deny-cancel":{"identifier":"deny-cancel","description":"Denies the cancel command without any pre-configured scope.","commands":{"allow":[],"deny":["cancel"]}},"deny-check-permissions":{"identifier":"deny-check-permissions","description":"Denies the check_permissions command without any pre-configured scope.","commands":{"allow":[],"deny":["check_permissions"]}},"deny-create-channel":{"identifier":"deny-create-channel","description":"Denies the create_channel command without any pre-configured scope.","commands":{"allow":[],"deny":["create_channel"]}},"deny-delete-channel":{"identifier":"deny-delete-channel","description":"Denies the delete_channel command without any pre-configured scope.","commands":{"allow":[],"deny":["delete_channel"]}},"deny-get-active":{"identifier":"deny-get-active","description":"Denies the get_active command without any pre-configured scope.","commands":{"allow":[],"deny":["get_active"]}},"deny-get-pending":{"identifier":"deny-get-pending","description":"Denies the get_pending command without any pre-configured scope.","commands":{"allow":[],"deny":["get_pending"]}},"deny-is-permission-granted":{"identifier":"deny-is-permission-granted","description":"Denies the is_permission_granted command without any pre-configured scope.","commands":{"allow":[],"deny":["is_permission_granted"]}},"deny-list-channels":{"identifier":"deny-list-channels","description":"Denies the list_channels command without any pre-configured scope.","commands":{"allow":[],"deny":["list_channels"]}},"deny-notify":{"identifier":"deny-notify","description":"Denies the notify command without any pre-configured scope.","commands":{"allow":[],"deny":["notify"]}},"deny-permission-state":{"identifier":"deny-permission-state","description":"Denies the permission_state command without any pre-configured scope.","commands":{"allow":[],"deny":["permission_state"]}},"deny-register-action-types":{"identifier":"deny-register-action-types","description":"Denies the register_action_types command without any pre-configured scope.","commands":{"allow":[],"deny":["register_action_types"]}},"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-active":{"identifier":"deny-remove-active","description":"Denies the remove_active command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_active"]}},"deny-request-permission":{"identifier":"deny-request-permission","description":"Denies the request_permission command without any pre-configured scope.","commands":{"allow":[],"deny":["request_permission"]}},"deny-show":{"identifier":"deny-show","description":"Denies the show command without any pre-configured scope.","commands":{"allow":[],"deny":["show"]}}},"permission_sets":{},"global_scope_schema":null},"os":{"default_permission":{"identifier":"default","description":"This permission set configures which\noperating system information are available\nto gather from the frontend.\n\n#### Granted Permissions\n\nAll information except the host name are available.\n\n","permissions":["allow-arch","allow-exe-extension","allow-family","allow-locale","allow-os-type","allow-platform","allow-version"]},"permissions":{"allow-arch":{"identifier":"allow-arch","description":"Enables the arch command without any pre-configured scope.","commands":{"allow":["arch"],"deny":[]}},"allow-exe-extension":{"identifier":"allow-exe-extension","description":"Enables the exe_extension command without any pre-configured scope.","commands":{"allow":["exe_extension"],"deny":[]}},"allow-family":{"identifier":"allow-family","description":"Enables the family command without any pre-configured scope.","commands":{"allow":["family"],"deny":[]}},"allow-hostname":{"identifier":"allow-hostname","description":"Enables the hostname command without any pre-configured scope.","commands":{"allow":["hostname"],"deny":[]}},"allow-locale":{"identifier":"allow-locale","description":"Enables the locale command without any pre-configured scope.","commands":{"allow":["locale"],"deny":[]}},"allow-os-type":{"identifier":"allow-os-type","description":"Enables the os_type command without any pre-configured scope.","commands":{"allow":["os_type"],"deny":[]}},"allow-platform":{"identifier":"allow-platform","description":"Enables the platform command without any pre-configured scope.","commands":{"allow":["platform"],"deny":[]}},"allow-version":{"identifier":"allow-version","description":"Enables the version command without any pre-configured scope.","commands":{"allow":["version"],"deny":[]}},"deny-arch":{"identifier":"deny-arch","description":"Denies the arch command without any pre-configured scope.","commands":{"allow":[],"deny":["arch"]}},"deny-exe-extension":{"identifier":"deny-exe-extension","description":"Denies the exe_extension command without any pre-configured scope.","commands":{"allow":[],"deny":["exe_extension"]}},"deny-family":{"identifier":"deny-family","description":"Denies the family command without any pre-configured scope.","commands":{"allow":[],"deny":["family"]}},"deny-hostname":{"identifier":"deny-hostname","description":"Denies the hostname command without any pre-configured scope.","commands":{"allow":[],"deny":["hostname"]}},"deny-locale":{"identifier":"deny-locale","description":"Denies the locale command without any pre-configured scope.","commands":{"allow":[],"deny":["locale"]}},"deny-os-type":{"identifier":"deny-os-type","description":"Denies the os_type command without any pre-configured scope.","commands":{"allow":[],"deny":["os_type"]}},"deny-platform":{"identifier":"deny-platform","description":"Denies the platform command without any pre-configured scope.","commands":{"allow":[],"deny":["platform"]}},"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},"process":{"default_permission":{"identifier":"default","description":"This permission set configures which\nprocess feeatures 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 without any specific\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"}},"store":{"default_permission":{"identifier":"default","description":"This permission set configures what kind of\noperations are available from the store plugin.\n\n#### Granted Permissions\n\nAll operations are enabled by default.\n\n","permissions":["allow-load","allow-get-store","allow-set","allow-get","allow-has","allow-delete","allow-clear","allow-reset","allow-keys","allow-values","allow-entries","allow-length","allow-reload","allow-save"]},"permissions":{"allow-clear":{"identifier":"allow-clear","description":"Enables the clear command without any pre-configured scope.","commands":{"allow":["clear"],"deny":[]}},"allow-delete":{"identifier":"allow-delete","description":"Enables the delete command without any pre-configured scope.","commands":{"allow":["delete"],"deny":[]}},"allow-entries":{"identifier":"allow-entries","description":"Enables the entries command without any pre-configured scope.","commands":{"allow":["entries"],"deny":[]}},"allow-get":{"identifier":"allow-get","description":"Enables the get command without any pre-configured scope.","commands":{"allow":["get"],"deny":[]}},"allow-get-store":{"identifier":"allow-get-store","description":"Enables the get_store command without any pre-configured scope.","commands":{"allow":["get_store"],"deny":[]}},"allow-has":{"identifier":"allow-has","description":"Enables the has command without any pre-configured scope.","commands":{"allow":["has"],"deny":[]}},"allow-keys":{"identifier":"allow-keys","description":"Enables the keys command without any pre-configured scope.","commands":{"allow":["keys"],"deny":[]}},"allow-length":{"identifier":"allow-length","description":"Enables the length command without any pre-configured scope.","commands":{"allow":["length"],"deny":[]}},"allow-load":{"identifier":"allow-load","description":"Enables the load command without any pre-configured scope.","commands":{"allow":["load"],"deny":[]}},"allow-reload":{"identifier":"allow-reload","description":"Enables the reload command without any pre-configured scope.","commands":{"allow":["reload"],"deny":[]}},"allow-reset":{"identifier":"allow-reset","description":"Enables the reset command without any pre-configured scope.","commands":{"allow":["reset"],"deny":[]}},"allow-save":{"identifier":"allow-save","description":"Enables the save command without any pre-configured scope.","commands":{"allow":["save"],"deny":[]}},"allow-set":{"identifier":"allow-set","description":"Enables the set command without any pre-configured scope.","commands":{"allow":["set"],"deny":[]}},"allow-values":{"identifier":"allow-values","description":"Enables the values command without any pre-configured scope.","commands":{"allow":["values"],"deny":[]}},"deny-clear":{"identifier":"deny-clear","description":"Denies the clear command without any pre-configured scope.","commands":{"allow":[],"deny":["clear"]}},"deny-delete":{"identifier":"deny-delete","description":"Denies the delete command without any pre-configured scope.","commands":{"allow":[],"deny":["delete"]}},"deny-entries":{"identifier":"deny-entries","description":"Denies the entries command without any pre-configured scope.","commands":{"allow":[],"deny":["entries"]}},"deny-get":{"identifier":"deny-get","description":"Denies the get command without any pre-configured scope.","commands":{"allow":[],"deny":["get"]}},"deny-get-store":{"identifier":"deny-get-store","description":"Denies the get_store command without any pre-configured scope.","commands":{"allow":[],"deny":["get_store"]}},"deny-has":{"identifier":"deny-has","description":"Denies the has command without any pre-configured scope.","commands":{"allow":[],"deny":["has"]}},"deny-keys":{"identifier":"deny-keys","description":"Denies the keys command without any pre-configured scope.","commands":{"allow":[],"deny":["keys"]}},"deny-length":{"identifier":"deny-length","description":"Denies the length command without any pre-configured scope.","commands":{"allow":[],"deny":["length"]}},"deny-load":{"identifier":"deny-load","description":"Denies the load command without any pre-configured scope.","commands":{"allow":[],"deny":["load"]}},"deny-reload":{"identifier":"deny-reload","description":"Denies the reload command without any pre-configured scope.","commands":{"allow":[],"deny":["reload"]}},"deny-reset":{"identifier":"deny-reset","description":"Denies the reset command without any pre-configured scope.","commands":{"allow":[],"deny":["reset"]}},"deny-save":{"identifier":"deny-save","description":"Denies the save command without any pre-configured scope.","commands":{"allow":[],"deny":["save"]}},"deny-set":{"identifier":"deny-set","description":"Denies the set command without any pre-configured scope.","commands":{"allow":[],"deny":["set"]}},"deny-values":{"identifier":"deny-values","description":"Denies the values command without any pre-configured scope.","commands":{"allow":[],"deny":["values"]}}},"permission_sets":{},"global_scope_schema":null},"system-info":{"default_permission":null,"permissions":{"allow-all":{"identifier":"allow-all","description":"This enables all permissions for system info plugin","commands":{"allow":["all_sys_info","total_memory","used_memory","total_swap","used_swap","memory_info","hostname","name","kernel_version","os_version","static_info","components","cpus","cpu_count","cpu_info","disks","networks","processes","refresh_all","refresh_memory","refresh_cpu","refresh_processes","batteries"],"deny":[]}},"allow-all-sys-info":{"identifier":"allow-all-sys-info","description":"Enables the all_sys_info command without any pre-configured scope.","commands":{"allow":["all_sys_info"],"deny":[]}},"allow-batteries":{"identifier":"allow-batteries","description":"Enables the batteries command without any pre-configured scope.","commands":{"allow":["batteries"],"deny":[]}},"allow-components":{"identifier":"allow-components","description":"Enables the components command without any pre-configured scope.","commands":{"allow":["components"],"deny":[]}},"allow-cpu-count":{"identifier":"allow-cpu-count","description":"Enables the cpu_count command without any pre-configured scope.","commands":{"allow":["cpu_count"],"deny":[]}},"allow-cpu-info":{"identifier":"allow-cpu-info","description":"Enables the cpu_info command without any pre-configured scope.","commands":{"allow":["cpu_info"],"deny":[]}},"allow-cpus":{"identifier":"allow-cpus","description":"Enables the cpus command without any pre-configured scope.","commands":{"allow":["cpus"],"deny":[]}},"allow-disks":{"identifier":"allow-disks","description":"Enables the disks command without any pre-configured scope.","commands":{"allow":["disks"],"deny":[]}},"allow-execute":{"identifier":"allow-execute","description":"Enables the execute command without any pre-configured scope.","commands":{"allow":["execute"],"deny":[]}},"allow-hostname":{"identifier":"allow-hostname","description":"Enables the hostname command without any pre-configured scope.","commands":{"allow":["hostname"],"deny":[]}},"allow-kernel-version":{"identifier":"allow-kernel-version","description":"Enables the kernel_version command without any pre-configured scope.","commands":{"allow":["kernel_version"],"deny":[]}},"allow-memory-info":{"identifier":"allow-memory-info","description":"Enables the memory_info command without any pre-configured scope.","commands":{"allow":["memory_info"],"deny":[]}},"allow-name":{"identifier":"allow-name","description":"Enables the name command without any pre-configured scope.","commands":{"allow":["name"],"deny":[]}},"allow-networks":{"identifier":"allow-networks","description":"Enables the networks command without any pre-configured scope.","commands":{"allow":["networks"],"deny":[]}},"allow-os-version":{"identifier":"allow-os-version","description":"Enables the os_version command without any pre-configured scope.","commands":{"allow":["os_version"],"deny":[]}},"allow-ping":{"identifier":"allow-ping","description":"Enables the ping command without any pre-configured scope.","commands":{"allow":["ping"],"deny":[]}},"allow-processes":{"identifier":"allow-processes","description":"Enables the processes command without any pre-configured scope.","commands":{"allow":["processes"],"deny":[]}},"allow-refresh-all":{"identifier":"allow-refresh-all","description":"Enables the refresh_all command without any pre-configured scope.","commands":{"allow":["refresh_all"],"deny":[]}},"allow-refresh-cpu":{"identifier":"allow-refresh-cpu","description":"Enables the refresh_cpu command without any pre-configured scope.","commands":{"allow":["refresh_cpu"],"deny":[]}},"allow-refresh-memory":{"identifier":"allow-refresh-memory","description":"Enables the refresh_memory command without any pre-configured scope.","commands":{"allow":["refresh_memory"],"deny":[]}},"allow-refresh-processes":{"identifier":"allow-refresh-processes","description":"Enables the refresh_processes command without any pre-configured scope.","commands":{"allow":["refresh_processes"],"deny":[]}},"allow-static-info":{"identifier":"allow-static-info","description":"Enables the static_info command without any pre-configured scope.","commands":{"allow":["static_info"],"deny":[]}},"allow-total-memory":{"identifier":"allow-total-memory","description":"Enables the total_memory command without any pre-configured scope.","commands":{"allow":["total_memory"],"deny":[]}},"allow-total-swap":{"identifier":"allow-total-swap","description":"Enables the total_swap command without any pre-configured scope.","commands":{"allow":["total_swap"],"deny":[]}},"allow-used-memory":{"identifier":"allow-used-memory","description":"Enables the used_memory command without any pre-configured scope.","commands":{"allow":["used_memory"],"deny":[]}},"allow-used-swap":{"identifier":"allow-used-swap","description":"Enables the used_swap command without any pre-configured scope.","commands":{"allow":["used_swap"],"deny":[]}},"deny-all-sys-info":{"identifier":"deny-all-sys-info","description":"Denies the all_sys_info command without any pre-configured scope.","commands":{"allow":[],"deny":["all_sys_info"]}},"deny-batteries":{"identifier":"deny-batteries","description":"Denies the batteries command without any pre-configured scope.","commands":{"allow":[],"deny":["batteries"]}},"deny-components":{"identifier":"deny-components","description":"Denies the components command without any pre-configured scope.","commands":{"allow":[],"deny":["components"]}},"deny-cpu-count":{"identifier":"deny-cpu-count","description":"Denies the cpu_count command without any pre-configured scope.","commands":{"allow":[],"deny":["cpu_count"]}},"deny-cpu-info":{"identifier":"deny-cpu-info","description":"Denies the cpu_info command without any pre-configured scope.","commands":{"allow":[],"deny":["cpu_info"]}},"deny-cpus":{"identifier":"deny-cpus","description":"Denies the cpus command without any pre-configured scope.","commands":{"allow":[],"deny":["cpus"]}},"deny-disks":{"identifier":"deny-disks","description":"Denies the disks command without any pre-configured scope.","commands":{"allow":[],"deny":["disks"]}},"deny-execute":{"identifier":"deny-execute","description":"Denies the execute command without any pre-configured scope.","commands":{"allow":[],"deny":["execute"]}},"deny-hostname":{"identifier":"deny-hostname","description":"Denies the hostname command without any pre-configured scope.","commands":{"allow":[],"deny":["hostname"]}},"deny-kernel-version":{"identifier":"deny-kernel-version","description":"Denies the kernel_version command without any pre-configured scope.","commands":{"allow":[],"deny":["kernel_version"]}},"deny-memory-info":{"identifier":"deny-memory-info","description":"Denies the memory_info command without any pre-configured scope.","commands":{"allow":[],"deny":["memory_info"]}},"deny-name":{"identifier":"deny-name","description":"Denies the name command without any pre-configured scope.","commands":{"allow":[],"deny":["name"]}},"deny-networks":{"identifier":"deny-networks","description":"Denies the networks command without any pre-configured scope.","commands":{"allow":[],"deny":["networks"]}},"deny-os-version":{"identifier":"deny-os-version","description":"Denies the os_version command without any pre-configured scope.","commands":{"allow":[],"deny":["os_version"]}},"deny-ping":{"identifier":"deny-ping","description":"Denies the ping command without any pre-configured scope.","commands":{"allow":[],"deny":["ping"]}},"deny-processes":{"identifier":"deny-processes","description":"Denies the processes command without any pre-configured scope.","commands":{"allow":[],"deny":["processes"]}},"deny-refresh-all":{"identifier":"deny-refresh-all","description":"Denies the refresh_all command without any pre-configured scope.","commands":{"allow":[],"deny":["refresh_all"]}},"deny-refresh-cpu":{"identifier":"deny-refresh-cpu","description":"Denies the refresh_cpu command without any pre-configured scope.","commands":{"allow":[],"deny":["refresh_cpu"]}},"deny-refresh-memory":{"identifier":"deny-refresh-memory","description":"Denies the refresh_memory command without any pre-configured scope.","commands":{"allow":[],"deny":["refresh_memory"]}},"deny-refresh-processes":{"identifier":"deny-refresh-processes","description":"Denies the refresh_processes command without any pre-configured scope.","commands":{"allow":[],"deny":["refresh_processes"]}},"deny-static-info":{"identifier":"deny-static-info","description":"Denies the static_info command without any pre-configured scope.","commands":{"allow":[],"deny":["static_info"]}},"deny-total-memory":{"identifier":"deny-total-memory","description":"Denies the total_memory command without any pre-configured scope.","commands":{"allow":[],"deny":["total_memory"]}},"deny-total-swap":{"identifier":"deny-total-swap","description":"Denies the total_swap command without any pre-configured scope.","commands":{"allow":[],"deny":["total_swap"]}},"deny-used-memory":{"identifier":"deny-used-memory","description":"Denies the used_memory command without any pre-configured scope.","commands":{"allow":[],"deny":["used_memory"]}},"deny-used-swap":{"identifier":"deny-used-swap","description":"Denies the used_swap command without any pre-configured scope.","commands":{"allow":[],"deny":["used_swap"]}}},"permission_sets":{},"global_scope_schema":null},"theme":{"default_permission":{"identifier":"default","description":"Allow all","permissions":["allow-set-theme","allow-get-theme"]},"permissions":{"allow-get-theme":{"identifier":"allow-get-theme","description":"Enables the get_theme command without any pre-configured scope.","commands":{"allow":["get_theme"],"deny":[]}},"allow-set-theme":{"identifier":"allow-set-theme","description":"Enables the set_theme command without any pre-configured scope.","commands":{"allow":["set_theme"],"deny":[]}},"deny-get-theme":{"identifier":"deny-get-theme","description":"Denies the get_theme command without any pre-configured scope.","commands":{"allow":[],"deny":["get_theme"]}},"deny-set-theme":{"identifier":"deny-set-theme","description":"Denies the set_theme command without any pre-configured scope.","commands":{"allow":[],"deny":["set_theme"]}}},"permission_sets":{},"global_scope_schema":null},"valtio":{"default_permission":{"identifier":"default","description":"Default permissions for tauri-plugin-valtio.","permissions":["allow-clear-autosave","allow-get-valtio-path","allow-get-default-save-strategy","allow-get-save-strategy","allow-get-store-ids","allow-get-store-path","allow-get-store-state","allow-load","allow-patch","allow-save","allow-save-all","allow-save-all-now","allow-save-now","allow-save-some","allow-save-some-now","allow-set-valtio-path","allow-set-autosave","allow-set-save-strategy","allow-set-store-options","allow-unload"]},"permissions":{"allow-clear-autosave":{"identifier":"allow-clear-autosave","description":"Enables the clear_autosave command without any pre-configured scope.","commands":{"allow":["clear_autosave"],"deny":[]}},"allow-get-default-save-strategy":{"identifier":"allow-get-default-save-strategy","description":"Enables the get_default_save_strategy command without any pre-configured scope.","commands":{"allow":["get_default_save_strategy"],"deny":[]}},"allow-get-save-strategy":{"identifier":"allow-get-save-strategy","description":"Enables the get_save_strategy command without any pre-configured scope.","commands":{"allow":["get_save_strategy"],"deny":[]}},"allow-get-store-ids":{"identifier":"allow-get-store-ids","description":"Enables the get_store_ids command without any pre-configured scope.","commands":{"allow":["get_store_ids"],"deny":[]}},"allow-get-store-path":{"identifier":"allow-get-store-path","description":"Enables the get_store_path command without any pre-configured scope.","commands":{"allow":["get_store_path"],"deny":[]}},"allow-get-store-state":{"identifier":"allow-get-store-state","description":"Enables the get_store_state command without any pre-configured scope.","commands":{"allow":["get_store_state"],"deny":[]}},"allow-get-valtio-path":{"identifier":"allow-get-valtio-path","description":"Enables the get_valtio_path command without any pre-configured scope.","commands":{"allow":["get_valtio_path"],"deny":[]}},"allow-load":{"identifier":"allow-load","description":"Enables the load command without any pre-configured scope.","commands":{"allow":["load"],"deny":[]}},"allow-patch":{"identifier":"allow-patch","description":"Enables the patch command without any pre-configured scope.","commands":{"allow":["patch"],"deny":[]}},"allow-save":{"identifier":"allow-save","description":"Enables the save command without any pre-configured scope.","commands":{"allow":["save"],"deny":[]}},"allow-save-all":{"identifier":"allow-save-all","description":"Enables the save_all command without any pre-configured scope.","commands":{"allow":["save_all"],"deny":[]}},"allow-save-all-now":{"identifier":"allow-save-all-now","description":"Enables the save_all_now command without any pre-configured scope.","commands":{"allow":["save_all_now"],"deny":[]}},"allow-save-now":{"identifier":"allow-save-now","description":"Enables the save_now command without any pre-configured scope.","commands":{"allow":["save_now"],"deny":[]}},"allow-save-some":{"identifier":"allow-save-some","description":"Enables the save_some command without any pre-configured scope.","commands":{"allow":["save_some"],"deny":[]}},"allow-save-some-now":{"identifier":"allow-save-some-now","description":"Enables the save_some_now command without any pre-configured scope.","commands":{"allow":["save_some_now"],"deny":[]}},"allow-set-autosave":{"identifier":"allow-set-autosave","description":"Enables the set_autosave command without any pre-configured scope.","commands":{"allow":["set_autosave"],"deny":[]}},"allow-set-save-strategy":{"identifier":"allow-set-save-strategy","description":"Enables the set_save_strategy command without any pre-configured scope.","commands":{"allow":["set_save_strategy"],"deny":[]}},"allow-set-store-options":{"identifier":"allow-set-store-options","description":"Enables the set_store_options command without any pre-configured scope.","commands":{"allow":["set_store_options"],"deny":[]}},"allow-set-valtio-path":{"identifier":"allow-set-valtio-path","description":"Enables the set_valtio_path command without any pre-configured scope.","commands":{"allow":["set_valtio_path"],"deny":[]}},"allow-unload":{"identifier":"allow-unload","description":"Enables the unload command without any pre-configured scope.","commands":{"allow":["unload"],"deny":[]}},"deny-clear-autosave":{"identifier":"deny-clear-autosave","description":"Denies the clear_autosave command without any pre-configured scope.","commands":{"allow":[],"deny":["clear_autosave"]}},"deny-get-default-save-strategy":{"identifier":"deny-get-default-save-strategy","description":"Denies the get_default_save_strategy command without any pre-configured scope.","commands":{"allow":[],"deny":["get_default_save_strategy"]}},"deny-get-save-strategy":{"identifier":"deny-get-save-strategy","description":"Denies the get_save_strategy command without any pre-configured scope.","commands":{"allow":[],"deny":["get_save_strategy"]}},"deny-get-store-ids":{"identifier":"deny-get-store-ids","description":"Denies the get_store_ids command without any pre-configured scope.","commands":{"allow":[],"deny":["get_store_ids"]}},"deny-get-store-path":{"identifier":"deny-get-store-path","description":"Denies the get_store_path command without any pre-configured scope.","commands":{"allow":[],"deny":["get_store_path"]}},"deny-get-store-state":{"identifier":"deny-get-store-state","description":"Denies the get_store_state command without any pre-configured scope.","commands":{"allow":[],"deny":["get_store_state"]}},"deny-get-valtio-path":{"identifier":"deny-get-valtio-path","description":"Denies the get_valtio_path command without any pre-configured scope.","commands":{"allow":[],"deny":["get_valtio_path"]}},"deny-load":{"identifier":"deny-load","description":"Denies the load command without any pre-configured scope.","commands":{"allow":[],"deny":["load"]}},"deny-patch":{"identifier":"deny-patch","description":"Denies the patch command without any pre-configured scope.","commands":{"allow":[],"deny":["patch"]}},"deny-save":{"identifier":"deny-save","description":"Denies the save command without any pre-configured scope.","commands":{"allow":[],"deny":["save"]}},"deny-save-all":{"identifier":"deny-save-all","description":"Denies the save_all command without any pre-configured scope.","commands":{"allow":[],"deny":["save_all"]}},"deny-save-all-now":{"identifier":"deny-save-all-now","description":"Denies the save_all_now command without any pre-configured scope.","commands":{"allow":[],"deny":["save_all_now"]}},"deny-save-now":{"identifier":"deny-save-now","description":"Denies the save_now command without any pre-configured scope.","commands":{"allow":[],"deny":["save_now"]}},"deny-save-some":{"identifier":"deny-save-some","description":"Denies the save_some command without any pre-configured scope.","commands":{"allow":[],"deny":["save_some"]}},"deny-save-some-now":{"identifier":"deny-save-some-now","description":"Denies the save_some_now command without any pre-configured scope.","commands":{"allow":[],"deny":["save_some_now"]}},"deny-set-autosave":{"identifier":"deny-set-autosave","description":"Denies the set_autosave command without any pre-configured scope.","commands":{"allow":[],"deny":["set_autosave"]}},"deny-set-save-strategy":{"identifier":"deny-set-save-strategy","description":"Denies the set_save_strategy command without any pre-configured scope.","commands":{"allow":[],"deny":["set_save_strategy"]}},"deny-set-store-options":{"identifier":"deny-set-store-options","description":"Denies the set_store_options command without any pre-configured scope.","commands":{"allow":[],"deny":["set_store_options"]}},"deny-set-valtio-path":{"identifier":"deny-set-valtio-path","description":"Denies the set_valtio_path command without any pre-configured scope.","commands":{"allow":[],"deny":["set_valtio_path"]}},"deny-unload":{"identifier":"deny-unload","description":"Denies the unload command without any pre-configured scope.","commands":{"allow":[],"deny":["unload"]}}},"permission_sets":{},"global_scope_schema":null}} \ No newline at end of file +{"autostart":{"default_permission":{"identifier":"default","description":"This permission set configures if your\napplication can enable or disable auto\nstarting the application on boot.\n\n#### Granted Permissions\n\nIt allows all to check, enable and\ndisable the automatic start on boot.\n\n","permissions":["allow-enable","allow-disable","allow-is-enabled"]},"permissions":{"allow-disable":{"identifier":"allow-disable","description":"Enables the disable command without any pre-configured scope.","commands":{"allow":["disable"],"deny":[]}},"allow-enable":{"identifier":"allow-enable","description":"Enables the enable command without any pre-configured scope.","commands":{"allow":["enable"],"deny":[]}},"allow-is-enabled":{"identifier":"allow-is-enabled","description":"Enables the is_enabled command without any pre-configured scope.","commands":{"allow":["is_enabled"],"deny":[]}},"deny-disable":{"identifier":"deny-disable","description":"Denies the disable command without any pre-configured scope.","commands":{"allow":[],"deny":["disable"]}},"deny-enable":{"identifier":"deny-enable","description":"Denies the enable command without any pre-configured scope.","commands":{"allow":[],"deny":["enable"]}},"deny-is-enabled":{"identifier":"deny-is-enabled","description":"Denies the is_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["is_enabled"]}}},"permission_sets":{},"global_scope_schema":null},"clipboard-manager":{"default_permission":{"identifier":"default","description":"No features are enabled by default, as we believe\nthe clipboard can be inherently dangerous and it is \napplication specific if read and/or write access is needed.\n\nClipboard interaction needs to be explicitly enabled.\n","permissions":[]},"permissions":{"allow-clear":{"identifier":"allow-clear","description":"Enables the clear command without any pre-configured scope.","commands":{"allow":["clear"],"deny":[]}},"allow-read-image":{"identifier":"allow-read-image","description":"Enables the read_image command without any pre-configured scope.","commands":{"allow":["read_image"],"deny":[]}},"allow-read-text":{"identifier":"allow-read-text","description":"Enables the read_text command without any pre-configured scope.","commands":{"allow":["read_text"],"deny":[]}},"allow-write-html":{"identifier":"allow-write-html","description":"Enables the write_html command without any pre-configured scope.","commands":{"allow":["write_html"],"deny":[]}},"allow-write-image":{"identifier":"allow-write-image","description":"Enables the write_image command without any pre-configured scope.","commands":{"allow":["write_image"],"deny":[]}},"allow-write-text":{"identifier":"allow-write-text","description":"Enables the write_text command without any pre-configured scope.","commands":{"allow":["write_text"],"deny":[]}},"deny-clear":{"identifier":"deny-clear","description":"Denies the clear command without any pre-configured scope.","commands":{"allow":[],"deny":["clear"]}},"deny-read-image":{"identifier":"deny-read-image","description":"Denies the read_image command without any pre-configured scope.","commands":{"allow":[],"deny":["read_image"]}},"deny-read-text":{"identifier":"deny-read-text","description":"Denies the read_text command without any pre-configured scope.","commands":{"allow":[],"deny":["read_text"]}},"deny-write-html":{"identifier":"deny-write-html","description":"Denies the write_html command without any pre-configured scope.","commands":{"allow":[],"deny":["write_html"]}},"deny-write-image":{"identifier":"deny-write-image","description":"Denies the write_image command without any pre-configured scope.","commands":{"allow":[],"deny":["write_image"]}},"deny-write-text":{"identifier":"deny-write-text","description":"Denies the write_text command without any pre-configured scope.","commands":{"allow":[],"deny":["write_text"]}}},"permission_sets":{},"global_scope_schema":null},"core":{"default_permission":{"identifier":"default","description":"Default core plugins set which includes:\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'\n","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"]},"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-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-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-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-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-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-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-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-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.","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.","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.","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.","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.","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.","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-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-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-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-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-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-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},"deep-link":{"default_permission":{"identifier":"default","description":"Allows reading the opened deep link via the get_current command","permissions":["allow-get-current"]},"permissions":{"allow-get-current":{"identifier":"allow-get-current","description":"Enables the get_current command without any pre-configured scope.","commands":{"allow":["get_current"],"deny":[]}},"allow-is-registered":{"identifier":"allow-is-registered","description":"Enables the is_registered command without any pre-configured scope.","commands":{"allow":["is_registered"],"deny":[]}},"allow-register":{"identifier":"allow-register","description":"Enables the register command without any pre-configured scope.","commands":{"allow":["register"],"deny":[]}},"allow-unregister":{"identifier":"allow-unregister","description":"Enables the unregister command without any pre-configured scope.","commands":{"allow":["unregister"],"deny":[]}},"deny-get-current":{"identifier":"deny-get-current","description":"Denies the get_current command without any pre-configured scope.","commands":{"allow":[],"deny":["get_current"]}},"deny-is-registered":{"identifier":"deny-is-registered","description":"Denies the is_registered command without any pre-configured scope.","commands":{"allow":[],"deny":["is_registered"]}},"deny-register":{"identifier":"deny-register","description":"Denies the register command without any pre-configured scope.","commands":{"allow":[],"deny":["register"]}},"deny-unregister":{"identifier":"deny-unregister","description":"Denies the unregister command without any pre-configured scope.","commands":{"allow":[],"deny":["unregister"]}}},"permission_sets":{},"global_scope_schema":null},"dialog":{"default_permission":{"identifier":"default","description":"This permission set configures the types of dialogs\navailable from the dialog plugin.\n\n#### Granted Permissions\n\nAll dialog types are enabled.\n\n\n","permissions":["allow-ask","allow-confirm","allow-message","allow-save","allow-open"]},"permissions":{"allow-ask":{"identifier":"allow-ask","description":"Enables the ask command without any pre-configured scope.","commands":{"allow":["ask"],"deny":[]}},"allow-confirm":{"identifier":"allow-confirm","description":"Enables the confirm command without any pre-configured scope.","commands":{"allow":["confirm"],"deny":[]}},"allow-message":{"identifier":"allow-message","description":"Enables the message command without any pre-configured scope.","commands":{"allow":["message"],"deny":[]}},"allow-open":{"identifier":"allow-open","description":"Enables the open command without any pre-configured scope.","commands":{"allow":["open"],"deny":[]}},"allow-save":{"identifier":"allow-save","description":"Enables the save command without any pre-configured scope.","commands":{"allow":["save"],"deny":[]}},"deny-ask":{"identifier":"deny-ask","description":"Denies the ask command without any pre-configured scope.","commands":{"allow":[],"deny":["ask"]}},"deny-confirm":{"identifier":"deny-confirm","description":"Denies the confirm command without any pre-configured scope.","commands":{"allow":[],"deny":["confirm"]}},"deny-message":{"identifier":"deny-message","description":"Denies the message command without any pre-configured scope.","commands":{"allow":[],"deny":["message"]}},"deny-open":{"identifier":"deny-open","description":"Denies the open command without any pre-configured scope.","commands":{"allow":[],"deny":["open"]}},"deny-save":{"identifier":"deny-save","description":"Denies the save command without any pre-configured scope.","commands":{"allow":[],"deny":["save"]}}},"permission_sets":{},"global_scope_schema":null},"fs":{"default_permission":{"identifier":"default","description":"This set of permissions describes the what kind of\nfile system access the `fs` plugin has enabled or denied by default.\n\n#### Granted Permissions\n\nThis default permission set enables read access to the\napplication specific directories (AppConfig, AppData, AppLocalData, AppCache,\nAppLog) and all files and sub directories created in it.\nThe location of these directories depends on the operating system,\nwhere the application is run.\n\nIn general these directories need to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\nTherefore, it is also allowed to create all of these folders via\nthe `mkdir` command.\n\n#### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n#### Included permissions within this default permission set:\n","permissions":["create-app-specific-dirs","read-app-specific-dirs-recursive","deny-default"]},"permissions":{"allow-copy-file":{"identifier":"allow-copy-file","description":"Enables the copy_file command without any pre-configured scope.","commands":{"allow":["copy_file"],"deny":[]}},"allow-create":{"identifier":"allow-create","description":"Enables the create command without any pre-configured scope.","commands":{"allow":["create"],"deny":[]}},"allow-exists":{"identifier":"allow-exists","description":"Enables the exists command without any pre-configured scope.","commands":{"allow":["exists"],"deny":[]}},"allow-fstat":{"identifier":"allow-fstat","description":"Enables the fstat command without any pre-configured scope.","commands":{"allow":["fstat"],"deny":[]}},"allow-ftruncate":{"identifier":"allow-ftruncate","description":"Enables the ftruncate command without any pre-configured scope.","commands":{"allow":["ftruncate"],"deny":[]}},"allow-lstat":{"identifier":"allow-lstat","description":"Enables the lstat command without any pre-configured scope.","commands":{"allow":["lstat"],"deny":[]}},"allow-mkdir":{"identifier":"allow-mkdir","description":"Enables the mkdir command without any pre-configured scope.","commands":{"allow":["mkdir"],"deny":[]}},"allow-open":{"identifier":"allow-open","description":"Enables the open command without any pre-configured scope.","commands":{"allow":["open"],"deny":[]}},"allow-read":{"identifier":"allow-read","description":"Enables the read command without any pre-configured scope.","commands":{"allow":["read"],"deny":[]}},"allow-read-dir":{"identifier":"allow-read-dir","description":"Enables the read_dir command without any pre-configured scope.","commands":{"allow":["read_dir"],"deny":[]}},"allow-read-file":{"identifier":"allow-read-file","description":"Enables the read_file command without any pre-configured scope.","commands":{"allow":["read_file"],"deny":[]}},"allow-read-text-file":{"identifier":"allow-read-text-file","description":"Enables the read_text_file command without any pre-configured scope.","commands":{"allow":["read_text_file"],"deny":[]}},"allow-read-text-file-lines":{"identifier":"allow-read-text-file-lines","description":"Enables the read_text_file_lines command without any pre-configured scope.","commands":{"allow":["read_text_file_lines","read_text_file_lines_next"],"deny":[]}},"allow-read-text-file-lines-next":{"identifier":"allow-read-text-file-lines-next","description":"Enables the read_text_file_lines_next command without any pre-configured scope.","commands":{"allow":["read_text_file_lines_next"],"deny":[]}},"allow-remove":{"identifier":"allow-remove","description":"Enables the remove command without any pre-configured scope.","commands":{"allow":["remove"],"deny":[]}},"allow-rename":{"identifier":"allow-rename","description":"Enables the rename command without any pre-configured scope.","commands":{"allow":["rename"],"deny":[]}},"allow-seek":{"identifier":"allow-seek","description":"Enables the seek command without any pre-configured scope.","commands":{"allow":["seek"],"deny":[]}},"allow-size":{"identifier":"allow-size","description":"Enables the size command without any pre-configured scope.","commands":{"allow":["size"],"deny":[]}},"allow-stat":{"identifier":"allow-stat","description":"Enables the stat command without any pre-configured scope.","commands":{"allow":["stat"],"deny":[]}},"allow-truncate":{"identifier":"allow-truncate","description":"Enables the truncate command without any pre-configured scope.","commands":{"allow":["truncate"],"deny":[]}},"allow-unwatch":{"identifier":"allow-unwatch","description":"Enables the unwatch command without any pre-configured scope.","commands":{"allow":["unwatch"],"deny":[]}},"allow-watch":{"identifier":"allow-watch","description":"Enables the watch command without any pre-configured scope.","commands":{"allow":["watch"],"deny":[]}},"allow-write":{"identifier":"allow-write","description":"Enables the write command without any pre-configured scope.","commands":{"allow":["write"],"deny":[]}},"allow-write-file":{"identifier":"allow-write-file","description":"Enables the write_file command without any pre-configured scope.","commands":{"allow":["write_file","open","write"],"deny":[]}},"allow-write-text-file":{"identifier":"allow-write-text-file","description":"Enables the write_text_file command without any pre-configured scope.","commands":{"allow":["write_text_file"],"deny":[]}},"create-app-specific-dirs":{"identifier":"create-app-specific-dirs","description":"This permissions allows to create the application specific directories.\n","commands":{"allow":["mkdir","scope-app-index"],"deny":[]}},"deny-copy-file":{"identifier":"deny-copy-file","description":"Denies the copy_file command without any pre-configured scope.","commands":{"allow":[],"deny":["copy_file"]}},"deny-create":{"identifier":"deny-create","description":"Denies the create command without any pre-configured scope.","commands":{"allow":[],"deny":["create"]}},"deny-exists":{"identifier":"deny-exists","description":"Denies the exists command without any pre-configured scope.","commands":{"allow":[],"deny":["exists"]}},"deny-fstat":{"identifier":"deny-fstat","description":"Denies the fstat command without any pre-configured scope.","commands":{"allow":[],"deny":["fstat"]}},"deny-ftruncate":{"identifier":"deny-ftruncate","description":"Denies the ftruncate command without any pre-configured scope.","commands":{"allow":[],"deny":["ftruncate"]}},"deny-lstat":{"identifier":"deny-lstat","description":"Denies the lstat command without any pre-configured scope.","commands":{"allow":[],"deny":["lstat"]}},"deny-mkdir":{"identifier":"deny-mkdir","description":"Denies the mkdir command without any pre-configured scope.","commands":{"allow":[],"deny":["mkdir"]}},"deny-open":{"identifier":"deny-open","description":"Denies the open command without any pre-configured scope.","commands":{"allow":[],"deny":["open"]}},"deny-read":{"identifier":"deny-read","description":"Denies the read command without any pre-configured scope.","commands":{"allow":[],"deny":["read"]}},"deny-read-dir":{"identifier":"deny-read-dir","description":"Denies the read_dir command without any pre-configured scope.","commands":{"allow":[],"deny":["read_dir"]}},"deny-read-file":{"identifier":"deny-read-file","description":"Denies the read_file command without any pre-configured scope.","commands":{"allow":[],"deny":["read_file"]}},"deny-read-text-file":{"identifier":"deny-read-text-file","description":"Denies the read_text_file command without any pre-configured scope.","commands":{"allow":[],"deny":["read_text_file"]}},"deny-read-text-file-lines":{"identifier":"deny-read-text-file-lines","description":"Denies the read_text_file_lines command without any pre-configured scope.","commands":{"allow":[],"deny":["read_text_file_lines"]}},"deny-read-text-file-lines-next":{"identifier":"deny-read-text-file-lines-next","description":"Denies the read_text_file_lines_next command without any pre-configured scope.","commands":{"allow":[],"deny":["read_text_file_lines_next"]}},"deny-remove":{"identifier":"deny-remove","description":"Denies the remove command without any pre-configured scope.","commands":{"allow":[],"deny":["remove"]}},"deny-rename":{"identifier":"deny-rename","description":"Denies the rename command without any pre-configured scope.","commands":{"allow":[],"deny":["rename"]}},"deny-seek":{"identifier":"deny-seek","description":"Denies the seek command without any pre-configured scope.","commands":{"allow":[],"deny":["seek"]}},"deny-size":{"identifier":"deny-size","description":"Denies the size command without any pre-configured scope.","commands":{"allow":[],"deny":["size"]}},"deny-stat":{"identifier":"deny-stat","description":"Denies the stat command without any pre-configured scope.","commands":{"allow":[],"deny":["stat"]}},"deny-truncate":{"identifier":"deny-truncate","description":"Denies the truncate command without any pre-configured scope.","commands":{"allow":[],"deny":["truncate"]}},"deny-unwatch":{"identifier":"deny-unwatch","description":"Denies the unwatch command without any pre-configured scope.","commands":{"allow":[],"deny":["unwatch"]}},"deny-watch":{"identifier":"deny-watch","description":"Denies the watch command without any pre-configured scope.","commands":{"allow":[],"deny":["watch"]}},"deny-webview-data-linux":{"identifier":"deny-webview-data-linux","description":"This denies read access to the\n`$APPLOCALDATA` folder on linux as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.","commands":{"allow":[],"deny":[]}},"deny-webview-data-windows":{"identifier":"deny-webview-data-windows","description":"This denies read access to the\n`$APPLOCALDATA/EBWebView` folder on windows as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.","commands":{"allow":[],"deny":[]}},"deny-write":{"identifier":"deny-write","description":"Denies the write command without any pre-configured scope.","commands":{"allow":[],"deny":["write"]}},"deny-write-file":{"identifier":"deny-write-file","description":"Denies the write_file command without any pre-configured scope.","commands":{"allow":[],"deny":["write_file"]}},"deny-write-text-file":{"identifier":"deny-write-text-file","description":"Denies the write_text_file command without any pre-configured scope.","commands":{"allow":[],"deny":["write_text_file"]}},"read-all":{"identifier":"read-all","description":"This enables all read related commands without any pre-configured accessible paths.","commands":{"allow":["read_dir","read_file","read","open","read_text_file","read_text_file_lines","read_text_file_lines_next","seek","stat","lstat","fstat","exists","watch","unwatch"],"deny":[]}},"read-app-specific-dirs-recursive":{"identifier":"read-app-specific-dirs-recursive","description":"This permission allows recursive read functionality on the application\nspecific base directories. \n","commands":{"allow":["read_dir","read_file","read_text_file","read_text_file_lines","read_text_file_lines_next","exists","scope-app-recursive"],"deny":[]}},"read-dirs":{"identifier":"read-dirs","description":"This enables directory read and file metadata related commands without any pre-configured accessible paths.","commands":{"allow":["read_dir","stat","lstat","fstat","exists"],"deny":[]}},"read-files":{"identifier":"read-files","description":"This enables file read related commands without any pre-configured accessible paths.","commands":{"allow":["read_file","read","open","read_text_file","read_text_file_lines","read_text_file_lines_next","seek","stat","lstat","fstat","exists"],"deny":[]}},"read-meta":{"identifier":"read-meta","description":"This enables all index or metadata related commands without any pre-configured accessible paths.","commands":{"allow":["read_dir","stat","lstat","fstat","exists","size"],"deny":[]}},"scope":{"identifier":"scope","description":"An empty permission you can use to modify the global scope.","commands":{"allow":[],"deny":[]}},"scope-app":{"identifier":"scope-app","description":"This scope permits access to all files and list content of top level directories in the application folders.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG"},{"path":"$APPCONFIG/*"},{"path":"$APPDATA"},{"path":"$APPDATA/*"},{"path":"$APPLOCALDATA"},{"path":"$APPLOCALDATA/*"},{"path":"$APPCACHE"},{"path":"$APPCACHE/*"},{"path":"$APPLOG"},{"path":"$APPLOG/*"}]}},"scope-app-index":{"identifier":"scope-app-index","description":"This scope permits to list all files and folders in the application directories.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG"},{"path":"$APPDATA"},{"path":"$APPLOCALDATA"},{"path":"$APPCACHE"},{"path":"$APPLOG"}]}},"scope-app-recursive":{"identifier":"scope-app-recursive","description":"This scope permits recursive access to the complete application folders, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG"},{"path":"$APPCONFIG/**"},{"path":"$APPDATA"},{"path":"$APPDATA/**"},{"path":"$APPLOCALDATA"},{"path":"$APPLOCALDATA/**"},{"path":"$APPCACHE"},{"path":"$APPCACHE/**"},{"path":"$APPLOG"},{"path":"$APPLOG/**"}]}},"scope-appcache":{"identifier":"scope-appcache","description":"This scope permits access to all files and list content of top level directories in the `$APPCACHE` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCACHE"},{"path":"$APPCACHE/*"}]}},"scope-appcache-index":{"identifier":"scope-appcache-index","description":"This scope permits to list all files and folders in the `$APPCACHE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCACHE"}]}},"scope-appcache-recursive":{"identifier":"scope-appcache-recursive","description":"This scope permits recursive access to the complete `$APPCACHE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCACHE"},{"path":"$APPCACHE/**"}]}},"scope-appconfig":{"identifier":"scope-appconfig","description":"This scope permits access to all files and list content of top level directories in the `$APPCONFIG` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG"},{"path":"$APPCONFIG/*"}]}},"scope-appconfig-index":{"identifier":"scope-appconfig-index","description":"This scope permits to list all files and folders in the `$APPCONFIG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG"}]}},"scope-appconfig-recursive":{"identifier":"scope-appconfig-recursive","description":"This scope permits recursive access to the complete `$APPCONFIG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG"},{"path":"$APPCONFIG/**"}]}},"scope-appdata":{"identifier":"scope-appdata","description":"This scope permits access to all files and list content of top level directories in the `$APPDATA` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPDATA"},{"path":"$APPDATA/*"}]}},"scope-appdata-index":{"identifier":"scope-appdata-index","description":"This scope permits to list all files and folders in the `$APPDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPDATA"}]}},"scope-appdata-recursive":{"identifier":"scope-appdata-recursive","description":"This scope permits recursive access to the complete `$APPDATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPDATA"},{"path":"$APPDATA/**"}]}},"scope-applocaldata":{"identifier":"scope-applocaldata","description":"This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOCALDATA"},{"path":"$APPLOCALDATA/*"}]}},"scope-applocaldata-index":{"identifier":"scope-applocaldata-index","description":"This scope permits to list all files and folders in the `$APPLOCALDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOCALDATA"}]}},"scope-applocaldata-recursive":{"identifier":"scope-applocaldata-recursive","description":"This scope permits recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOCALDATA"},{"path":"$APPLOCALDATA/**"}]}},"scope-applog":{"identifier":"scope-applog","description":"This scope permits access to all files and list content of top level directories in the `$APPLOG` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOG"},{"path":"$APPLOG/*"}]}},"scope-applog-index":{"identifier":"scope-applog-index","description":"This scope permits to list all files and folders in the `$APPLOG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOG"}]}},"scope-applog-recursive":{"identifier":"scope-applog-recursive","description":"This scope permits recursive access to the complete `$APPLOG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOG"},{"path":"$APPLOG/**"}]}},"scope-audio":{"identifier":"scope-audio","description":"This scope permits access to all files and list content of top level directories in the `$AUDIO` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$AUDIO"},{"path":"$AUDIO/*"}]}},"scope-audio-index":{"identifier":"scope-audio-index","description":"This scope permits to list all files and folders in the `$AUDIO`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$AUDIO"}]}},"scope-audio-recursive":{"identifier":"scope-audio-recursive","description":"This scope permits recursive access to the complete `$AUDIO` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$AUDIO"},{"path":"$AUDIO/**"}]}},"scope-cache":{"identifier":"scope-cache","description":"This scope permits access to all files and list content of top level directories in the `$CACHE` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CACHE"},{"path":"$CACHE/*"}]}},"scope-cache-index":{"identifier":"scope-cache-index","description":"This scope permits to list all files and folders in the `$CACHE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CACHE"}]}},"scope-cache-recursive":{"identifier":"scope-cache-recursive","description":"This scope permits recursive access to the complete `$CACHE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CACHE"},{"path":"$CACHE/**"}]}},"scope-config":{"identifier":"scope-config","description":"This scope permits access to all files and list content of top level directories in the `$CONFIG` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CONFIG"},{"path":"$CONFIG/*"}]}},"scope-config-index":{"identifier":"scope-config-index","description":"This scope permits to list all files and folders in the `$CONFIG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CONFIG"}]}},"scope-config-recursive":{"identifier":"scope-config-recursive","description":"This scope permits recursive access to the complete `$CONFIG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CONFIG"},{"path":"$CONFIG/**"}]}},"scope-data":{"identifier":"scope-data","description":"This scope permits access to all files and list content of top level directories in the `$DATA` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DATA"},{"path":"$DATA/*"}]}},"scope-data-index":{"identifier":"scope-data-index","description":"This scope permits to list all files and folders in the `$DATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DATA"}]}},"scope-data-recursive":{"identifier":"scope-data-recursive","description":"This scope permits recursive access to the complete `$DATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DATA"},{"path":"$DATA/**"}]}},"scope-desktop":{"identifier":"scope-desktop","description":"This scope permits access to all files and list content of top level directories in the `$DESKTOP` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DESKTOP"},{"path":"$DESKTOP/*"}]}},"scope-desktop-index":{"identifier":"scope-desktop-index","description":"This scope permits to list all files and folders in the `$DESKTOP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DESKTOP"}]}},"scope-desktop-recursive":{"identifier":"scope-desktop-recursive","description":"This scope permits recursive access to the complete `$DESKTOP` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DESKTOP"},{"path":"$DESKTOP/**"}]}},"scope-document":{"identifier":"scope-document","description":"This scope permits access to all files and list content of top level directories in the `$DOCUMENT` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOCUMENT"},{"path":"$DOCUMENT/*"}]}},"scope-document-index":{"identifier":"scope-document-index","description":"This scope permits to list all files and folders in the `$DOCUMENT`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOCUMENT"}]}},"scope-document-recursive":{"identifier":"scope-document-recursive","description":"This scope permits recursive access to the complete `$DOCUMENT` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOCUMENT"},{"path":"$DOCUMENT/**"}]}},"scope-download":{"identifier":"scope-download","description":"This scope permits access to all files and list content of top level directories in the `$DOWNLOAD` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOWNLOAD"},{"path":"$DOWNLOAD/*"}]}},"scope-download-index":{"identifier":"scope-download-index","description":"This scope permits to list all files and folders in the `$DOWNLOAD`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOWNLOAD"}]}},"scope-download-recursive":{"identifier":"scope-download-recursive","description":"This scope permits recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOWNLOAD"},{"path":"$DOWNLOAD/**"}]}},"scope-exe":{"identifier":"scope-exe","description":"This scope permits access to all files and list content of top level directories in the `$EXE` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$EXE"},{"path":"$EXE/*"}]}},"scope-exe-index":{"identifier":"scope-exe-index","description":"This scope permits to list all files and folders in the `$EXE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$EXE"}]}},"scope-exe-recursive":{"identifier":"scope-exe-recursive","description":"This scope permits recursive access to the complete `$EXE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$EXE"},{"path":"$EXE/**"}]}},"scope-font":{"identifier":"scope-font","description":"This scope permits access to all files and list content of top level directories in the `$FONT` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$FONT"},{"path":"$FONT/*"}]}},"scope-font-index":{"identifier":"scope-font-index","description":"This scope permits to list all files and folders in the `$FONT`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$FONT"}]}},"scope-font-recursive":{"identifier":"scope-font-recursive","description":"This scope permits recursive access to the complete `$FONT` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$FONT"},{"path":"$FONT/**"}]}},"scope-home":{"identifier":"scope-home","description":"This scope permits access to all files and list content of top level directories in the `$HOME` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$HOME"},{"path":"$HOME/*"}]}},"scope-home-index":{"identifier":"scope-home-index","description":"This scope permits to list all files and folders in the `$HOME`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$HOME"}]}},"scope-home-recursive":{"identifier":"scope-home-recursive","description":"This scope permits recursive access to the complete `$HOME` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$HOME"},{"path":"$HOME/**"}]}},"scope-localdata":{"identifier":"scope-localdata","description":"This scope permits access to all files and list content of top level directories in the `$LOCALDATA` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOCALDATA"},{"path":"$LOCALDATA/*"}]}},"scope-localdata-index":{"identifier":"scope-localdata-index","description":"This scope permits to list all files and folders in the `$LOCALDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOCALDATA"}]}},"scope-localdata-recursive":{"identifier":"scope-localdata-recursive","description":"This scope permits recursive access to the complete `$LOCALDATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOCALDATA"},{"path":"$LOCALDATA/**"}]}},"scope-log":{"identifier":"scope-log","description":"This scope permits access to all files and list content of top level directories in the `$LOG` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOG"},{"path":"$LOG/*"}]}},"scope-log-index":{"identifier":"scope-log-index","description":"This scope permits to list all files and folders in the `$LOG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOG"}]}},"scope-log-recursive":{"identifier":"scope-log-recursive","description":"This scope permits recursive access to the complete `$LOG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOG"},{"path":"$LOG/**"}]}},"scope-picture":{"identifier":"scope-picture","description":"This scope permits access to all files and list content of top level directories in the `$PICTURE` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PICTURE"},{"path":"$PICTURE/*"}]}},"scope-picture-index":{"identifier":"scope-picture-index","description":"This scope permits to list all files and folders in the `$PICTURE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PICTURE"}]}},"scope-picture-recursive":{"identifier":"scope-picture-recursive","description":"This scope permits recursive access to the complete `$PICTURE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PICTURE"},{"path":"$PICTURE/**"}]}},"scope-public":{"identifier":"scope-public","description":"This scope permits access to all files and list content of top level directories in the `$PUBLIC` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PUBLIC"},{"path":"$PUBLIC/*"}]}},"scope-public-index":{"identifier":"scope-public-index","description":"This scope permits to list all files and folders in the `$PUBLIC`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PUBLIC"}]}},"scope-public-recursive":{"identifier":"scope-public-recursive","description":"This scope permits recursive access to the complete `$PUBLIC` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PUBLIC"},{"path":"$PUBLIC/**"}]}},"scope-resource":{"identifier":"scope-resource","description":"This scope permits access to all files and list content of top level directories in the `$RESOURCE` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RESOURCE"},{"path":"$RESOURCE/*"}]}},"scope-resource-index":{"identifier":"scope-resource-index","description":"This scope permits to list all files and folders in the `$RESOURCE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RESOURCE"}]}},"scope-resource-recursive":{"identifier":"scope-resource-recursive","description":"This scope permits recursive access to the complete `$RESOURCE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RESOURCE"},{"path":"$RESOURCE/**"}]}},"scope-runtime":{"identifier":"scope-runtime","description":"This scope permits access to all files and list content of top level directories in the `$RUNTIME` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RUNTIME"},{"path":"$RUNTIME/*"}]}},"scope-runtime-index":{"identifier":"scope-runtime-index","description":"This scope permits to list all files and folders in the `$RUNTIME`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RUNTIME"}]}},"scope-runtime-recursive":{"identifier":"scope-runtime-recursive","description":"This scope permits recursive access to the complete `$RUNTIME` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RUNTIME"},{"path":"$RUNTIME/**"}]}},"scope-temp":{"identifier":"scope-temp","description":"This scope permits access to all files and list content of top level directories in the `$TEMP` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMP"},{"path":"$TEMP/*"}]}},"scope-temp-index":{"identifier":"scope-temp-index","description":"This scope permits to list all files and folders in the `$TEMP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMP"}]}},"scope-temp-recursive":{"identifier":"scope-temp-recursive","description":"This scope permits recursive access to the complete `$TEMP` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMP"},{"path":"$TEMP/**"}]}},"scope-template":{"identifier":"scope-template","description":"This scope permits access to all files and list content of top level directories in the `$TEMPLATE` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMPLATE"},{"path":"$TEMPLATE/*"}]}},"scope-template-index":{"identifier":"scope-template-index","description":"This scope permits to list all files and folders in the `$TEMPLATE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMPLATE"}]}},"scope-template-recursive":{"identifier":"scope-template-recursive","description":"This scope permits recursive access to the complete `$TEMPLATE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMPLATE"},{"path":"$TEMPLATE/**"}]}},"scope-video":{"identifier":"scope-video","description":"This scope permits access to all files and list content of top level directories in the `$VIDEO` folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$VIDEO"},{"path":"$VIDEO/*"}]}},"scope-video-index":{"identifier":"scope-video-index","description":"This scope permits to list all files and folders in the `$VIDEO`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$VIDEO"}]}},"scope-video-recursive":{"identifier":"scope-video-recursive","description":"This scope permits recursive access to the complete `$VIDEO` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$VIDEO"},{"path":"$VIDEO/**"}]}},"write-all":{"identifier":"write-all","description":"This enables all write related commands without any pre-configured accessible paths.","commands":{"allow":["mkdir","create","copy_file","remove","rename","truncate","ftruncate","write","write_file","write_text_file"],"deny":[]}},"write-files":{"identifier":"write-files","description":"This enables all file write related commands without any pre-configured accessible paths.","commands":{"allow":["create","copy_file","remove","rename","truncate","ftruncate","write","write_file","write_text_file"],"deny":[]}}},"permission_sets":{"allow-app-meta":{"identifier":"allow-app-meta","description":"This allows non-recursive read access to metadata of the application folders, including file listing and statistics.","permissions":["read-meta","scope-app-index"]},"allow-app-meta-recursive":{"identifier":"allow-app-meta-recursive","description":"This allows full recursive read access to metadata of the application folders, including file listing and statistics.","permissions":["read-meta","scope-app-recursive"]},"allow-app-read":{"identifier":"allow-app-read","description":"This allows non-recursive read access to the application folders.","permissions":["read-all","scope-app"]},"allow-app-read-recursive":{"identifier":"allow-app-read-recursive","description":"This allows full recursive read access to the complete application folders, files and subdirectories.","permissions":["read-all","scope-app-recursive"]},"allow-app-write":{"identifier":"allow-app-write","description":"This allows non-recursive write access to the application folders.","permissions":["write-all","scope-app"]},"allow-app-write-recursive":{"identifier":"allow-app-write-recursive","description":"This allows full recursive write access to the complete application folders, files and subdirectories.","permissions":["write-all","scope-app-recursive"]},"allow-appcache-meta":{"identifier":"allow-appcache-meta","description":"This allows non-recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-appcache-index"]},"allow-appcache-meta-recursive":{"identifier":"allow-appcache-meta-recursive","description":"This allows full recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-appcache-recursive"]},"allow-appcache-read":{"identifier":"allow-appcache-read","description":"This allows non-recursive read access to the `$APPCACHE` folder.","permissions":["read-all","scope-appcache"]},"allow-appcache-read-recursive":{"identifier":"allow-appcache-read-recursive","description":"This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.","permissions":["read-all","scope-appcache-recursive"]},"allow-appcache-write":{"identifier":"allow-appcache-write","description":"This allows non-recursive write access to the `$APPCACHE` folder.","permissions":["write-all","scope-appcache"]},"allow-appcache-write-recursive":{"identifier":"allow-appcache-write-recursive","description":"This allows full recursive write access to the complete `$APPCACHE` folder, files and subdirectories.","permissions":["write-all","scope-appcache-recursive"]},"allow-appconfig-meta":{"identifier":"allow-appconfig-meta","description":"This allows non-recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-appconfig-index"]},"allow-appconfig-meta-recursive":{"identifier":"allow-appconfig-meta-recursive","description":"This allows full recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-appconfig-recursive"]},"allow-appconfig-read":{"identifier":"allow-appconfig-read","description":"This allows non-recursive read access to the `$APPCONFIG` folder.","permissions":["read-all","scope-appconfig"]},"allow-appconfig-read-recursive":{"identifier":"allow-appconfig-read-recursive","description":"This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.","permissions":["read-all","scope-appconfig-recursive"]},"allow-appconfig-write":{"identifier":"allow-appconfig-write","description":"This allows non-recursive write access to the `$APPCONFIG` folder.","permissions":["write-all","scope-appconfig"]},"allow-appconfig-write-recursive":{"identifier":"allow-appconfig-write-recursive","description":"This allows full recursive write access to the complete `$APPCONFIG` folder, files and subdirectories.","permissions":["write-all","scope-appconfig-recursive"]},"allow-appdata-meta":{"identifier":"allow-appdata-meta","description":"This allows non-recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-appdata-index"]},"allow-appdata-meta-recursive":{"identifier":"allow-appdata-meta-recursive","description":"This allows full recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-appdata-recursive"]},"allow-appdata-read":{"identifier":"allow-appdata-read","description":"This allows non-recursive read access to the `$APPDATA` folder.","permissions":["read-all","scope-appdata"]},"allow-appdata-read-recursive":{"identifier":"allow-appdata-read-recursive","description":"This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.","permissions":["read-all","scope-appdata-recursive"]},"allow-appdata-write":{"identifier":"allow-appdata-write","description":"This allows non-recursive write access to the `$APPDATA` folder.","permissions":["write-all","scope-appdata"]},"allow-appdata-write-recursive":{"identifier":"allow-appdata-write-recursive","description":"This allows full recursive write access to the complete `$APPDATA` folder, files and subdirectories.","permissions":["write-all","scope-appdata-recursive"]},"allow-applocaldata-meta":{"identifier":"allow-applocaldata-meta","description":"This allows non-recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-applocaldata-index"]},"allow-applocaldata-meta-recursive":{"identifier":"allow-applocaldata-meta-recursive","description":"This allows full recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-applocaldata-recursive"]},"allow-applocaldata-read":{"identifier":"allow-applocaldata-read","description":"This allows non-recursive read access to the `$APPLOCALDATA` folder.","permissions":["read-all","scope-applocaldata"]},"allow-applocaldata-read-recursive":{"identifier":"allow-applocaldata-read-recursive","description":"This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.","permissions":["read-all","scope-applocaldata-recursive"]},"allow-applocaldata-write":{"identifier":"allow-applocaldata-write","description":"This allows non-recursive write access to the `$APPLOCALDATA` folder.","permissions":["write-all","scope-applocaldata"]},"allow-applocaldata-write-recursive":{"identifier":"allow-applocaldata-write-recursive","description":"This allows full recursive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.","permissions":["write-all","scope-applocaldata-recursive"]},"allow-applog-meta":{"identifier":"allow-applog-meta","description":"This allows non-recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.","permissions":["read-meta","scope-applog-index"]},"allow-applog-meta-recursive":{"identifier":"allow-applog-meta-recursive","description":"This allows full recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.","permissions":["read-meta","scope-applog-recursive"]},"allow-applog-read":{"identifier":"allow-applog-read","description":"This allows non-recursive read access to the `$APPLOG` folder.","permissions":["read-all","scope-applog"]},"allow-applog-read-recursive":{"identifier":"allow-applog-read-recursive","description":"This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.","permissions":["read-all","scope-applog-recursive"]},"allow-applog-write":{"identifier":"allow-applog-write","description":"This allows non-recursive write access to the `$APPLOG` folder.","permissions":["write-all","scope-applog"]},"allow-applog-write-recursive":{"identifier":"allow-applog-write-recursive","description":"This allows full recursive write access to the complete `$APPLOG` folder, files and subdirectories.","permissions":["write-all","scope-applog-recursive"]},"allow-audio-meta":{"identifier":"allow-audio-meta","description":"This allows non-recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.","permissions":["read-meta","scope-audio-index"]},"allow-audio-meta-recursive":{"identifier":"allow-audio-meta-recursive","description":"This allows full recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.","permissions":["read-meta","scope-audio-recursive"]},"allow-audio-read":{"identifier":"allow-audio-read","description":"This allows non-recursive read access to the `$AUDIO` folder.","permissions":["read-all","scope-audio"]},"allow-audio-read-recursive":{"identifier":"allow-audio-read-recursive","description":"This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.","permissions":["read-all","scope-audio-recursive"]},"allow-audio-write":{"identifier":"allow-audio-write","description":"This allows non-recursive write access to the `$AUDIO` folder.","permissions":["write-all","scope-audio"]},"allow-audio-write-recursive":{"identifier":"allow-audio-write-recursive","description":"This allows full recursive write access to the complete `$AUDIO` folder, files and subdirectories.","permissions":["write-all","scope-audio-recursive"]},"allow-cache-meta":{"identifier":"allow-cache-meta","description":"This allows non-recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-cache-index"]},"allow-cache-meta-recursive":{"identifier":"allow-cache-meta-recursive","description":"This allows full recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-cache-recursive"]},"allow-cache-read":{"identifier":"allow-cache-read","description":"This allows non-recursive read access to the `$CACHE` folder.","permissions":["read-all","scope-cache"]},"allow-cache-read-recursive":{"identifier":"allow-cache-read-recursive","description":"This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.","permissions":["read-all","scope-cache-recursive"]},"allow-cache-write":{"identifier":"allow-cache-write","description":"This allows non-recursive write access to the `$CACHE` folder.","permissions":["write-all","scope-cache"]},"allow-cache-write-recursive":{"identifier":"allow-cache-write-recursive","description":"This allows full recursive write access to the complete `$CACHE` folder, files and subdirectories.","permissions":["write-all","scope-cache-recursive"]},"allow-config-meta":{"identifier":"allow-config-meta","description":"This allows non-recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-config-index"]},"allow-config-meta-recursive":{"identifier":"allow-config-meta-recursive","description":"This allows full recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-config-recursive"]},"allow-config-read":{"identifier":"allow-config-read","description":"This allows non-recursive read access to the `$CONFIG` folder.","permissions":["read-all","scope-config"]},"allow-config-read-recursive":{"identifier":"allow-config-read-recursive","description":"This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.","permissions":["read-all","scope-config-recursive"]},"allow-config-write":{"identifier":"allow-config-write","description":"This allows non-recursive write access to the `$CONFIG` folder.","permissions":["write-all","scope-config"]},"allow-config-write-recursive":{"identifier":"allow-config-write-recursive","description":"This allows full recursive write access to the complete `$CONFIG` folder, files and subdirectories.","permissions":["write-all","scope-config-recursive"]},"allow-data-meta":{"identifier":"allow-data-meta","description":"This allows non-recursive read access to metadata of the `$DATA` folder, including file listing and statistics.","permissions":["read-meta","scope-data-index"]},"allow-data-meta-recursive":{"identifier":"allow-data-meta-recursive","description":"This allows full recursive read access to metadata of the `$DATA` folder, including file listing and statistics.","permissions":["read-meta","scope-data-recursive"]},"allow-data-read":{"identifier":"allow-data-read","description":"This allows non-recursive read access to the `$DATA` folder.","permissions":["read-all","scope-data"]},"allow-data-read-recursive":{"identifier":"allow-data-read-recursive","description":"This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.","permissions":["read-all","scope-data-recursive"]},"allow-data-write":{"identifier":"allow-data-write","description":"This allows non-recursive write access to the `$DATA` folder.","permissions":["write-all","scope-data"]},"allow-data-write-recursive":{"identifier":"allow-data-write-recursive","description":"This allows full recursive write access to the complete `$DATA` folder, files and subdirectories.","permissions":["write-all","scope-data-recursive"]},"allow-desktop-meta":{"identifier":"allow-desktop-meta","description":"This allows non-recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.","permissions":["read-meta","scope-desktop-index"]},"allow-desktop-meta-recursive":{"identifier":"allow-desktop-meta-recursive","description":"This allows full recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.","permissions":["read-meta","scope-desktop-recursive"]},"allow-desktop-read":{"identifier":"allow-desktop-read","description":"This allows non-recursive read access to the `$DESKTOP` folder.","permissions":["read-all","scope-desktop"]},"allow-desktop-read-recursive":{"identifier":"allow-desktop-read-recursive","description":"This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.","permissions":["read-all","scope-desktop-recursive"]},"allow-desktop-write":{"identifier":"allow-desktop-write","description":"This allows non-recursive write access to the `$DESKTOP` folder.","permissions":["write-all","scope-desktop"]},"allow-desktop-write-recursive":{"identifier":"allow-desktop-write-recursive","description":"This allows full recursive write access to the complete `$DESKTOP` folder, files and subdirectories.","permissions":["write-all","scope-desktop-recursive"]},"allow-document-meta":{"identifier":"allow-document-meta","description":"This allows non-recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.","permissions":["read-meta","scope-document-index"]},"allow-document-meta-recursive":{"identifier":"allow-document-meta-recursive","description":"This allows full recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.","permissions":["read-meta","scope-document-recursive"]},"allow-document-read":{"identifier":"allow-document-read","description":"This allows non-recursive read access to the `$DOCUMENT` folder.","permissions":["read-all","scope-document"]},"allow-document-read-recursive":{"identifier":"allow-document-read-recursive","description":"This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.","permissions":["read-all","scope-document-recursive"]},"allow-document-write":{"identifier":"allow-document-write","description":"This allows non-recursive write access to the `$DOCUMENT` folder.","permissions":["write-all","scope-document"]},"allow-document-write-recursive":{"identifier":"allow-document-write-recursive","description":"This allows full recursive write access to the complete `$DOCUMENT` folder, files and subdirectories.","permissions":["write-all","scope-document-recursive"]},"allow-download-meta":{"identifier":"allow-download-meta","description":"This allows non-recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.","permissions":["read-meta","scope-download-index"]},"allow-download-meta-recursive":{"identifier":"allow-download-meta-recursive","description":"This allows full recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.","permissions":["read-meta","scope-download-recursive"]},"allow-download-read":{"identifier":"allow-download-read","description":"This allows non-recursive read access to the `$DOWNLOAD` folder.","permissions":["read-all","scope-download"]},"allow-download-read-recursive":{"identifier":"allow-download-read-recursive","description":"This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.","permissions":["read-all","scope-download-recursive"]},"allow-download-write":{"identifier":"allow-download-write","description":"This allows non-recursive write access to the `$DOWNLOAD` folder.","permissions":["write-all","scope-download"]},"allow-download-write-recursive":{"identifier":"allow-download-write-recursive","description":"This allows full recursive write access to the complete `$DOWNLOAD` folder, files and subdirectories.","permissions":["write-all","scope-download-recursive"]},"allow-exe-meta":{"identifier":"allow-exe-meta","description":"This allows non-recursive read access to metadata of the `$EXE` folder, including file listing and statistics.","permissions":["read-meta","scope-exe-index"]},"allow-exe-meta-recursive":{"identifier":"allow-exe-meta-recursive","description":"This allows full recursive read access to metadata of the `$EXE` folder, including file listing and statistics.","permissions":["read-meta","scope-exe-recursive"]},"allow-exe-read":{"identifier":"allow-exe-read","description":"This allows non-recursive read access to the `$EXE` folder.","permissions":["read-all","scope-exe"]},"allow-exe-read-recursive":{"identifier":"allow-exe-read-recursive","description":"This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.","permissions":["read-all","scope-exe-recursive"]},"allow-exe-write":{"identifier":"allow-exe-write","description":"This allows non-recursive write access to the `$EXE` folder.","permissions":["write-all","scope-exe"]},"allow-exe-write-recursive":{"identifier":"allow-exe-write-recursive","description":"This allows full recursive write access to the complete `$EXE` folder, files and subdirectories.","permissions":["write-all","scope-exe-recursive"]},"allow-font-meta":{"identifier":"allow-font-meta","description":"This allows non-recursive read access to metadata of the `$FONT` folder, including file listing and statistics.","permissions":["read-meta","scope-font-index"]},"allow-font-meta-recursive":{"identifier":"allow-font-meta-recursive","description":"This allows full recursive read access to metadata of the `$FONT` folder, including file listing and statistics.","permissions":["read-meta","scope-font-recursive"]},"allow-font-read":{"identifier":"allow-font-read","description":"This allows non-recursive read access to the `$FONT` folder.","permissions":["read-all","scope-font"]},"allow-font-read-recursive":{"identifier":"allow-font-read-recursive","description":"This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.","permissions":["read-all","scope-font-recursive"]},"allow-font-write":{"identifier":"allow-font-write","description":"This allows non-recursive write access to the `$FONT` folder.","permissions":["write-all","scope-font"]},"allow-font-write-recursive":{"identifier":"allow-font-write-recursive","description":"This allows full recursive write access to the complete `$FONT` folder, files and subdirectories.","permissions":["write-all","scope-font-recursive"]},"allow-home-meta":{"identifier":"allow-home-meta","description":"This allows non-recursive read access to metadata of the `$HOME` folder, including file listing and statistics.","permissions":["read-meta","scope-home-index"]},"allow-home-meta-recursive":{"identifier":"allow-home-meta-recursive","description":"This allows full recursive read access to metadata of the `$HOME` folder, including file listing and statistics.","permissions":["read-meta","scope-home-recursive"]},"allow-home-read":{"identifier":"allow-home-read","description":"This allows non-recursive read access to the `$HOME` folder.","permissions":["read-all","scope-home"]},"allow-home-read-recursive":{"identifier":"allow-home-read-recursive","description":"This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.","permissions":["read-all","scope-home-recursive"]},"allow-home-write":{"identifier":"allow-home-write","description":"This allows non-recursive write access to the `$HOME` folder.","permissions":["write-all","scope-home"]},"allow-home-write-recursive":{"identifier":"allow-home-write-recursive","description":"This allows full recursive write access to the complete `$HOME` folder, files and subdirectories.","permissions":["write-all","scope-home-recursive"]},"allow-localdata-meta":{"identifier":"allow-localdata-meta","description":"This allows non-recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-localdata-index"]},"allow-localdata-meta-recursive":{"identifier":"allow-localdata-meta-recursive","description":"This allows full recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-localdata-recursive"]},"allow-localdata-read":{"identifier":"allow-localdata-read","description":"This allows non-recursive read access to the `$LOCALDATA` folder.","permissions":["read-all","scope-localdata"]},"allow-localdata-read-recursive":{"identifier":"allow-localdata-read-recursive","description":"This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.","permissions":["read-all","scope-localdata-recursive"]},"allow-localdata-write":{"identifier":"allow-localdata-write","description":"This allows non-recursive write access to the `$LOCALDATA` folder.","permissions":["write-all","scope-localdata"]},"allow-localdata-write-recursive":{"identifier":"allow-localdata-write-recursive","description":"This allows full recursive write access to the complete `$LOCALDATA` folder, files and subdirectories.","permissions":["write-all","scope-localdata-recursive"]},"allow-log-meta":{"identifier":"allow-log-meta","description":"This allows non-recursive read access to metadata of the `$LOG` folder, including file listing and statistics.","permissions":["read-meta","scope-log-index"]},"allow-log-meta-recursive":{"identifier":"allow-log-meta-recursive","description":"This allows full recursive read access to metadata of the `$LOG` folder, including file listing and statistics.","permissions":["read-meta","scope-log-recursive"]},"allow-log-read":{"identifier":"allow-log-read","description":"This allows non-recursive read access to the `$LOG` folder.","permissions":["read-all","scope-log"]},"allow-log-read-recursive":{"identifier":"allow-log-read-recursive","description":"This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.","permissions":["read-all","scope-log-recursive"]},"allow-log-write":{"identifier":"allow-log-write","description":"This allows non-recursive write access to the `$LOG` folder.","permissions":["write-all","scope-log"]},"allow-log-write-recursive":{"identifier":"allow-log-write-recursive","description":"This allows full recursive write access to the complete `$LOG` folder, files and subdirectories.","permissions":["write-all","scope-log-recursive"]},"allow-picture-meta":{"identifier":"allow-picture-meta","description":"This allows non-recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.","permissions":["read-meta","scope-picture-index"]},"allow-picture-meta-recursive":{"identifier":"allow-picture-meta-recursive","description":"This allows full recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.","permissions":["read-meta","scope-picture-recursive"]},"allow-picture-read":{"identifier":"allow-picture-read","description":"This allows non-recursive read access to the `$PICTURE` folder.","permissions":["read-all","scope-picture"]},"allow-picture-read-recursive":{"identifier":"allow-picture-read-recursive","description":"This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.","permissions":["read-all","scope-picture-recursive"]},"allow-picture-write":{"identifier":"allow-picture-write","description":"This allows non-recursive write access to the `$PICTURE` folder.","permissions":["write-all","scope-picture"]},"allow-picture-write-recursive":{"identifier":"allow-picture-write-recursive","description":"This allows full recursive write access to the complete `$PICTURE` folder, files and subdirectories.","permissions":["write-all","scope-picture-recursive"]},"allow-public-meta":{"identifier":"allow-public-meta","description":"This allows non-recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.","permissions":["read-meta","scope-public-index"]},"allow-public-meta-recursive":{"identifier":"allow-public-meta-recursive","description":"This allows full recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.","permissions":["read-meta","scope-public-recursive"]},"allow-public-read":{"identifier":"allow-public-read","description":"This allows non-recursive read access to the `$PUBLIC` folder.","permissions":["read-all","scope-public"]},"allow-public-read-recursive":{"identifier":"allow-public-read-recursive","description":"This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.","permissions":["read-all","scope-public-recursive"]},"allow-public-write":{"identifier":"allow-public-write","description":"This allows non-recursive write access to the `$PUBLIC` folder.","permissions":["write-all","scope-public"]},"allow-public-write-recursive":{"identifier":"allow-public-write-recursive","description":"This allows full recursive write access to the complete `$PUBLIC` folder, files and subdirectories.","permissions":["write-all","scope-public-recursive"]},"allow-resource-meta":{"identifier":"allow-resource-meta","description":"This allows non-recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.","permissions":["read-meta","scope-resource-index"]},"allow-resource-meta-recursive":{"identifier":"allow-resource-meta-recursive","description":"This allows full recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.","permissions":["read-meta","scope-resource-recursive"]},"allow-resource-read":{"identifier":"allow-resource-read","description":"This allows non-recursive read access to the `$RESOURCE` folder.","permissions":["read-all","scope-resource"]},"allow-resource-read-recursive":{"identifier":"allow-resource-read-recursive","description":"This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.","permissions":["read-all","scope-resource-recursive"]},"allow-resource-write":{"identifier":"allow-resource-write","description":"This allows non-recursive write access to the `$RESOURCE` folder.","permissions":["write-all","scope-resource"]},"allow-resource-write-recursive":{"identifier":"allow-resource-write-recursive","description":"This allows full recursive write access to the complete `$RESOURCE` folder, files and subdirectories.","permissions":["write-all","scope-resource-recursive"]},"allow-runtime-meta":{"identifier":"allow-runtime-meta","description":"This allows non-recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.","permissions":["read-meta","scope-runtime-index"]},"allow-runtime-meta-recursive":{"identifier":"allow-runtime-meta-recursive","description":"This allows full recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.","permissions":["read-meta","scope-runtime-recursive"]},"allow-runtime-read":{"identifier":"allow-runtime-read","description":"This allows non-recursive read access to the `$RUNTIME` folder.","permissions":["read-all","scope-runtime"]},"allow-runtime-read-recursive":{"identifier":"allow-runtime-read-recursive","description":"This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.","permissions":["read-all","scope-runtime-recursive"]},"allow-runtime-write":{"identifier":"allow-runtime-write","description":"This allows non-recursive write access to the `$RUNTIME` folder.","permissions":["write-all","scope-runtime"]},"allow-runtime-write-recursive":{"identifier":"allow-runtime-write-recursive","description":"This allows full recursive write access to the complete `$RUNTIME` folder, files and subdirectories.","permissions":["write-all","scope-runtime-recursive"]},"allow-temp-meta":{"identifier":"allow-temp-meta","description":"This allows non-recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.","permissions":["read-meta","scope-temp-index"]},"allow-temp-meta-recursive":{"identifier":"allow-temp-meta-recursive","description":"This allows full recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.","permissions":["read-meta","scope-temp-recursive"]},"allow-temp-read":{"identifier":"allow-temp-read","description":"This allows non-recursive read access to the `$TEMP` folder.","permissions":["read-all","scope-temp"]},"allow-temp-read-recursive":{"identifier":"allow-temp-read-recursive","description":"This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.","permissions":["read-all","scope-temp-recursive"]},"allow-temp-write":{"identifier":"allow-temp-write","description":"This allows non-recursive write access to the `$TEMP` folder.","permissions":["write-all","scope-temp"]},"allow-temp-write-recursive":{"identifier":"allow-temp-write-recursive","description":"This allows full recursive write access to the complete `$TEMP` folder, files and subdirectories.","permissions":["write-all","scope-temp-recursive"]},"allow-template-meta":{"identifier":"allow-template-meta","description":"This allows non-recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.","permissions":["read-meta","scope-template-index"]},"allow-template-meta-recursive":{"identifier":"allow-template-meta-recursive","description":"This allows full recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.","permissions":["read-meta","scope-template-recursive"]},"allow-template-read":{"identifier":"allow-template-read","description":"This allows non-recursive read access to the `$TEMPLATE` folder.","permissions":["read-all","scope-template"]},"allow-template-read-recursive":{"identifier":"allow-template-read-recursive","description":"This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.","permissions":["read-all","scope-template-recursive"]},"allow-template-write":{"identifier":"allow-template-write","description":"This allows non-recursive write access to the `$TEMPLATE` folder.","permissions":["write-all","scope-template"]},"allow-template-write-recursive":{"identifier":"allow-template-write-recursive","description":"This allows full recursive write access to the complete `$TEMPLATE` folder, files and subdirectories.","permissions":["write-all","scope-template-recursive"]},"allow-video-meta":{"identifier":"allow-video-meta","description":"This allows non-recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.","permissions":["read-meta","scope-video-index"]},"allow-video-meta-recursive":{"identifier":"allow-video-meta-recursive","description":"This allows full recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.","permissions":["read-meta","scope-video-recursive"]},"allow-video-read":{"identifier":"allow-video-read","description":"This allows non-recursive read access to the `$VIDEO` folder.","permissions":["read-all","scope-video"]},"allow-video-read-recursive":{"identifier":"allow-video-read-recursive","description":"This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.","permissions":["read-all","scope-video-recursive"]},"allow-video-write":{"identifier":"allow-video-write","description":"This allows non-recursive write access to the `$VIDEO` folder.","permissions":["write-all","scope-video"]},"allow-video-write-recursive":{"identifier":"allow-video-write-recursive","description":"This allows full recursive write access to the complete `$VIDEO` folder, files and subdirectories.","permissions":["write-all","scope-video-recursive"]},"deny-default":{"identifier":"deny-default","description":"This denies access to dangerous Tauri relevant files and folders by default.","permissions":["deny-webview-data-linux","deny-webview-data-windows"]}},"global_scope_schema":{"$schema":"http://json-schema.org/draft-07/schema#","anyOf":[{"description":"A path that can be accessed by the webview when using the fs APIs. FS scope path pattern.\n\nThe pattern 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`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.","type":"string"},{"properties":{"path":{"description":"A path that can be accessed by the webview when using the fs APIs.\n\nThe pattern 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`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.","type":"string"}},"required":["path"],"type":"object"}],"description":"FS scope entry.","title":"FsScopeEntry"}},"global-shortcut":{"default_permission":{"identifier":"default","description":"No features are enabled by default, as we believe\nthe shortcuts can be inherently dangerous and it is\napplication specific if specific shortcuts should be\nregistered or unregistered.\n","permissions":[]},"permissions":{"allow-is-registered":{"identifier":"allow-is-registered","description":"Enables the is_registered command without any pre-configured scope.","commands":{"allow":["is_registered"],"deny":[]}},"allow-register":{"identifier":"allow-register","description":"Enables the register command without any pre-configured scope.","commands":{"allow":["register"],"deny":[]}},"allow-register-all":{"identifier":"allow-register-all","description":"Enables the register_all command without any pre-configured scope.","commands":{"allow":["register_all"],"deny":[]}},"allow-unregister":{"identifier":"allow-unregister","description":"Enables the unregister command without any pre-configured scope.","commands":{"allow":["unregister"],"deny":[]}},"allow-unregister-all":{"identifier":"allow-unregister-all","description":"Enables the unregister_all command without any pre-configured scope.","commands":{"allow":["unregister_all"],"deny":[]}},"deny-is-registered":{"identifier":"deny-is-registered","description":"Denies the is_registered command without any pre-configured scope.","commands":{"allow":[],"deny":["is_registered"]}},"deny-register":{"identifier":"deny-register","description":"Denies the register command without any pre-configured scope.","commands":{"allow":[],"deny":["register"]}},"deny-register-all":{"identifier":"deny-register-all","description":"Denies the register_all command without any pre-configured scope.","commands":{"allow":[],"deny":["register_all"]}},"deny-unregister":{"identifier":"deny-unregister","description":"Denies the unregister command without any pre-configured scope.","commands":{"allow":[],"deny":["unregister"]}},"deny-unregister-all":{"identifier":"deny-unregister-all","description":"Denies the unregister_all command without any pre-configured scope.","commands":{"allow":[],"deny":["unregister_all"]}}},"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-read-body","allow-fetch-send"]},"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-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-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"}},"notification":{"default_permission":{"identifier":"default","description":"This permission set configures which\nnotification features are by default exposed.\n\n#### Granted Permissions\n\nIt allows all notification related features.\n\n","permissions":["allow-is-permission-granted","allow-request-permission","allow-notify","allow-register-action-types","allow-register-listener","allow-cancel","allow-get-pending","allow-remove-active","allow-get-active","allow-check-permissions","allow-show","allow-batch","allow-list-channels","allow-delete-channel","allow-create-channel","allow-permission-state"]},"permissions":{"allow-batch":{"identifier":"allow-batch","description":"Enables the batch command without any pre-configured scope.","commands":{"allow":["batch"],"deny":[]}},"allow-cancel":{"identifier":"allow-cancel","description":"Enables the cancel command without any pre-configured scope.","commands":{"allow":["cancel"],"deny":[]}},"allow-check-permissions":{"identifier":"allow-check-permissions","description":"Enables the check_permissions command without any pre-configured scope.","commands":{"allow":["check_permissions"],"deny":[]}},"allow-create-channel":{"identifier":"allow-create-channel","description":"Enables the create_channel command without any pre-configured scope.","commands":{"allow":["create_channel"],"deny":[]}},"allow-delete-channel":{"identifier":"allow-delete-channel","description":"Enables the delete_channel command without any pre-configured scope.","commands":{"allow":["delete_channel"],"deny":[]}},"allow-get-active":{"identifier":"allow-get-active","description":"Enables the get_active command without any pre-configured scope.","commands":{"allow":["get_active"],"deny":[]}},"allow-get-pending":{"identifier":"allow-get-pending","description":"Enables the get_pending command without any pre-configured scope.","commands":{"allow":["get_pending"],"deny":[]}},"allow-is-permission-granted":{"identifier":"allow-is-permission-granted","description":"Enables the is_permission_granted command without any pre-configured scope.","commands":{"allow":["is_permission_granted"],"deny":[]}},"allow-list-channels":{"identifier":"allow-list-channels","description":"Enables the list_channels command without any pre-configured scope.","commands":{"allow":["list_channels"],"deny":[]}},"allow-notify":{"identifier":"allow-notify","description":"Enables the notify command without any pre-configured scope.","commands":{"allow":["notify"],"deny":[]}},"allow-permission-state":{"identifier":"allow-permission-state","description":"Enables the permission_state command without any pre-configured scope.","commands":{"allow":["permission_state"],"deny":[]}},"allow-register-action-types":{"identifier":"allow-register-action-types","description":"Enables the register_action_types command without any pre-configured scope.","commands":{"allow":["register_action_types"],"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-active":{"identifier":"allow-remove-active","description":"Enables the remove_active command without any pre-configured scope.","commands":{"allow":["remove_active"],"deny":[]}},"allow-request-permission":{"identifier":"allow-request-permission","description":"Enables the request_permission command without any pre-configured scope.","commands":{"allow":["request_permission"],"deny":[]}},"allow-show":{"identifier":"allow-show","description":"Enables the show command without any pre-configured scope.","commands":{"allow":["show"],"deny":[]}},"deny-batch":{"identifier":"deny-batch","description":"Denies the batch command without any pre-configured scope.","commands":{"allow":[],"deny":["batch"]}},"deny-cancel":{"identifier":"deny-cancel","description":"Denies the cancel command without any pre-configured scope.","commands":{"allow":[],"deny":["cancel"]}},"deny-check-permissions":{"identifier":"deny-check-permissions","description":"Denies the check_permissions command without any pre-configured scope.","commands":{"allow":[],"deny":["check_permissions"]}},"deny-create-channel":{"identifier":"deny-create-channel","description":"Denies the create_channel command without any pre-configured scope.","commands":{"allow":[],"deny":["create_channel"]}},"deny-delete-channel":{"identifier":"deny-delete-channel","description":"Denies the delete_channel command without any pre-configured scope.","commands":{"allow":[],"deny":["delete_channel"]}},"deny-get-active":{"identifier":"deny-get-active","description":"Denies the get_active command without any pre-configured scope.","commands":{"allow":[],"deny":["get_active"]}},"deny-get-pending":{"identifier":"deny-get-pending","description":"Denies the get_pending command without any pre-configured scope.","commands":{"allow":[],"deny":["get_pending"]}},"deny-is-permission-granted":{"identifier":"deny-is-permission-granted","description":"Denies the is_permission_granted command without any pre-configured scope.","commands":{"allow":[],"deny":["is_permission_granted"]}},"deny-list-channels":{"identifier":"deny-list-channels","description":"Denies the list_channels command without any pre-configured scope.","commands":{"allow":[],"deny":["list_channels"]}},"deny-notify":{"identifier":"deny-notify","description":"Denies the notify command without any pre-configured scope.","commands":{"allow":[],"deny":["notify"]}},"deny-permission-state":{"identifier":"deny-permission-state","description":"Denies the permission_state command without any pre-configured scope.","commands":{"allow":[],"deny":["permission_state"]}},"deny-register-action-types":{"identifier":"deny-register-action-types","description":"Denies the register_action_types command without any pre-configured scope.","commands":{"allow":[],"deny":["register_action_types"]}},"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-active":{"identifier":"deny-remove-active","description":"Denies the remove_active command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_active"]}},"deny-request-permission":{"identifier":"deny-request-permission","description":"Denies the request_permission command without any pre-configured scope.","commands":{"allow":[],"deny":["request_permission"]}},"deny-show":{"identifier":"deny-show","description":"Denies the show command without any pre-configured scope.","commands":{"allow":[],"deny":["show"]}}},"permission_sets":{},"global_scope_schema":null},"os":{"default_permission":{"identifier":"default","description":"This permission set configures which\noperating system information are available\nto gather from the frontend.\n\n#### Granted Permissions\n\nAll information except the host name are available.\n\n","permissions":["allow-arch","allow-exe-extension","allow-family","allow-locale","allow-os-type","allow-platform","allow-version"]},"permissions":{"allow-arch":{"identifier":"allow-arch","description":"Enables the arch command without any pre-configured scope.","commands":{"allow":["arch"],"deny":[]}},"allow-exe-extension":{"identifier":"allow-exe-extension","description":"Enables the exe_extension command without any pre-configured scope.","commands":{"allow":["exe_extension"],"deny":[]}},"allow-family":{"identifier":"allow-family","description":"Enables the family command without any pre-configured scope.","commands":{"allow":["family"],"deny":[]}},"allow-hostname":{"identifier":"allow-hostname","description":"Enables the hostname command without any pre-configured scope.","commands":{"allow":["hostname"],"deny":[]}},"allow-locale":{"identifier":"allow-locale","description":"Enables the locale command without any pre-configured scope.","commands":{"allow":["locale"],"deny":[]}},"allow-os-type":{"identifier":"allow-os-type","description":"Enables the os_type command without any pre-configured scope.","commands":{"allow":["os_type"],"deny":[]}},"allow-platform":{"identifier":"allow-platform","description":"Enables the platform command without any pre-configured scope.","commands":{"allow":["platform"],"deny":[]}},"allow-version":{"identifier":"allow-version","description":"Enables the version command without any pre-configured scope.","commands":{"allow":["version"],"deny":[]}},"deny-arch":{"identifier":"deny-arch","description":"Denies the arch command without any pre-configured scope.","commands":{"allow":[],"deny":["arch"]}},"deny-exe-extension":{"identifier":"deny-exe-extension","description":"Denies the exe_extension command without any pre-configured scope.","commands":{"allow":[],"deny":["exe_extension"]}},"deny-family":{"identifier":"deny-family","description":"Denies the family command without any pre-configured scope.","commands":{"allow":[],"deny":["family"]}},"deny-hostname":{"identifier":"deny-hostname","description":"Denies the hostname command without any pre-configured scope.","commands":{"allow":[],"deny":["hostname"]}},"deny-locale":{"identifier":"deny-locale","description":"Denies the locale command without any pre-configured scope.","commands":{"allow":[],"deny":["locale"]}},"deny-os-type":{"identifier":"deny-os-type","description":"Denies the os_type command without any pre-configured scope.","commands":{"allow":[],"deny":["os_type"]}},"deny-platform":{"identifier":"deny-platform","description":"Denies the platform command without any pre-configured scope.","commands":{"allow":[],"deny":["platform"]}},"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},"process":{"default_permission":{"identifier":"default","description":"This permission set configures which\nprocess feeatures 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 without any specific\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"}},"store":{"default_permission":{"identifier":"default","description":"This permission set configures what kind of\noperations are available from the store plugin.\n\n#### Granted Permissions\n\nAll operations are enabled by default.\n\n","permissions":["allow-load","allow-get-store","allow-set","allow-get","allow-has","allow-delete","allow-clear","allow-reset","allow-keys","allow-values","allow-entries","allow-length","allow-reload","allow-save"]},"permissions":{"allow-clear":{"identifier":"allow-clear","description":"Enables the clear command without any pre-configured scope.","commands":{"allow":["clear"],"deny":[]}},"allow-delete":{"identifier":"allow-delete","description":"Enables the delete command without any pre-configured scope.","commands":{"allow":["delete"],"deny":[]}},"allow-entries":{"identifier":"allow-entries","description":"Enables the entries command without any pre-configured scope.","commands":{"allow":["entries"],"deny":[]}},"allow-get":{"identifier":"allow-get","description":"Enables the get command without any pre-configured scope.","commands":{"allow":["get"],"deny":[]}},"allow-get-store":{"identifier":"allow-get-store","description":"Enables the get_store command without any pre-configured scope.","commands":{"allow":["get_store"],"deny":[]}},"allow-has":{"identifier":"allow-has","description":"Enables the has command without any pre-configured scope.","commands":{"allow":["has"],"deny":[]}},"allow-keys":{"identifier":"allow-keys","description":"Enables the keys command without any pre-configured scope.","commands":{"allow":["keys"],"deny":[]}},"allow-length":{"identifier":"allow-length","description":"Enables the length command without any pre-configured scope.","commands":{"allow":["length"],"deny":[]}},"allow-load":{"identifier":"allow-load","description":"Enables the load command without any pre-configured scope.","commands":{"allow":["load"],"deny":[]}},"allow-reload":{"identifier":"allow-reload","description":"Enables the reload command without any pre-configured scope.","commands":{"allow":["reload"],"deny":[]}},"allow-reset":{"identifier":"allow-reset","description":"Enables the reset command without any pre-configured scope.","commands":{"allow":["reset"],"deny":[]}},"allow-save":{"identifier":"allow-save","description":"Enables the save command without any pre-configured scope.","commands":{"allow":["save"],"deny":[]}},"allow-set":{"identifier":"allow-set","description":"Enables the set command without any pre-configured scope.","commands":{"allow":["set"],"deny":[]}},"allow-values":{"identifier":"allow-values","description":"Enables the values command without any pre-configured scope.","commands":{"allow":["values"],"deny":[]}},"deny-clear":{"identifier":"deny-clear","description":"Denies the clear command without any pre-configured scope.","commands":{"allow":[],"deny":["clear"]}},"deny-delete":{"identifier":"deny-delete","description":"Denies the delete command without any pre-configured scope.","commands":{"allow":[],"deny":["delete"]}},"deny-entries":{"identifier":"deny-entries","description":"Denies the entries command without any pre-configured scope.","commands":{"allow":[],"deny":["entries"]}},"deny-get":{"identifier":"deny-get","description":"Denies the get command without any pre-configured scope.","commands":{"allow":[],"deny":["get"]}},"deny-get-store":{"identifier":"deny-get-store","description":"Denies the get_store command without any pre-configured scope.","commands":{"allow":[],"deny":["get_store"]}},"deny-has":{"identifier":"deny-has","description":"Denies the has command without any pre-configured scope.","commands":{"allow":[],"deny":["has"]}},"deny-keys":{"identifier":"deny-keys","description":"Denies the keys command without any pre-configured scope.","commands":{"allow":[],"deny":["keys"]}},"deny-length":{"identifier":"deny-length","description":"Denies the length command without any pre-configured scope.","commands":{"allow":[],"deny":["length"]}},"deny-load":{"identifier":"deny-load","description":"Denies the load command without any pre-configured scope.","commands":{"allow":[],"deny":["load"]}},"deny-reload":{"identifier":"deny-reload","description":"Denies the reload command without any pre-configured scope.","commands":{"allow":[],"deny":["reload"]}},"deny-reset":{"identifier":"deny-reset","description":"Denies the reset command without any pre-configured scope.","commands":{"allow":[],"deny":["reset"]}},"deny-save":{"identifier":"deny-save","description":"Denies the save command without any pre-configured scope.","commands":{"allow":[],"deny":["save"]}},"deny-set":{"identifier":"deny-set","description":"Denies the set command without any pre-configured scope.","commands":{"allow":[],"deny":["set"]}},"deny-values":{"identifier":"deny-values","description":"Denies the values command without any pre-configured scope.","commands":{"allow":[],"deny":["values"]}}},"permission_sets":{},"global_scope_schema":null},"system-info":{"default_permission":null,"permissions":{"allow-all":{"identifier":"allow-all","description":"This enables all permissions for system info plugin","commands":{"allow":["all_sys_info","total_memory","used_memory","total_swap","used_swap","memory_info","hostname","name","kernel_version","os_version","static_info","components","cpus","cpu_count","cpu_info","disks","networks","processes","refresh_all","refresh_memory","refresh_cpu","refresh_processes","batteries"],"deny":[]}},"allow-all-sys-info":{"identifier":"allow-all-sys-info","description":"Enables the all_sys_info command without any pre-configured scope.","commands":{"allow":["all_sys_info"],"deny":[]}},"allow-batteries":{"identifier":"allow-batteries","description":"Enables the batteries command without any pre-configured scope.","commands":{"allow":["batteries"],"deny":[]}},"allow-components":{"identifier":"allow-components","description":"Enables the components command without any pre-configured scope.","commands":{"allow":["components"],"deny":[]}},"allow-cpu-count":{"identifier":"allow-cpu-count","description":"Enables the cpu_count command without any pre-configured scope.","commands":{"allow":["cpu_count"],"deny":[]}},"allow-cpu-info":{"identifier":"allow-cpu-info","description":"Enables the cpu_info command without any pre-configured scope.","commands":{"allow":["cpu_info"],"deny":[]}},"allow-cpus":{"identifier":"allow-cpus","description":"Enables the cpus command without any pre-configured scope.","commands":{"allow":["cpus"],"deny":[]}},"allow-disks":{"identifier":"allow-disks","description":"Enables the disks command without any pre-configured scope.","commands":{"allow":["disks"],"deny":[]}},"allow-execute":{"identifier":"allow-execute","description":"Enables the execute command without any pre-configured scope.","commands":{"allow":["execute"],"deny":[]}},"allow-hostname":{"identifier":"allow-hostname","description":"Enables the hostname command without any pre-configured scope.","commands":{"allow":["hostname"],"deny":[]}},"allow-kernel-version":{"identifier":"allow-kernel-version","description":"Enables the kernel_version command without any pre-configured scope.","commands":{"allow":["kernel_version"],"deny":[]}},"allow-memory-info":{"identifier":"allow-memory-info","description":"Enables the memory_info command without any pre-configured scope.","commands":{"allow":["memory_info"],"deny":[]}},"allow-name":{"identifier":"allow-name","description":"Enables the name command without any pre-configured scope.","commands":{"allow":["name"],"deny":[]}},"allow-networks":{"identifier":"allow-networks","description":"Enables the networks command without any pre-configured scope.","commands":{"allow":["networks"],"deny":[]}},"allow-os-version":{"identifier":"allow-os-version","description":"Enables the os_version command without any pre-configured scope.","commands":{"allow":["os_version"],"deny":[]}},"allow-ping":{"identifier":"allow-ping","description":"Enables the ping command without any pre-configured scope.","commands":{"allow":["ping"],"deny":[]}},"allow-processes":{"identifier":"allow-processes","description":"Enables the processes command without any pre-configured scope.","commands":{"allow":["processes"],"deny":[]}},"allow-refresh-all":{"identifier":"allow-refresh-all","description":"Enables the refresh_all command without any pre-configured scope.","commands":{"allow":["refresh_all"],"deny":[]}},"allow-refresh-cpu":{"identifier":"allow-refresh-cpu","description":"Enables the refresh_cpu command without any pre-configured scope.","commands":{"allow":["refresh_cpu"],"deny":[]}},"allow-refresh-memory":{"identifier":"allow-refresh-memory","description":"Enables the refresh_memory command without any pre-configured scope.","commands":{"allow":["refresh_memory"],"deny":[]}},"allow-refresh-processes":{"identifier":"allow-refresh-processes","description":"Enables the refresh_processes command without any pre-configured scope.","commands":{"allow":["refresh_processes"],"deny":[]}},"allow-static-info":{"identifier":"allow-static-info","description":"Enables the static_info command without any pre-configured scope.","commands":{"allow":["static_info"],"deny":[]}},"allow-total-memory":{"identifier":"allow-total-memory","description":"Enables the total_memory command without any pre-configured scope.","commands":{"allow":["total_memory"],"deny":[]}},"allow-total-swap":{"identifier":"allow-total-swap","description":"Enables the total_swap command without any pre-configured scope.","commands":{"allow":["total_swap"],"deny":[]}},"allow-used-memory":{"identifier":"allow-used-memory","description":"Enables the used_memory command without any pre-configured scope.","commands":{"allow":["used_memory"],"deny":[]}},"allow-used-swap":{"identifier":"allow-used-swap","description":"Enables the used_swap command without any pre-configured scope.","commands":{"allow":["used_swap"],"deny":[]}},"deny-all-sys-info":{"identifier":"deny-all-sys-info","description":"Denies the all_sys_info command without any pre-configured scope.","commands":{"allow":[],"deny":["all_sys_info"]}},"deny-batteries":{"identifier":"deny-batteries","description":"Denies the batteries command without any pre-configured scope.","commands":{"allow":[],"deny":["batteries"]}},"deny-components":{"identifier":"deny-components","description":"Denies the components command without any pre-configured scope.","commands":{"allow":[],"deny":["components"]}},"deny-cpu-count":{"identifier":"deny-cpu-count","description":"Denies the cpu_count command without any pre-configured scope.","commands":{"allow":[],"deny":["cpu_count"]}},"deny-cpu-info":{"identifier":"deny-cpu-info","description":"Denies the cpu_info command without any pre-configured scope.","commands":{"allow":[],"deny":["cpu_info"]}},"deny-cpus":{"identifier":"deny-cpus","description":"Denies the cpus command without any pre-configured scope.","commands":{"allow":[],"deny":["cpus"]}},"deny-disks":{"identifier":"deny-disks","description":"Denies the disks command without any pre-configured scope.","commands":{"allow":[],"deny":["disks"]}},"deny-execute":{"identifier":"deny-execute","description":"Denies the execute command without any pre-configured scope.","commands":{"allow":[],"deny":["execute"]}},"deny-hostname":{"identifier":"deny-hostname","description":"Denies the hostname command without any pre-configured scope.","commands":{"allow":[],"deny":["hostname"]}},"deny-kernel-version":{"identifier":"deny-kernel-version","description":"Denies the kernel_version command without any pre-configured scope.","commands":{"allow":[],"deny":["kernel_version"]}},"deny-memory-info":{"identifier":"deny-memory-info","description":"Denies the memory_info command without any pre-configured scope.","commands":{"allow":[],"deny":["memory_info"]}},"deny-name":{"identifier":"deny-name","description":"Denies the name command without any pre-configured scope.","commands":{"allow":[],"deny":["name"]}},"deny-networks":{"identifier":"deny-networks","description":"Denies the networks command without any pre-configured scope.","commands":{"allow":[],"deny":["networks"]}},"deny-os-version":{"identifier":"deny-os-version","description":"Denies the os_version command without any pre-configured scope.","commands":{"allow":[],"deny":["os_version"]}},"deny-ping":{"identifier":"deny-ping","description":"Denies the ping command without any pre-configured scope.","commands":{"allow":[],"deny":["ping"]}},"deny-processes":{"identifier":"deny-processes","description":"Denies the processes command without any pre-configured scope.","commands":{"allow":[],"deny":["processes"]}},"deny-refresh-all":{"identifier":"deny-refresh-all","description":"Denies the refresh_all command without any pre-configured scope.","commands":{"allow":[],"deny":["refresh_all"]}},"deny-refresh-cpu":{"identifier":"deny-refresh-cpu","description":"Denies the refresh_cpu command without any pre-configured scope.","commands":{"allow":[],"deny":["refresh_cpu"]}},"deny-refresh-memory":{"identifier":"deny-refresh-memory","description":"Denies the refresh_memory command without any pre-configured scope.","commands":{"allow":[],"deny":["refresh_memory"]}},"deny-refresh-processes":{"identifier":"deny-refresh-processes","description":"Denies the refresh_processes command without any pre-configured scope.","commands":{"allow":[],"deny":["refresh_processes"]}},"deny-static-info":{"identifier":"deny-static-info","description":"Denies the static_info command without any pre-configured scope.","commands":{"allow":[],"deny":["static_info"]}},"deny-total-memory":{"identifier":"deny-total-memory","description":"Denies the total_memory command without any pre-configured scope.","commands":{"allow":[],"deny":["total_memory"]}},"deny-total-swap":{"identifier":"deny-total-swap","description":"Denies the total_swap command without any pre-configured scope.","commands":{"allow":[],"deny":["total_swap"]}},"deny-used-memory":{"identifier":"deny-used-memory","description":"Denies the used_memory command without any pre-configured scope.","commands":{"allow":[],"deny":["used_memory"]}},"deny-used-swap":{"identifier":"deny-used-swap","description":"Denies the used_swap command without any pre-configured scope.","commands":{"allow":[],"deny":["used_swap"]}}},"permission_sets":{},"global_scope_schema":null},"theme":{"default_permission":{"identifier":"default","description":"Allow all","permissions":["allow-set-theme","allow-get-theme"]},"permissions":{"allow-get-theme":{"identifier":"allow-get-theme","description":"Enables the get_theme command without any pre-configured scope.","commands":{"allow":["get_theme"],"deny":[]}},"allow-set-theme":{"identifier":"allow-set-theme","description":"Enables the set_theme command without any pre-configured scope.","commands":{"allow":["set_theme"],"deny":[]}},"deny-get-theme":{"identifier":"deny-get-theme","description":"Denies the get_theme command without any pre-configured scope.","commands":{"allow":[],"deny":["get_theme"]}},"deny-set-theme":{"identifier":"deny-set-theme","description":"Denies the set_theme command without any pre-configured scope.","commands":{"allow":[],"deny":["set_theme"]}}},"permission_sets":{},"global_scope_schema":null},"valtio":{"default_permission":{"identifier":"default","description":"Default permissions for tauri-plugin-valtio.","permissions":["allow-clear-autosave","allow-get-default-save-strategy","allow-get-save-strategy","allow-get-store-collection-path","allow-get-store-ids","allow-get-store-path","allow-get-store-state","allow-load","allow-patch","allow-save","allow-save-all","allow-save-all-now","allow-save-now","allow-save-some","allow-save-some-now","allow-set-autosave","allow-set-save-strategy","allow-set-store-collection-path","allow-set-store-options","allow-unload"]},"permissions":{"allow-clear-autosave":{"identifier":"allow-clear-autosave","description":"Enables the clear_autosave command without any pre-configured scope.","commands":{"allow":["clear_autosave"],"deny":[]}},"allow-get-default-save-strategy":{"identifier":"allow-get-default-save-strategy","description":"Enables the get_default_save_strategy command without any pre-configured scope.","commands":{"allow":["get_default_save_strategy"],"deny":[]}},"allow-get-save-strategy":{"identifier":"allow-get-save-strategy","description":"Enables the get_save_strategy command without any pre-configured scope.","commands":{"allow":["get_save_strategy"],"deny":[]}},"allow-get-store-collection-path":{"identifier":"allow-get-store-collection-path","description":"Enables the get_store_collection_path command without any pre-configured scope.","commands":{"allow":["get_store_collection_path"],"deny":[]}},"allow-get-store-ids":{"identifier":"allow-get-store-ids","description":"Enables the get_store_ids command without any pre-configured scope.","commands":{"allow":["get_store_ids"],"deny":[]}},"allow-get-store-path":{"identifier":"allow-get-store-path","description":"Enables the get_store_path command without any pre-configured scope.","commands":{"allow":["get_store_path"],"deny":[]}},"allow-get-store-state":{"identifier":"allow-get-store-state","description":"Enables the get_store_state command without any pre-configured scope.","commands":{"allow":["get_store_state"],"deny":[]}},"allow-load":{"identifier":"allow-load","description":"Enables the load command without any pre-configured scope.","commands":{"allow":["load"],"deny":[]}},"allow-patch":{"identifier":"allow-patch","description":"Enables the patch command without any pre-configured scope.","commands":{"allow":["patch"],"deny":[]}},"allow-save":{"identifier":"allow-save","description":"Enables the save command without any pre-configured scope.","commands":{"allow":["save"],"deny":[]}},"allow-save-all":{"identifier":"allow-save-all","description":"Enables the save_all command without any pre-configured scope.","commands":{"allow":["save_all"],"deny":[]}},"allow-save-all-now":{"identifier":"allow-save-all-now","description":"Enables the save_all_now command without any pre-configured scope.","commands":{"allow":["save_all_now"],"deny":[]}},"allow-save-now":{"identifier":"allow-save-now","description":"Enables the save_now command without any pre-configured scope.","commands":{"allow":["save_now"],"deny":[]}},"allow-save-some":{"identifier":"allow-save-some","description":"Enables the save_some command without any pre-configured scope.","commands":{"allow":["save_some"],"deny":[]}},"allow-save-some-now":{"identifier":"allow-save-some-now","description":"Enables the save_some_now command without any pre-configured scope.","commands":{"allow":["save_some_now"],"deny":[]}},"allow-set-autosave":{"identifier":"allow-set-autosave","description":"Enables the set_autosave command without any pre-configured scope.","commands":{"allow":["set_autosave"],"deny":[]}},"allow-set-save-strategy":{"identifier":"allow-set-save-strategy","description":"Enables the set_save_strategy command without any pre-configured scope.","commands":{"allow":["set_save_strategy"],"deny":[]}},"allow-set-store-collection-path":{"identifier":"allow-set-store-collection-path","description":"Enables the set_store_collection_path command without any pre-configured scope.","commands":{"allow":["set_store_collection_path"],"deny":[]}},"allow-set-store-options":{"identifier":"allow-set-store-options","description":"Enables the set_store_options command without any pre-configured scope.","commands":{"allow":["set_store_options"],"deny":[]}},"allow-unload":{"identifier":"allow-unload","description":"Enables the unload command without any pre-configured scope.","commands":{"allow":["unload"],"deny":[]}},"deny-clear-autosave":{"identifier":"deny-clear-autosave","description":"Denies the clear_autosave command without any pre-configured scope.","commands":{"allow":[],"deny":["clear_autosave"]}},"deny-get-default-save-strategy":{"identifier":"deny-get-default-save-strategy","description":"Denies the get_default_save_strategy command without any pre-configured scope.","commands":{"allow":[],"deny":["get_default_save_strategy"]}},"deny-get-save-strategy":{"identifier":"deny-get-save-strategy","description":"Denies the get_save_strategy command without any pre-configured scope.","commands":{"allow":[],"deny":["get_save_strategy"]}},"deny-get-store-collection-path":{"identifier":"deny-get-store-collection-path","description":"Denies the get_store_collection_path command without any pre-configured scope.","commands":{"allow":[],"deny":["get_store_collection_path"]}},"deny-get-store-ids":{"identifier":"deny-get-store-ids","description":"Denies the get_store_ids command without any pre-configured scope.","commands":{"allow":[],"deny":["get_store_ids"]}},"deny-get-store-path":{"identifier":"deny-get-store-path","description":"Denies the get_store_path command without any pre-configured scope.","commands":{"allow":[],"deny":["get_store_path"]}},"deny-get-store-state":{"identifier":"deny-get-store-state","description":"Denies the get_store_state command without any pre-configured scope.","commands":{"allow":[],"deny":["get_store_state"]}},"deny-load":{"identifier":"deny-load","description":"Denies the load command without any pre-configured scope.","commands":{"allow":[],"deny":["load"]}},"deny-patch":{"identifier":"deny-patch","description":"Denies the patch command without any pre-configured scope.","commands":{"allow":[],"deny":["patch"]}},"deny-save":{"identifier":"deny-save","description":"Denies the save command without any pre-configured scope.","commands":{"allow":[],"deny":["save"]}},"deny-save-all":{"identifier":"deny-save-all","description":"Denies the save_all command without any pre-configured scope.","commands":{"allow":[],"deny":["save_all"]}},"deny-save-all-now":{"identifier":"deny-save-all-now","description":"Denies the save_all_now command without any pre-configured scope.","commands":{"allow":[],"deny":["save_all_now"]}},"deny-save-now":{"identifier":"deny-save-now","description":"Denies the save_now command without any pre-configured scope.","commands":{"allow":[],"deny":["save_now"]}},"deny-save-some":{"identifier":"deny-save-some","description":"Denies the save_some command without any pre-configured scope.","commands":{"allow":[],"deny":["save_some"]}},"deny-save-some-now":{"identifier":"deny-save-some-now","description":"Denies the save_some_now command without any pre-configured scope.","commands":{"allow":[],"deny":["save_some_now"]}},"deny-set-autosave":{"identifier":"deny-set-autosave","description":"Denies the set_autosave command without any pre-configured scope.","commands":{"allow":[],"deny":["set_autosave"]}},"deny-set-save-strategy":{"identifier":"deny-set-save-strategy","description":"Denies the set_save_strategy command without any pre-configured scope.","commands":{"allow":[],"deny":["set_save_strategy"]}},"deny-set-store-collection-path":{"identifier":"deny-set-store-collection-path","description":"Denies the set_store_collection_path command without any pre-configured scope.","commands":{"allow":[],"deny":["set_store_collection_path"]}},"deny-set-store-options":{"identifier":"deny-set-store-options","description":"Denies the set_store_options command without any pre-configured scope.","commands":{"allow":[],"deny":["set_store_options"]}},"deny-unload":{"identifier":"deny-unload","description":"Denies the unload command without any pre-configured scope.","commands":{"allow":[],"deny":["unload"]}}},"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 index 736b3d0..5bf8871 100644 --- a/src-tauri/gen/schemas/capabilities.json +++ b/src-tauri/gen/schemas/capabilities.json @@ -1 +1 @@ -{"desktop-capability":{"identifier":"desktop-capability","description":"","local":true,"windows":["main"],"permissions":["global-shortcut:default","theme:default","store:default","store:allow-set","store:allow-get-store","store:allow-has","store:allow-delete","store:allow-clear","store:allow-values","store:allow-save","store:allow-load","store:allow-reset","store:allow-entries"],"platforms":["macOS","windows","linux"]},"migrated":{"identifier":"migrated","description":"permissions that were migrated from v1","local":true,"windows":["main"],"permissions":["core:default","fs:allow-read-file","fs:allow-write-file","fs:allow-read-dir","fs:allow-copy-file","fs:allow-mkdir","fs:allow-remove","fs:allow-remove","fs:allow-rename","fs:allow-exists","core:window:allow-create","core:window:allow-center","core:window:allow-request-user-attention","core:window:allow-set-resizable","core:window:allow-set-maximizable","core:window:allow-set-minimizable","core:window:allow-set-closable","core:window:allow-set-title","core:window:allow-maximize","core:window:allow-unmaximize","core:window:allow-minimize","core:window:allow-unminimize","core:window:allow-show","core:window:allow-hide","core:window:allow-close","core:window:allow-set-decorations","core:window:allow-set-always-on-top","core:window:allow-set-content-protected","core:window:allow-set-size","core:window:allow-set-min-size","core:window:allow-set-max-size","core:window:allow-set-position","core:window:allow-set-fullscreen","core:window:allow-set-focus","core:window:allow-set-icon","core:window:allow-set-skip-taskbar","core:window:allow-set-cursor-grab","core:window:allow-set-cursor-visible","core:window:allow-set-cursor-icon","core:window:allow-set-cursor-position","core:window:allow-set-ignore-cursor-events","core:window:allow-start-dragging","core:webview:allow-print","shell:allow-execute","shell:allow-open","dialog:allow-open","dialog:allow-save","dialog:allow-message","dialog:allow-ask","dialog:allow-confirm","http:default","notification:default","global-shortcut:allow-is-registered","global-shortcut:allow-register","global-shortcut:allow-register-all","global-shortcut:allow-unregister","global-shortcut:allow-unregister-all","os:allow-platform","os:allow-version","os:allow-os-type","os:allow-family","os:allow-arch","os:allow-exe-extension","os:allow-locale","os:allow-hostname","process:allow-restart","process:allow-exit","clipboard-manager:allow-read-text","clipboard-manager:allow-write-text","core:app:allow-app-show","core:app:allow-app-hide","core:app:allow-set-app-theme","process:default","fs:default","dialog:default","os:default","clipboard-manager:default"]},"system-info":{"identifier":"system-info","description":"","local":true,"windows":["*"],"permissions":["system-info:allow-all"]},"valtio":{"identifier":"valtio","description":"","local":true,"windows":["*"],"permissions":["valtio:default","core:event:default"]}} \ No newline at end of file +{"desktop-capability":{"identifier":"desktop-capability","description":"","local":true,"windows":["main"],"permissions":["global-shortcut:default","theme:default","store:default","store:allow-set","store:allow-get-store","store:allow-has","store:allow-delete","store:allow-clear","store:allow-values","store:allow-save","store:allow-load","store:allow-reset","store:allow-entries","deep-link:default","deep-link:allow-register","deep-link:allow-get-current","autostart:default","autostart:allow-enable","autostart:allow-disable"],"platforms":["macOS","windows","linux"]},"migrated":{"identifier":"migrated","description":"permissions that were migrated from v1","local":true,"windows":["main"],"permissions":["core:default","fs:allow-read-file","fs:allow-write-file","fs:allow-read-dir","fs:allow-copy-file","fs:allow-mkdir","fs:allow-remove","fs:allow-remove","fs:allow-rename","fs:allow-exists","core:window:allow-create","core:window:allow-center","core:window:allow-request-user-attention","core:window:allow-set-resizable","core:window:allow-set-maximizable","core:window:allow-set-minimizable","core:window:allow-set-closable","core:window:allow-set-title","core:window:allow-maximize","core:window:allow-unmaximize","core:window:allow-minimize","core:window:allow-unminimize","core:window:allow-show","core:window:allow-hide","core:window:allow-close","core:window:allow-set-decorations","core:window:allow-set-always-on-top","core:window:allow-set-content-protected","core:window:allow-set-size","core:window:allow-set-min-size","core:window:allow-set-max-size","core:window:allow-set-position","core:window:allow-set-fullscreen","core:window:allow-set-focus","core:window:allow-set-icon","core:window:allow-set-skip-taskbar","core:window:allow-set-cursor-grab","core:window:allow-set-cursor-visible","core:window:allow-set-cursor-icon","core:window:allow-set-cursor-position","core:window:allow-set-ignore-cursor-events","core:window:allow-start-dragging","core:webview:allow-print","shell:allow-execute","shell:allow-open","dialog:allow-open","dialog:allow-save","dialog:allow-message","dialog:allow-ask","dialog:allow-confirm","http:default","notification:default","global-shortcut:allow-is-registered","global-shortcut:allow-register","global-shortcut:allow-register-all","global-shortcut:allow-unregister","global-shortcut:allow-unregister-all","os:allow-platform","os:allow-version","os:allow-os-type","os:allow-family","os:allow-arch","os:allow-exe-extension","os:allow-locale","os:allow-hostname","process:allow-restart","process:allow-exit","clipboard-manager:allow-read-text","clipboard-manager:allow-write-text","core:app:allow-app-show","core:app:allow-app-hide","core:app:allow-set-app-theme","process:default","fs:default","dialog:default","os:default","clipboard-manager:default"]},"system-info":{"identifier":"system-info","description":"","local":true,"windows":["*"],"permissions":["system-info:allow-all"]},"valtio":{"identifier":"valtio","description":"","local":true,"windows":["*"],"permissions":["valtio:default","core:event:default"]}} \ No newline at end of file diff --git a/src-tauri/gen/schemas/desktop-schema.json b/src-tauri/gen/schemas/desktop-schema.json index b535d26..5d1e84d 100644 --- a/src-tauri/gen/schemas/desktop-schema.json +++ b/src-tauri/gen/schemas/desktop-schema.json @@ -37,7 +37,7 @@ ], "definitions": { "Capability": { - "description": "A grouping and boundary mechanism developers can use to isolate access to the IPC layer.\n\nIt controls application windows fine grained access to the Tauri core, application, or plugin commands. If a 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 programatic 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\"] } ```", + "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 programatic 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", @@ -70,14 +70,14 @@ "type": "boolean" }, "windows": { - "description": "List of windows that are affected by this capability. Can be a glob pattern.\n\nOn multiwebview windows, prefer [`Self::webviews`] for a fine grained access control.\n\n## Example\n\n`[\"main\"]`", + "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\nThis is only required when using on multiwebview contexts, by default all child webviews of a window that matches [`Self::windows`] are linked.\n\n## Example\n\n`[\"sub-webview-one\", \"sub-webview-two\"]`", + "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" @@ -2004,6 +2004,41 @@ "Identifier": { "description": "Permission identifier", "oneOf": [ + { + "description": "This permission set configures if your\napplication can enable or disable auto\nstarting the application on boot.\n\n#### Granted Permissions\n\nIt allows all to check, enable and\ndisable the automatic start on boot.\n\n", + "type": "string", + "const": "autostart:default" + }, + { + "description": "Enables the disable command without any pre-configured scope.", + "type": "string", + "const": "autostart:allow-disable" + }, + { + "description": "Enables the enable command without any pre-configured scope.", + "type": "string", + "const": "autostart:allow-enable" + }, + { + "description": "Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "autostart:allow-is-enabled" + }, + { + "description": "Denies the disable command without any pre-configured scope.", + "type": "string", + "const": "autostart:deny-disable" + }, + { + "description": "Denies the enable command without any pre-configured scope.", + "type": "string", + "const": "autostart:deny-enable" + }, + { + "description": "Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "autostart:deny-is-enabled" + }, { "description": "No features are enabled by default, as we believe\nthe clipboard can be inherently dangerous and it is \napplication specific if read and/or write access is needed.\n\nClipboard interaction needs to be explicitly enabled.\n", "type": "string", @@ -2094,11 +2129,26 @@ "type": "string", "const": "core:app:allow-default-window-icon" }, + { + "description": "Enables the fetch_data_store_identifiers command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-fetch-data-store-identifiers" + }, + { + "description": "Enables the identifier command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-identifier" + }, { "description": "Enables the name command without any pre-configured scope.", "type": "string", "const": "core:app:allow-name" }, + { + "description": "Enables the remove_data_store command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-remove-data-store" + }, { "description": "Enables the set_app_theme command without any pre-configured scope.", "type": "string", @@ -2129,11 +2179,26 @@ "type": "string", "const": "core:app:deny-default-window-icon" }, + { + "description": "Denies the fetch_data_store_identifiers command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-fetch-data-store-identifiers" + }, + { + "description": "Denies the identifier command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-identifier" + }, { "description": "Denies the name command without any pre-configured scope.", "type": "string", "const": "core:app:deny-name" }, + { + "description": "Denies the remove_data_store command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-remove-data-store" + }, { "description": "Denies the set_app_theme command without any pre-configured scope.", "type": "string", @@ -2929,6 +2994,11 @@ "type": "string", "const": "core:window:allow-internal-toggle-maximize" }, + { + "description": "Enables the is_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-always-on-top" + }, { "description": "Enables the is_closable command without any pre-configured scope.", "type": "string", @@ -3294,6 +3364,11 @@ "type": "string", "const": "core:window:deny-internal-toggle-maximize" }, + { + "description": "Denies the is_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-always-on-top" + }, { "description": "Denies the is_closable command without any pre-configured scope.", "type": "string", @@ -3599,6 +3674,51 @@ "type": "string", "const": "core:window:deny-unminimize" }, + { + "description": "Allows reading the opened deep link via the get_current command", + "type": "string", + "const": "deep-link:default" + }, + { + "description": "Enables the get_current command without any pre-configured scope.", + "type": "string", + "const": "deep-link:allow-get-current" + }, + { + "description": "Enables the is_registered command without any pre-configured scope.", + "type": "string", + "const": "deep-link:allow-is-registered" + }, + { + "description": "Enables the register command without any pre-configured scope.", + "type": "string", + "const": "deep-link:allow-register" + }, + { + "description": "Enables the unregister command without any pre-configured scope.", + "type": "string", + "const": "deep-link:allow-unregister" + }, + { + "description": "Denies the get_current command without any pre-configured scope.", + "type": "string", + "const": "deep-link:deny-get-current" + }, + { + "description": "Denies the is_registered command without any pre-configured scope.", + "type": "string", + "const": "deep-link:deny-is-registered" + }, + { + "description": "Denies the register command without any pre-configured scope.", + "type": "string", + "const": "deep-link:deny-register" + }, + { + "description": "Denies the unregister command without any pre-configured scope.", + "type": "string", + "const": "deep-link:deny-unregister" + }, { "description": "This permission set configures the types of dialogs\navailable from the dialog plugin.\n\n#### Granted Permissions\n\nAll dialog types are enabled.\n\n\n", "type": "string", @@ -5969,6 +6089,11 @@ "type": "string", "const": "valtio:allow-get-save-strategy" }, + { + "description": "Enables the get_store_collection_path command without any pre-configured scope.", + "type": "string", + "const": "valtio:allow-get-store-collection-path" + }, { "description": "Enables the get_store_ids command without any pre-configured scope.", "type": "string", @@ -5984,11 +6109,6 @@ "type": "string", "const": "valtio:allow-get-store-state" }, - { - "description": "Enables the get_valtio_path command without any pre-configured scope.", - "type": "string", - "const": "valtio:allow-get-valtio-path" - }, { "description": "Enables the load command without any pre-configured scope.", "type": "string", @@ -6039,16 +6159,16 @@ "type": "string", "const": "valtio:allow-set-save-strategy" }, + { + "description": "Enables the set_store_collection_path command without any pre-configured scope.", + "type": "string", + "const": "valtio:allow-set-store-collection-path" + }, { "description": "Enables the set_store_options command without any pre-configured scope.", "type": "string", "const": "valtio:allow-set-store-options" }, - { - "description": "Enables the set_valtio_path command without any pre-configured scope.", - "type": "string", - "const": "valtio:allow-set-valtio-path" - }, { "description": "Enables the unload command without any pre-configured scope.", "type": "string", @@ -6069,6 +6189,11 @@ "type": "string", "const": "valtio:deny-get-save-strategy" }, + { + "description": "Denies the get_store_collection_path command without any pre-configured scope.", + "type": "string", + "const": "valtio:deny-get-store-collection-path" + }, { "description": "Denies the get_store_ids command without any pre-configured scope.", "type": "string", @@ -6084,11 +6209,6 @@ "type": "string", "const": "valtio:deny-get-store-state" }, - { - "description": "Denies the get_valtio_path command without any pre-configured scope.", - "type": "string", - "const": "valtio:deny-get-valtio-path" - }, { "description": "Denies the load command without any pre-configured scope.", "type": "string", @@ -6139,16 +6259,16 @@ "type": "string", "const": "valtio:deny-set-save-strategy" }, + { + "description": "Denies the set_store_collection_path command without any pre-configured scope.", + "type": "string", + "const": "valtio:deny-set-store-collection-path" + }, { "description": "Denies the set_store_options command without any pre-configured scope.", "type": "string", "const": "valtio:deny-set-store-options" }, - { - "description": "Denies the set_valtio_path command without any pre-configured scope.", - "type": "string", - "const": "valtio:deny-set-valtio-path" - }, { "description": "Denies the unload command without any pre-configured scope.", "type": "string", diff --git a/src-tauri/gen/schemas/windows-schema.json b/src-tauri/gen/schemas/windows-schema.json index bf054d0..5d1e84d 100644 --- a/src-tauri/gen/schemas/windows-schema.json +++ b/src-tauri/gen/schemas/windows-schema.json @@ -37,7 +37,7 @@ ], "definitions": { "Capability": { - "description": "A grouping and boundary mechanism developers can use to isolate access to the IPC layer.\n\nIt controls application windows fine grained access to the Tauri core, application, or plugin commands. If a 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 programatic 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\"] } ```", + "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 programatic 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", @@ -70,14 +70,14 @@ "type": "boolean" }, "windows": { - "description": "List of windows that are affected by this capability. Can be a glob pattern.\n\nOn multiwebview windows, prefer [`Self::webviews`] for a fine grained access control.\n\n## Example\n\n`[\"main\"]`", + "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\nThis is only required when using on multiwebview contexts, by default all child webviews of a window that matches [`Self::windows`] are linked.\n\n## Example\n\n`[\"sub-webview-one\", \"sub-webview-two\"]`", + "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" @@ -2004,6 +2004,41 @@ "Identifier": { "description": "Permission identifier", "oneOf": [ + { + "description": "This permission set configures if your\napplication can enable or disable auto\nstarting the application on boot.\n\n#### Granted Permissions\n\nIt allows all to check, enable and\ndisable the automatic start on boot.\n\n", + "type": "string", + "const": "autostart:default" + }, + { + "description": "Enables the disable command without any pre-configured scope.", + "type": "string", + "const": "autostart:allow-disable" + }, + { + "description": "Enables the enable command without any pre-configured scope.", + "type": "string", + "const": "autostart:allow-enable" + }, + { + "description": "Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "autostart:allow-is-enabled" + }, + { + "description": "Denies the disable command without any pre-configured scope.", + "type": "string", + "const": "autostart:deny-disable" + }, + { + "description": "Denies the enable command without any pre-configured scope.", + "type": "string", + "const": "autostart:deny-enable" + }, + { + "description": "Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "autostart:deny-is-enabled" + }, { "description": "No features are enabled by default, as we believe\nthe clipboard can be inherently dangerous and it is \napplication specific if read and/or write access is needed.\n\nClipboard interaction needs to be explicitly enabled.\n", "type": "string", @@ -2094,11 +2129,26 @@ "type": "string", "const": "core:app:allow-default-window-icon" }, + { + "description": "Enables the fetch_data_store_identifiers command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-fetch-data-store-identifiers" + }, + { + "description": "Enables the identifier command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-identifier" + }, { "description": "Enables the name command without any pre-configured scope.", "type": "string", "const": "core:app:allow-name" }, + { + "description": "Enables the remove_data_store command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-remove-data-store" + }, { "description": "Enables the set_app_theme command without any pre-configured scope.", "type": "string", @@ -2129,11 +2179,26 @@ "type": "string", "const": "core:app:deny-default-window-icon" }, + { + "description": "Denies the fetch_data_store_identifiers command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-fetch-data-store-identifiers" + }, + { + "description": "Denies the identifier command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-identifier" + }, { "description": "Denies the name command without any pre-configured scope.", "type": "string", "const": "core:app:deny-name" }, + { + "description": "Denies the remove_data_store command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-remove-data-store" + }, { "description": "Denies the set_app_theme command without any pre-configured scope.", "type": "string", @@ -2929,6 +2994,11 @@ "type": "string", "const": "core:window:allow-internal-toggle-maximize" }, + { + "description": "Enables the is_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-always-on-top" + }, { "description": "Enables the is_closable command without any pre-configured scope.", "type": "string", @@ -3294,6 +3364,11 @@ "type": "string", "const": "core:window:deny-internal-toggle-maximize" }, + { + "description": "Denies the is_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-always-on-top" + }, { "description": "Denies the is_closable command without any pre-configured scope.", "type": "string", @@ -3599,6 +3674,51 @@ "type": "string", "const": "core:window:deny-unminimize" }, + { + "description": "Allows reading the opened deep link via the get_current command", + "type": "string", + "const": "deep-link:default" + }, + { + "description": "Enables the get_current command without any pre-configured scope.", + "type": "string", + "const": "deep-link:allow-get-current" + }, + { + "description": "Enables the is_registered command without any pre-configured scope.", + "type": "string", + "const": "deep-link:allow-is-registered" + }, + { + "description": "Enables the register command without any pre-configured scope.", + "type": "string", + "const": "deep-link:allow-register" + }, + { + "description": "Enables the unregister command without any pre-configured scope.", + "type": "string", + "const": "deep-link:allow-unregister" + }, + { + "description": "Denies the get_current command without any pre-configured scope.", + "type": "string", + "const": "deep-link:deny-get-current" + }, + { + "description": "Denies the is_registered command without any pre-configured scope.", + "type": "string", + "const": "deep-link:deny-is-registered" + }, + { + "description": "Denies the register command without any pre-configured scope.", + "type": "string", + "const": "deep-link:deny-register" + }, + { + "description": "Denies the unregister command without any pre-configured scope.", + "type": "string", + "const": "deep-link:deny-unregister" + }, { "description": "This permission set configures the types of dialogs\navailable from the dialog plugin.\n\n#### Granted Permissions\n\nAll dialog types are enabled.\n\n\n", "type": "string", @@ -5924,6 +6044,31 @@ "type": "string", "const": "system-info:deny-used-swap" }, + { + "description": "Allow all", + "type": "string", + "const": "theme:default" + }, + { + "description": "Enables the get_theme command without any pre-configured scope.", + "type": "string", + "const": "theme:allow-get-theme" + }, + { + "description": "Enables the set_theme command without any pre-configured scope.", + "type": "string", + "const": "theme:allow-set-theme" + }, + { + "description": "Denies the get_theme command without any pre-configured scope.", + "type": "string", + "const": "theme:deny-get-theme" + }, + { + "description": "Denies the set_theme command without any pre-configured scope.", + "type": "string", + "const": "theme:deny-set-theme" + }, { "description": "Default permissions for tauri-plugin-valtio.", "type": "string", @@ -5944,6 +6089,11 @@ "type": "string", "const": "valtio:allow-get-save-strategy" }, + { + "description": "Enables the get_store_collection_path command without any pre-configured scope.", + "type": "string", + "const": "valtio:allow-get-store-collection-path" + }, { "description": "Enables the get_store_ids command without any pre-configured scope.", "type": "string", @@ -5959,11 +6109,6 @@ "type": "string", "const": "valtio:allow-get-store-state" }, - { - "description": "Enables the get_valtio_path command without any pre-configured scope.", - "type": "string", - "const": "valtio:allow-get-valtio-path" - }, { "description": "Enables the load command without any pre-configured scope.", "type": "string", @@ -6014,16 +6159,16 @@ "type": "string", "const": "valtio:allow-set-save-strategy" }, + { + "description": "Enables the set_store_collection_path command without any pre-configured scope.", + "type": "string", + "const": "valtio:allow-set-store-collection-path" + }, { "description": "Enables the set_store_options command without any pre-configured scope.", "type": "string", "const": "valtio:allow-set-store-options" }, - { - "description": "Enables the set_valtio_path command without any pre-configured scope.", - "type": "string", - "const": "valtio:allow-set-valtio-path" - }, { "description": "Enables the unload command without any pre-configured scope.", "type": "string", @@ -6044,6 +6189,11 @@ "type": "string", "const": "valtio:deny-get-save-strategy" }, + { + "description": "Denies the get_store_collection_path command without any pre-configured scope.", + "type": "string", + "const": "valtio:deny-get-store-collection-path" + }, { "description": "Denies the get_store_ids command without any pre-configured scope.", "type": "string", @@ -6059,11 +6209,6 @@ "type": "string", "const": "valtio:deny-get-store-state" }, - { - "description": "Denies the get_valtio_path command without any pre-configured scope.", - "type": "string", - "const": "valtio:deny-get-valtio-path" - }, { "description": "Denies the load command without any pre-configured scope.", "type": "string", @@ -6114,16 +6259,16 @@ "type": "string", "const": "valtio:deny-set-save-strategy" }, + { + "description": "Denies the set_store_collection_path command without any pre-configured scope.", + "type": "string", + "const": "valtio:deny-set-store-collection-path" + }, { "description": "Denies the set_store_options command without any pre-configured scope.", "type": "string", "const": "valtio:deny-set-store-options" }, - { - "description": "Denies the set_valtio_path command without any pre-configured scope.", - "type": "string", - "const": "valtio:deny-set-valtio-path" - }, { "description": "Denies the unload command without any pre-configured scope.", "type": "string", diff --git a/src-tauri/src/cmds.rs b/src-tauri/src/cmds.rs index c5a3037..6577458 100644 --- a/src-tauri/src/cmds.rs +++ b/src-tauri/src/cmds.rs @@ -1,57 +1,84 @@ use crate::steam; use crate::tool::*; +use crate::vdf::preset; +use crate::wrap_err; +use anyhow::Result; + +// pub type Result = Result; #[tauri::command] -pub fn greet(name: &str) -> String { - format!("Hello, {}! You've been greeted from Rust!", name) +pub fn greet(name: &str) -> Result { + Ok(format!("Hello, {}! You've been greeted from Rust!", name)) } // 工具 #[tauri::command] -pub fn launch_game(steam_path: &str, launch_option: &str, server: &str) -> String { - steam::launch_game(steam_path, launch_option, server).expect("启动失败"); +pub fn launch_game(steam_path: &str, launch_option: &str, server: &str) -> Result { + wrap_err!(steam::launch_game(steam_path, launch_option, server)); - format!( + Ok(format!( "Launching game on server: {}, with launch Option {}", server, launch_option - ) + )) } #[tauri::command] -pub fn kill_game() -> String { - common::kill("cs2.exe") +pub fn kill_game() -> Result { + Ok(common::kill("cs2.exe")) } #[tauri::command] -pub fn kill_steam() -> String { - common::kill("steam.exe") +pub fn kill_steam() -> Result { + Ok(common::kill("steam.exe")) } // Steam #[tauri::command] -pub fn get_steam_path() -> String { - steam::path::get_steam_path().expect("获取Steam路径失败") +pub fn get_steam_path() -> Result { + wrap_err!(steam::path::get_steam_path()) } -// TODO get_cs_path -// TODO get_powerplan -// TODO set_powerplan -// TODO watch_steam_users -// TODO watch_video_settings -// TODO watch + cancel -// TODO fs_list_dir -// TODO fs_watch_dir +#[tauri::command] +pub fn get_cs_path(name: &str, steam_dir: &str) -> Result { + wrap_err!(steam::path::get_cs_path(name, steam_dir)) +} #[tauri::command] -pub fn set_auto_login_user(user: &str) -> String { +pub fn open_path(path: &str) -> Result<(), String> { + wrap_err!(common::open_path(path)) +} + +#[tauri::command] +pub fn get_powerplan() -> Result { #[cfg(target_os = "windows")] - steam::reg::set_auto_login_user(user).expect("设置自动登录用户失败"); + let powerplan = powerplan::get_powerplan()?; - format!("Set auto login user to {}", user) + Ok(powerplan) } #[tauri::command] -pub fn check_file_exists(file: &str) -> bool { - std::path::Path::new(&file).exists() +pub fn set_powerplan(plan: i32) -> Result<(), String> { + #[cfg(target_os = "windows")] + powerplan::set_powerplan(plan)?; + + Ok(()) +} + +#[tauri::command] +pub fn get_steam_users(steam_dir: &str) -> Result, String> { + wrap_err!(preset::get_users(steam_dir)) +} + +#[tauri::command] +pub fn set_auto_login_user(user: &str) -> Result { + #[cfg(target_os = "windows")] + steam::reg::set_auto_login_user(user)?; + + Ok(format!("Set auto login user to {}", user)) +} + +#[tauri::command] +pub fn check_path(path: &str) -> Result { + Ok(std::path::Path::new(&path).exists()) } diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 3873d56..0823c0d 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -4,6 +4,9 @@ )] use tauri::Manager; +use tauri_plugin_deep_link::DeepLinkExt; +use tauri_plugin_autostart::MacosLauncher; + // Window Vibrancy #[cfg(target_os = "windows")] use window_vibrancy::apply_mica; @@ -20,6 +23,7 @@ mod tray; mod cmds; mod steam; mod tool; +mod vdf; #[tauri::command] fn on_button_clicked() -> String { @@ -35,10 +39,18 @@ fn main() { let mut ctx = tauri::generate_context!(); tauri::Builder::default() + .plugin(tauri_plugin_single_instance::init(|app, _, _| { + let _ = app + .get_webview_window("main") + .expect("no main window") + .set_focus(); + })) + .plugin(tauri_plugin_deep_link::init()) .plugin(tauri_plugin_valtio::init()) .plugin(tauri_plugin_store::Builder::new().build()) .plugin(tauri_plugin_theme::init(ctx.config_mut())) .plugin(tauri_plugin_notification::init()) + .plugin(tauri_plugin_autostart::init(MacosLauncher::LaunchAgent, Some(vec![]) /* arbitrary number of args to pass to your app */)) .plugin(tauri_plugin_http::init()) .plugin(tauri_plugin_shell::init()) .plugin(tauri_plugin_global_shortcut::Builder::new().build()) @@ -51,6 +63,10 @@ fn main() { // .plugin(tauri_plugin_store::Builder::default().build()) // .plugin(tauri_plugin_updater::Builder::new().build()) .setup(|app| { + // Deep Link + #[cfg(desktop)] + app.deep_link().register("cstb")?; + // Tray #[cfg(all(desktop))] { @@ -72,7 +88,6 @@ fn main() { // apply_blur(&window, Some((18, 18, 18, 0))) // .expect("Unsupported platform! 'apply_blur' is only supported on Windows"); - Ok(()) }) .invoke_handler(tauri::generate_handler![ @@ -81,8 +96,13 @@ fn main() { cmds::kill_game, cmds::kill_steam, cmds::get_steam_path, + cmds::get_cs_path, + cmds::open_path, + cmds::get_powerplan, + cmds::set_powerplan, + cmds::get_steam_users, cmds::set_auto_login_user, - cmds::check_file_exists, + cmds::check_path, on_button_clicked ]) .run(ctx) diff --git a/src-tauri/src/steam/mod.rs b/src-tauri/src/steam/mod.rs index f7a9f81..f16597f 100644 --- a/src-tauri/src/steam/mod.rs +++ b/src-tauri/src/steam/mod.rs @@ -2,8 +2,10 @@ pub mod id; pub mod path; pub mod reg; +pub mod user; // common steam utils +use anyhow::Result; use std::error::Error; use std::process::{Command, Output}; diff --git a/src-tauri/src/steam/path.rs b/src-tauri/src/steam/path.rs index 36e3b92..ad44004 100644 --- a/src-tauri/src/steam/path.rs +++ b/src-tauri/src/steam/path.rs @@ -3,37 +3,105 @@ // - CS2(CS:GO) Path #![allow(unused)] +use std::fs::{self, exists}; +use std::path::{Path, PathBuf}; + use crate::tool::common::get_exe_path; +use anyhow::Result; use super::reg; +pub fn get_steam_path() -> Result { + // Running steam.exe + #[cfg(target_os = "windows")] + if let Ok(steam_path) = get_exe_path("steam") { + // 去除结尾的 steam.exe 不区分大小写 + if let Some(parent_path) = Path::new(&steam_path).parent() { + return Ok(parent_path.to_string_lossy().to_string()); + } else { + return Err("Failed to get parent directory".into()); + } + } -pub fn get_steam_path<'a>() -> Result { // Windows Registry #[cfg(target_os = "windows")] if let Ok(reg) = reg::SteamReg::get_all() { return Ok(reg.steam_path); } - // Running steam.exe - #[cfg(target_os = "windows")] - if let Ok(steam_path) = get_exe_path("steam.exe") { - return Ok(steam_path); - } - - Err("no steam path found") + Err("no steam path found".into()) } -pub fn get_cs_path<'a>(name: &str) -> Result { - if name != "csgo" || name != "cs2" { - return Err("invalid cs name"); +pub fn get_cs_path(name: &str, steam_dir: &str) -> Result { + if name != "csgo" && name != "cs2" { + return Err("invalid cs name".into()); } + // 1. 优先检查 steam_dir 参数 + let steam_path = if steam_dir.is_empty() || !Path::new(steam_dir).exists() { + // 如果 steam_dir 不满足条件,调用 get_steam_path 获取路径 + let p = get_steam_path().map_err(|e| e.to_string())?; + PathBuf::from(p) + } else { + PathBuf::from(steam_dir) // 同样转换为PathBuf + }; + + let cs_path = steam_path + .join("steamapps\\common\\Counter-Strike Global Offensive\\game\\bin\\win64\\cs2.exe"); + if cs_path.exists() { + if let Some(parent) = cs_path.parent() { + return Ok(parent.to_string_lossy().to_string()); + } + } + + // 2. 通过注册表读取所有磁盘盘符 #[cfg(target_os = "windows")] - if let Ok(cs_path) = get_exe_path(&(name.to_owned() + ".exe")) { - return Ok(cs_path); + { + use winreg::enums::HKEY_LOCAL_MACHINE; + use winreg::RegKey; + + let hklm = RegKey::predef(HKEY_LOCAL_MACHINE); + let mounted_devices = hklm + .open_subkey("SYSTEM\\MountedDevices") + .map_err(|e| e.to_string())?; + + // 获取所有盘符 + let drives: Vec = mounted_devices + .enum_values() + .filter_map(|v| { + let (name, _) = v.ok()?; + let name = name.to_string(); + if name.starts_with("\\DosDevices\\") { + Some(name.replace("\\DosDevices\\", "")) + } else { + None + } + }) + .collect(); + + // 遍历盘符,尝试查找 cs2.exe + let cs_path_suffix = "SteamLibrary\\steamapps\\common\\Counter-Strike Global Offensive\\game\\bin\\win64\\cs2.exe"; + for drive in drives { + let cs_path = Path::new(&drive).join(cs_path_suffix); + if cs_path.exists() { + if let Some(parent) = cs_path.parent() { + return Ok(parent.to_string_lossy().to_string()); + } + } + } } - Err("no cs path found") + // 3. 查找正在运行的cs2进程 + #[cfg(target_os = "windows")] + if let Ok(cs2_path) = get_exe_path("cs2") { + // 去除结尾的 steam.exe 不区分大小写 + if let Some(parent_path) = Path::new(&cs2_path).parent() { + return Ok(parent_path.to_string_lossy().to_string()); + } else { + return Err("Failed to get parent directory".into()); + } + } + + Err("no cs path found".into()) } #[cfg(test)] @@ -45,4 +113,17 @@ mod tests { let path = get_steam_path().unwrap(); println!("{}", path); } + + #[test] + fn test_get_cs_path() { + let result = get_cs_path("cs2", ""); + assert!(result.is_ok() || result.is_err()); + println!("CS2 Path: {:?}", result); + + // 使用get_steam_path给到的路径 + let steam_dir = get_steam_path().unwrap(); + let result = get_cs_path("cs2", &steam_dir); + assert!(result.is_ok() || result.is_err()); + println!("CS2 Path: {:?}", result) + } } diff --git a/src-tauri/src/steam/reg.rs b/src-tauri/src/steam/reg.rs index ac36165..4269629 100644 --- a/src-tauri/src/steam/reg.rs +++ b/src-tauri/src/steam/reg.rs @@ -29,7 +29,7 @@ impl SteamReg { let hkcu = RegKey::predef(HKEY_CURRENT_USER); let cur_ver = hkcu.open_subkey(STEAM_REG).expect("steam reg"); - let steam_path: String = cur_ver.get_value("SteamExe").expect("steam path"); + let steam_path: String = cur_ver.get_value("SteamPath").expect("steam path"); let auto_login_user: String = cur_ver.get_value("AutoLoginUser").expect("auto login user"); let suppress_auto_run: u32 = cur_ver .get_value("SuppressAutoRun") @@ -39,12 +39,12 @@ impl SteamReg { .expect("remember password"); let language: String = cur_ver.get_value("Language").expect("language"); - let users = cur_ver - .open_subkey("Users") - .expect("users") - .enum_keys() - .map(|x| x.unwrap().to_string()) - .collect::>(); + // let users = cur_ver + // .open_subkey("Users") + // .expect("users") + // .enum_keys() + // .map(|x| x.unwrap().to_string()) + // .collect::>(); Ok(Self { steam_path, @@ -52,7 +52,7 @@ impl SteamReg { suppress_auto_run, remember_password, language, - users: users, + users: vec![], }) } } diff --git a/src-tauri/src/steam/user.rs b/src-tauri/src/steam/user.rs new file mode 100644 index 0000000..3ba5845 --- /dev/null +++ b/src-tauri/src/steam/user.rs @@ -0,0 +1,25 @@ +use crate::vdf::parse::to_json; + +pub fn get_steam_users() -> Result { + let vdf_data = r#" + { + "key1"\t\t"value1" + "key2"\t\t"value2" + "subkey" { + "key3"\t\t"value3" + } + }"#; + let json_data = to_json(vdf_data); + Ok(json_data) +} + +mod tests { + use super::*; + + #[test] + fn test_get_steam_users() { + let result = get_steam_users(); + assert!(result.is_ok() || result.is_err()); + println!("{}", result.unwrap()); + } +} diff --git a/src-tauri/src/tool/common.rs b/src-tauri/src/tool/common.rs index edd418e..aa9854c 100644 --- a/src-tauri/src/tool/common.rs +++ b/src-tauri/src/tool/common.rs @@ -1,8 +1,13 @@ +use std::os::windows::process::CommandExt; use std::process::Command; +const CREATE_NO_WINDOW: u32 = 0x08000000; +// const DETACHED_PROCESS: u32 = 0x00000008; + pub fn kill(name: &str) -> String { Command::new("taskkill") .args(&["/IM", name, "/F"]) + .creation_flags(CREATE_NO_WINDOW) .output() .unwrap(); @@ -12,20 +17,33 @@ pub fn kill(name: &str) -> String { pub fn run_steam() -> std::io::Result { Command::new("cmd") .args(&["/C", "start", "steam://run"]) + .creation_flags(CREATE_NO_WINDOW) .output() } + pub fn get_exe_path(name: &str) -> Result { - let command = format!("/C wmic process where name='{}' get ExecutablePath", name); + // [原理] + // Powershell 运行 Get-Process name | Select-Object path + // 有name.exe运行时返回 + // Path + // ---- + // 进程路径 + let command = format!("Get-Process {} | Select-Object path", name); let args = command.split_whitespace().collect::>(); - let output = Command::new("cmd.exe").args(&args).output()?; + let output = Command::new("powershell.exe") + .args(&args) + .creation_flags(CREATE_NO_WINDOW) + .output()?; - let out = String::from_utf8_lossy(&output.stdout).trim().to_string(); + let out = String::from_utf8_lossy(&output.stdout).to_string(); - if out.contains("ExecutablePath") { + if out.contains("Path") { + let out = out.trim(); let spt: Vec<&str> = out.split("\r\n").collect(); - if spt.len() >= 2 { - return Ok(spt[1].to_string()); + + if spt.len() > 2 { + return Ok(spt[2].to_string()); } } Err(std::io::Error::new( @@ -33,3 +51,40 @@ pub fn get_exe_path(name: &str) -> Result { "Failed to get executable path", )) } + +pub fn open_path(path: &str) -> Result<(), std::io::Error> { + // path中所有/ 转换为 \ + let path = path.replace("/", "\\"); + Command::new("cmd.exe") + .args(["/c", "start", "", &path]) + .creation_flags(CREATE_NO_WINDOW) + .spawn() + .unwrap(); + Ok(()) +} + +mod tests { + use super::*; + #[test] + fn test_open_path() { + let path = "D:\\Programs\\Steam"; + println!("test open path: {}", path); + open_path(path).unwrap(); + + let path = "D:\\Programs\\Steam\\steamapps\\common\\Counter-Strike Global Offensive\\game\\bin\\win64"; + println!("test open path: {}", path); + open_path(path).unwrap(); + + let path = "%appdata%/Wmpvp/demo"; + println!("test open path: {}", path); + open_path(path).unwrap() + } + + #[test] + fn test_get_exe_path() { + let path = get_exe_path("steam").expect("failed"); + println!("test get steam path: {}", path); + + get_exe_path("not_running").expect("failed"); + } +} diff --git a/src-tauri/src/tool/macros.rs b/src-tauri/src/tool/macros.rs index b6b7e28..a017980 100644 --- a/src-tauri/src/tool/macros.rs +++ b/src-tauri/src/tool/macros.rs @@ -36,9 +36,10 @@ macro_rules! wrap_err { match $stat { Ok(a) => Ok(a), Err(err) => { - log::error!(target: "app", "{}", err.to_string()); - Err(format!("{}", err.to_string())) + let err_str = err.to_string(); + log::error!(target: "app", "{}", err_str); + Err(err_str) } } }; -} +} \ No newline at end of file diff --git a/src-tauri/src/tool/mod.rs b/src-tauri/src/tool/mod.rs index edeeeb5..5cdeca4 100644 --- a/src-tauri/src/tool/mod.rs +++ b/src-tauri/src/tool/mod.rs @@ -1,2 +1,3 @@ pub mod common; pub mod macros; +pub mod powerplan; \ No newline at end of file diff --git a/src-tauri/src/tool/powerplan.rs b/src-tauri/src/tool/powerplan.rs new file mode 100644 index 0000000..c8a2e36 --- /dev/null +++ b/src-tauri/src/tool/powerplan.rs @@ -0,0 +1,143 @@ +use std::collections::HashMap; +use std::process::Command; +use std::os::windows::process::CommandExt; + +const CREATE_NO_WINDOW: u32 = 0x08000000; +// const DETACHED_PROCESS: u32 = 0x00000008; + +pub struct PowerPlan { + power_plan_map: HashMap, +} + +impl PowerPlan { + pub fn new() -> Self { + let mut power_plan_map = HashMap::new(); + power_plan_map.insert( + PowerPlanMode::PowerSaving as i32, + "a1841308-3541-4fab-bc81-f71556f20b4a".to_string(), + ); + power_plan_map.insert( + PowerPlanMode::Balanced as i32, + "381b4222-f694-41f0-9685-ff5bb260df2e".to_string(), + ); + power_plan_map.insert( + PowerPlanMode::HighPerformance as i32, + "8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c".to_string(), + ); + power_plan_map.insert( + PowerPlanMode::Extreme as i32, + "e9a42b02-d5df-448d-aa00-03f14749eb61".to_string(), + ); + + PowerPlan { power_plan_map } + } + + pub fn set(&self, mode: i32) -> Result<(), String> { + let guid = self + .power_plan_map + .get(&mode) + .ok_or("Invalid power plan number (expect from 1 to 4)")?; + + let output = Command::new("powercfg") + .arg("/S") + .arg(guid) + .creation_flags(CREATE_NO_WINDOW) + .output() + .map_err(|e| format!("Failed to execute powercfg command: {}", e))?; + + if !output.status.success() { + return Err(format!( + "Powercfg command failed: {}", + String::from_utf8_lossy(&output.stderr) + )); + } + + Ok(()) + } + + pub fn get(&self) -> Result { + let output = Command::new("powercfg") + .arg("/L") + .creation_flags(CREATE_NO_WINDOW) + .output() + .map_err(|e| format!("Failed to execute powercfg command: {}", e))?; + + let output_str = String::from_utf8_lossy(&output.stdout); + let re = regex::Regex::new(r"GUID:\s+(\S+)\s+\(\S+\)\s+\*") + .map_err(|e| format!("Failed to compile regex: {}", e))?; + + let res = re + .captures(&output_str) + .ok_or("No matching power plan found")?; + let guid = res + .get(1) + .ok_or("No GUID found in power plan output")? + .as_str(); + + for (k, v) in &self.power_plan_map { + if guid == v { + return Ok(*k); + } + } + + Err("No matching power plan found in map".to_string()) + } +} + +#[allow(dead_code)] +pub enum PowerPlanMode { + Other = 0, + PowerSaving = 1, + Balanced = 2, + HighPerformance = 3, + Extreme = 4, +} + +pub fn get_powerplan() -> Result { + let power_plan = PowerPlan::new(); + let mode = power_plan.get()?; + Ok(mode) +} + +pub fn set_powerplan(plan: i32) -> Result<(), String> { + if plan < 0 || plan > 4 { + return Err("Invalid power plan mode".to_string()); + } + let power_plan = PowerPlan::new(); + power_plan.set(plan)?; + Ok(()) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_set_power_plan() { + let power_plan = PowerPlan::new(); + // 测试设置节能模式 + let result = power_plan.set(PowerPlanMode::PowerSaving as i32); + assert!(result.is_ok(), "Failed to set power saving plan"); + + // 测试设置无效模式 + let result = power_plan.set(99); + assert!(result.is_err(), "Setting invalid power plan should fail"); + } + + #[test] + fn test_get_power_plan() { + let power_plan = PowerPlan::new(); + // 测试获取当前电源计划 + let result = power_plan.get(); + assert!(result.is_ok(), "Failed to get current power plan"); + + // 验证返回的模式是否在有效范围内 + let mode = result.unwrap(); + assert!((1..=4).contains(&mode), "Invalid power plan mode returned"); + println!( + "Mode: {} - {}", + mode, + PowerPlan::new().power_plan_map[&mode] + ); + } +} diff --git a/src-tauri/src/vdf/mod.rs b/src-tauri/src/vdf/mod.rs new file mode 100644 index 0000000..294d73f --- /dev/null +++ b/src-tauri/src/vdf/mod.rs @@ -0,0 +1,2 @@ +pub mod parse; +pub mod preset; \ No newline at end of file diff --git a/src-tauri/src/vdf/parse.rs b/src-tauri/src/vdf/parse.rs new file mode 100644 index 0000000..35c994e --- /dev/null +++ b/src-tauri/src/vdf/parse.rs @@ -0,0 +1,84 @@ +pub fn to_json(vdf_data: &str) -> String { + let linebreak = match std::env::consts::OS { + "macos" => "\r", + "windows" => "\n", + "linux" => "\n", + _ => "\n", + }; + + let startpoint = vdf_data.find('{').unwrap_or(0); + let vdf_data = &vdf_data[startpoint..]; + + let lines: Vec<&str> = vdf_data.split(linebreak).collect(); + let mut json_data = String::new(); + + for line in lines { + let mut line = line.trim_end_matches('\r').trim().to_string(); + + if line.contains("\"\t\t\"") { + line = line.replace("\"\t\t\"", "\": \""); + line.push(','); + } else if line.contains("\" \"") { + line = line.replace("\" \"", "\": \""); + line.push(','); + } + + line = line + .replace('{', ": {") + .replace('\t', "") + .replace('}', "},"); + + json_data.push_str(&line); + } + + json_data = json_data + .replace(",}", "}") + .trim_start_matches(": ") + .trim_end_matches(',') + .to_string(); + + json_data +} + +mod tests { + use super::*; + + #[test] + fn test_to_json() { + let vdf_data = "\"users\" + { + \"76561198315078806\" + { + \"AccountName\" \"_jerry_dota2\" + \"PersonaName\" \"Rop紫(已黑化)\" + \"RememberPassword\" \"1\" + \"WantsOfflineMode\" \"0\" + \"SkipOfflineModeWarning\" \"0\" + \"AllowAutoLogin\" \"1\" + \"MostRecent\" \"1\" + \"Timestamp\" \"1742706884\" + } + \"76561198107125441\" + { + \"AccountName\" \"_im_ai_\" + \"PersonaName\" \"Buongiorno\" + \"RememberPassword\" \"1\" + \"WantsOfflineMode\" \"0\" + \"SkipOfflineModeWarning\" \"0\" + \"AllowAutoLogin\" \"1\" + \"MostRecent\" \"0\" + \"Timestamp\" \"1739093763\" + } + } +"; + + // let expected_json = r#"{"key1": "value1","key2": "value2","subkey": {"key3": "value3"}}"#; + let json_data = to_json(vdf_data); + + // 解析json + let json_value: serde_json::Value = serde_json::from_str(&json_data).unwrap(); + + println!("{}", json_value) + // assert_eq!(to_json(vdf_data), expected_json); + } +} diff --git a/src-tauri/src/vdf/preset.rs b/src-tauri/src/vdf/preset.rs new file mode 100644 index 0000000..37e9932 --- /dev/null +++ b/src-tauri/src/vdf/preset.rs @@ -0,0 +1,282 @@ +use anyhow::Result; +use base64::engine::general_purpose::STANDARD; +use base64::Engine; +use serde::{Deserialize, Serialize}; +use serde_json::Value; +use std::collections::HashMap; +use std::fs; +use std::path::Path; +use tauri_plugin_http::reqwest::blocking::get; +use walkdir::WalkDir; + +use crate::steam; + +#[derive(Serialize, Deserialize, Debug)] +pub struct User { + steam_id64: u64, + steam_id32: u32, + account_name: String, + persona_name: String, + recent: i32, + avatar: String, +} + +#[derive(Serialize, Deserialize, Debug)] +pub struct LoginUser { + steam_id64: u64, + steam_id32: u32, + account_name: String, + persona_name: String, + remember_password: String, + wants_offline_mode: String, + skip_offline_mode_warning: String, + allow_auto_login: String, + most_recent: String, + timestamp: String, + avatar: String, + avatar_key: String, +} + +#[derive(Serialize, Deserialize, Debug)] +pub struct LocalUser { + steam_id32: u32, + persona_name: String, + avatar_key: String, +} + +pub fn parse_login_users(steam_dir: &str) -> Result> { + let t_path = Path::new(steam_dir).join("config/loginusers.vdf"); + if !t_path.exists() { + return Ok(Vec::new()); + } + + let data = fs::read_to_string(t_path)?; + let json_data = super::parse::to_json(&data); + let kv: HashMap = serde_json::from_str(&json_data)?; + + let mut users = Vec::new(); + for (k, v) in kv { + let props = v.as_object().unwrap(); + + let avatar = if let Some(img) = read_avatar(&steam_dir, &k) { + img + } else { + String::new() + }; + + let id64 = k.parse::()?; + + let user = LoginUser { + steam_id32: steam::id::id64_to_32(id64), + steam_id64: id64, + account_name: props + .get("AccountName") + .and_then(|v| v.as_str()) + .unwrap_or("") + .to_string(), + persona_name: props + .get("PersonaName") + .and_then(|v| v.as_str()) + .unwrap_or("") + .to_string(), + remember_password: props + .get("RememberPassword") + .and_then(|v| v.as_str()) + .unwrap_or("") + .to_string(), + wants_offline_mode: props + .get("WantsOfflineMode") + .and_then(|v| v.as_str()) + .unwrap_or("") + .to_string(), + skip_offline_mode_warning: props + .get("SkipOfflineModeWarning") + .and_then(|v| v.as_str()) + .unwrap_or("") + .to_string(), + allow_auto_login: props + .get("AllowAutoLogin") + .and_then(|v| v.as_str()) + .unwrap_or("") + .to_string(), + most_recent: props + .get("MostRecent") + .and_then(|v| v.as_str()) + .unwrap_or("") + .to_string(), + timestamp: props + .get("Timestamp") + .and_then(|v| v.as_str()) + .unwrap_or("") + .to_string(), + avatar, + avatar_key: String::new(), + }; + + users.push(user); + } + + Ok(users) +} + +pub fn parse_local_users(steam_dir: &str) -> Result> { + let root = Path::new(steam_dir).join("userdata"); + if !root.exists() { + return Ok(Vec::new()); + } + + let mut local_users = Vec::new(); + + for entry in WalkDir::new(&root) { + let entry = entry?; + let path = entry.path(); + + // 跳过根目录 + if path == root { + continue; + } + + // 只处理目录 + if entry.file_type().is_dir() { + let id = path.file_name().unwrap().to_str().unwrap(); + + // 检查 localconfig.vdf 文件是否存在 + let local_config_path = path.join("config/localconfig.vdf"); + if !local_config_path.exists() { + continue; + } + + // 读取并解析 localconfig.vdf 文件 + let data = fs::read_to_string(local_config_path)?; + let json_data = super::parse::to_json(&data); + let kv: HashMap = serde_json::from_str(&json_data)?; + + // 获取 friends 节点 + let friends = kv.get("friends").and_then(|v| v.as_object()); + if friends.is_none() { + continue; + } + + let friends = friends.unwrap(); + + // 获取 PersonaName + let persona_name = friends + .get("PersonaName") + .and_then(|v| v.as_str()) + .unwrap_or("") + .to_string(); + + // 获取 AvatarKey + let avatar_key = friends + .get(id) + .and_then(|v| v.as_object()) + .and_then(|props| props.get("avatar")) + .and_then(|v| v.as_str()) + .unwrap_or("") + .to_string(); + + // 创建 LocalUser 并加入列表 + local_users.push(LocalUser { + steam_id32: id.parse::().unwrap(), + persona_name, + avatar_key, + }); + + // 跳过子目录 + WalkDir::new(path).max_depth(1).into_iter().next(); + } + } + + Ok(local_users) +} + +pub fn merge_users(login: Vec, local: Vec) -> Vec { + let mut users = Vec::new(); + for i in login { + let avatar: String; + let mut avatar_key = String::new(); + + // 匹配获取 avatar_key 在线获取头像使用 + let t_usr: Vec<&LocalUser> = local + .iter() + .filter(|j| i.steam_id32 == j.steam_id32) + .collect(); + + if let Some(usr) = t_usr.first() { + avatar_key = usr.avatar_key.clone(); + } + + // 获取头像的base64 本地头像文件不存在时使用在线api获取 + if i.avatar.is_empty() && !avatar_key.is_empty() { + avatar = download_avatar(&avatar_key).unwrap_or_default(); + } else { + avatar = i.avatar; + } + + users.push(User { + steam_id64: i.steam_id64, + steam_id32: i.steam_id32, + account_name: i.account_name, + persona_name: i.persona_name, + recent: i.most_recent.parse().unwrap_or(0), + avatar, + }); + } + + // 把第一个recent=1的放在头部 + for (id, usr) in users.iter_mut().enumerate() { + if usr.recent == 1 { + let tmp = users.remove(id); + users.insert(0, tmp); + break; + } + } + + users +} + +pub fn get_users(steam_dir: &str) -> Result> { + let login_users = parse_login_users(steam_dir)?; + let local_users = parse_local_users(steam_dir)?; + let users = merge_users(login_users, local_users); + + Ok(users) +} + +fn download_avatar(avatar_key: &str) -> Result { + // 下载并转换成Base64 "https://avatars.cloudflare.steamstatic.com/" + avatarKey + "_full.jpg" + let url = format!( + "https://avatars.cloudflare.steamstatic.com/{}_full.jpg", + avatar_key + ); + if let Ok(resp) = get(&url) { + if let Ok(bytes) = resp.bytes() { + return Ok(STANDARD.encode(bytes)); + } + } + return Err(anyhow::anyhow!("Failed to download avatar")); +} + +fn read_avatar(steam_dir: &str, steam_id64: &str) -> Option { + let t_path = Path::new(steam_dir).join(format!("config\\avatarcache\\{}.png", steam_id64)); + if !t_path.exists() { + return None; + } + + if let Ok(img) = fs::read(t_path) { + Some(STANDARD.encode(img)) + } else { + None + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_get_users() { + let users = get_users("D:\\Programs\\Steam").unwrap(); + println!("{:?}", users); + } +} diff --git a/src-tauri/src/vdf/tests/config.vdf b/src-tauri/src/vdf/tests/config.vdf new file mode 100644 index 0000000..d5a5e27 --- /dev/null +++ b/src-tauri/src/vdf/tests/config.vdf @@ -0,0 +1,1199 @@ +"InstallConfigStore" +{ + "Software" + { + "Valve" + { + "Steam" + { + "AutoUpdateWindowEnabled" "0" + "ipv6check_http_state" "bad" + "ipv6check_udp_state" "bad" + "ShaderCacheManager" + { + "HasCurrentBucket" "1" + "CurrentBucketGPU" "a8ceae754755a246;b3897e739bf749b6" + "CurrentBucketDriver" "W2:f46a1433a5f08912dfbd52508b26d38b;W2:debd7ed96d96776feab0263d101e1609" + "App" + { + "730" + { + "ShaderCacheSize" "65010881" + } + "2358720" + { + "ShaderCacheSize" "84" + } + "228980" + { + "ShaderCacheSize" "0" + } + "386940" + { + "ShaderCacheSize" "0" + } + "570940" + { + "ShaderCacheSize" "0" + } + "583950" + { + } + "1245620" + { + "ShaderCacheSize" "0" + } + "1449850" + { + "ShaderCacheSize" "0" + } + "1905180" + { + "ShaderCacheSize" "0" + } + "3036080" + { + "ShaderCacheSize" "0" + } + "3132990" + { + "ShaderCacheSize" "0" + } + "223850" + { + "ShaderCacheSize" "0" + } + "10" + { + "ShaderCacheSize" "0" + } + "70" + { + "ShaderCacheSize" "0" + } + "570" + { + "ShaderCacheSize" "0" + } + "1144200" + { + "ShaderCacheSize" "0" + } + "3097560" + { + "ShaderCacheSize" "0" + } + "289070" + { + "ShaderCacheSize" "0" + } + "993090" + { + "ShaderCacheSize" "0" + } + "1030840" + { + "ShaderCacheSize" "0" + } + } + "DisableShaderCache" "1" + } + "RecentWebSocket443Failures" "" + "RecentWebSocketNon443Failures" "1742629065,1742629091,1742629984,1742630044,1742630063,1742644811,1742653203,1742706882,1742706884,1742706897" + "RecentUDPFailures" "" + "RecentTCPFailures" "" + "CMWebSocket" + { + "cmp1-sgp1.steamserver.net:27020" + { + "LastPingTimestamp" "0" + "dc" "sgp1" + "LastPingValue" "100000" + "LastLoadValue" "0" + } + "cmp2-sgp1.steamserver.net:443" + { + "LastPingTimestamp" "0" + "dc" "sgp1" + "LastPingValue" "100000" + "LastLoadValue" "0" + } + "cmp3-hkg1.steamserver.net:27020" + { + "LastPingTimestamp" "0" + "dc" "hkg1" + } + "cmp2-tyo3.steamserver.net:27020" + { + "LastPingTimestamp" "0" + "dc" "tyo3" + "LastPingValue" "100000" + "LastLoadValue" "0" + } + "cmp2-hkg1.steamserver.net:27021" + { + "LastPingTimestamp" "0" + "dc" "hkg1" + } + "cmp1-hkg1.steamserver.net:27025" + { + "LastPingTimestamp" "0" + "dc" "hkg1" + } + "cmp1-hkg1.steamserver.net:443" + { + "LastPingTimestamp" "1742706882" + "dc" "hkg1" + "LastPingValue" "100000" + "LastLoadValue" "0" + } + "cmp1-tyo3.steamserver.net:27019" + { + "LastPingTimestamp" "1742706896" + "dc" "tyo3" + "LastPingValue" "100000" + "LastLoadValue" "0" + } + "cmp1-lax1.steamserver.net:443" + { + "LastPingTimestamp" "0" + "dc" "lax1" + } + "cmp2-hkg1.steamserver.net:27023" + { + "LastPingTimestamp" "0" + "dc" "hkg1" + "LastPingValue" "100000" + "LastLoadValue" "0" + } + "cmp2-hkg1.steamserver.net:27019" + { + "LastPingTimestamp" "0" + "dc" "hkg1" + } + "cmp1-hkg1.steamserver.net:27021" + { + "LastPingTimestamp" "0" + "dc" "hkg1" + } + "cmp1-sgp1.steamserver.net:27019" + { + "LastPingTimestamp" "1742706895" + "dc" "sgp1" + "LastPingValue" "100000" + "LastLoadValue" "0" + } + "cmp2-hkg1.steamserver.net:27024" + { + "LastPingTimestamp" "1742653201" + "dc" "hkg1" + "LastPingValue" "100000" + "LastLoadValue" "0" + } + "cmp3-hkg1.steamserver.net:27018" + { + "LastPingTimestamp" "0" + "dc" "hkg1" + } + "cmp1-hkg1.steamserver.net:27018" + { + "LastPingTimestamp" "0" + "dc" "hkg1" + } + "cmp1-tyo3.steamserver.net:27018" + { + "LastPingTimestamp" "0" + "dc" "tyo3" + "LastPingValue" "100000" + "LastLoadValue" "0" + } + "cmp2-lax1.steamserver.net:27018" + { + "LastPingTimestamp" "0" + "dc" "lax1" + "LastPingValue" "100000" + "LastLoadValue" "0" + } + "cmp3-hkg1.steamserver.net:27021" + { + "LastPingTimestamp" "1742706895" + "dc" "hkg1" + "LastPingValue" "100000" + "LastLoadValue" "0" + } + "cmp1-hkg1.steamserver.net:27022" + { + "LastPingTimestamp" "1742706895" + "dc" "hkg1" + "LastPingValue" "100000" + "LastLoadValue" "0" + } + "cmp3-hkg1.steamserver.net:27024" + { + "LastPingTimestamp" "0" + "dc" "hkg1" + } + "cmp2-hkg1.steamserver.net:27025" + { + "LastPingTimestamp" "0" + "dc" "hkg1" + } + "cmp3-hkg1.steamserver.net:27022" + { + "LastPingTimestamp" "0" + "dc" "hkg1" + } + "cmp3-hkg1.steamserver.net:27019" + { + "LastPingTimestamp" "0" + "dc" "hkg1" + } + "cmp2-hkg1.steamserver.net:27018" + { + "LastPingTimestamp" "0" + "dc" "hkg1" + } + "cmp1-hkg1.steamserver.net:27019" + { + "LastPingTimestamp" "0" + "dc" "hkg1" + } + "cmp1-hkg1.steamserver.net:27020" + { + "LastPingTimestamp" "0" + "dc" "hkg1" + } + "cmp3-hkg1.steamserver.net:27023" + { + "LastPingTimestamp" "0" + "dc" "hkg1" + } + "cmp1-hkg1.steamserver.net:27024" + { + "LastPingTimestamp" "0" + "dc" "hkg1" + } + "cmp3-hkg1.steamserver.net:443" + { + "LastPingTimestamp" "1742706894" + "dc" "hkg1" + "LastPingValue" "182" + "LastLoadValue" "39" + } + "cmp1-sgp1.steamserver.net:443" + { + "LastPingTimestamp" "1742706894" + "dc" "sgp1" + "LastPingValue" "121" + "LastLoadValue" "45" + } + "cmp2-sgp1.steamserver.net:27020" + { + "LastPingTimestamp" "1742706895" + "dc" "sgp1" + "LastPingValue" "100000" + "LastLoadValue" "0" + } + "cmp2-sgp1.steamserver.net:27019" + { + "LastPingTimestamp" "0" + "dc" "sgp1" + } + "cmp1-sgp1.steamserver.net:27018" + { + "LastPingTimestamp" "0" + "dc" "sgp1" + } + "cmp2-sgp1.steamserver.net:27018" + { + "LastPingTimestamp" "0" + "dc" "sgp1" + } + "cmp2-tyo3.steamserver.net:27018" + { + "LastPingTimestamp" "1742706896" + "dc" "tyo3" + "LastPingValue" "100000" + "LastLoadValue" "0" + } + "cmp1-tyo3.steamserver.net:27020" + { + "LastPingTimestamp" "0" + "dc" "tyo3" + } + "cmp2-tyo3.steamserver.net:27019" + { + "LastPingTimestamp" "0" + "dc" "tyo3" + } + "cmp2-tyo3.steamserver.net:443" + { + "LastPingTimestamp" "1742706896" + "dc" "tyo3" + "LastPingValue" "244" + "LastLoadValue" "29" + } + "cmp1-lax1.steamserver.net:27018" + { + "LastPingTimestamp" "1742706896" + "dc" "lax1" + "LastPingValue" "100000" + "LastLoadValue" "0" + } + "cmp2-lax1.steamserver.net:443" + { + "LastPingTimestamp" "0" + "dc" "lax1" + } + "cmp2-dfw1.steamserver.net:443" + { + "LastPingTimestamp" "0" + "dc" "dfw1" + } + "cmp1-dfw1.steamserver.net:443" + { + "LastPingTimestamp" "0" + "dc" "dfw1" + } + "cmp2-dfw1.steamserver.net:27018" + { + "LastPingTimestamp" "0" + "dc" "dfw1" + } + "cmp1-dfw1.steamserver.net:27018" + { + "LastPingTimestamp" "0" + "dc" "dfw1" + } + "cmp2-sea1.steamserver.net:443" + { + "LastPingTimestamp" "0" + "dc" "sea1" + } + "cmp1-sea1.steamserver.net:443" + { + "LastPingTimestamp" "0" + "dc" "sea1" + } + "cmp2-sea1.steamserver.net:27018" + { + "LastPingTimestamp" "0" + "dc" "sea1" + } + "cmp1-sea1.steamserver.net:27018" + { + "LastPingTimestamp" "0" + "dc" "sea1" + } + "ext1-maa2.steamserver.net:27034" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "cmp1-ord1.steamserver.net:443" + { + "LastPingTimestamp" "0" + "dc" "ord1" + } + "cmp2-ord1.steamserver.net:443" + { + "LastPingTimestamp" "0" + "dc" "ord1" + } + "ext2-maa2.steamserver.net:27035" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "cmp2-ord1.steamserver.net:27018" + { + "LastPingTimestamp" "0" + "dc" "ord1" + } + "ext1-maa2.steamserver.net:27023" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext2-maa2.steamserver.net:27021" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext1-maa2.steamserver.net:27029" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext2-maa2.steamserver.net:27019" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext2-maa2.steamserver.net:27036" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext1-maa2.steamserver.net:27024" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext1-maa2.steamserver.net:27033" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext2-maa2.steamserver.net:27033" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext1-maa2.steamserver.net:27035" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext1-maa2.steamserver.net:27030" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext1-maa2.steamserver.net:27020" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext2-maa2.steamserver.net:27025" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext2-maa2.steamserver.net:27031" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext2-maa2.steamserver.net:27034" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext2-maa2.steamserver.net:27024" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext1-maa2.steamserver.net:27022" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext1-maa2.steamserver.net:27032" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "cmp1-ord1.steamserver.net:27018" + { + "LastPingTimestamp" "0" + "dc" "ord1" + } + "ext2-maa2.steamserver.net:27028" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext2-maa2.steamserver.net:27032" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext1-maa2.steamserver.net:27019" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext1-maa2.steamserver.net:27036" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext1-maa2.steamserver.net:27031" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext1-maa2.steamserver.net:27038" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext2-maa2.steamserver.net:443" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext2-maa2.steamserver.net:27022" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext2-maa2.steamserver.net:27020" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "cmp2-iad1.steamserver.net:27018" + { + "LastPingTimestamp" "0" + "dc" "iad1" + } + "cmp1-iad1.steamserver.net:27018" + { + "LastPingTimestamp" "0" + "dc" "iad1" + } + "ext2-maa2.steamserver.net:27037" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "ext1-maa2.steamserver.net:443" + { + "LastPingTimestamp" "0" + "dc" "maa2" + } + "cmp1-iad1.steamserver.net:443" + { + "LastPingTimestamp" "0" + "dc" "iad1" + } + "cmp1-iad1.steamserver.net:27020" + { + "LastPingTimestamp" "0" + "dc" "iad1" + } + "cmp2-atl3.steamserver.net:443" + { + "LastPingTimestamp" "0" + "dc" "atl3" + } + "cmp1-iad1.steamserver.net:27019" + { + "LastPingTimestamp" "0" + "dc" "iad1" + } + "cmp2-iad1.steamserver.net:27019" + { + "LastPingTimestamp" "0" + "dc" "iad1" + } + "cmp1-atl3.steamserver.net:27018" + { + "LastPingTimestamp" "0" + "dc" "atl3" + } + "cmp1-atl3.steamserver.net:443" + { + "LastPingTimestamp" "0" + "dc" "atl3" + } + "cmp2-iad1.steamserver.net:27020" + { + "LastPingTimestamp" "0" + "dc" "iad1" + } + "cmp2-atl3.steamserver.net:27018" + { + "LastPingTimestamp" "1742706897" + "dc" "atl3" + "LastPingValue" "100000" + "LastLoadValue" "0" + } + "cmp2-iad1.steamserver.net:443" + { + "LastPingTimestamp" "0" + "dc" "iad1" + } + "ext2-syd1.steamserver.net:27038" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext2-syd1.steamserver.net:27037" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext2-syd1.steamserver.net:27019" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext1-syd1.steamserver.net:27034" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext1-syd1.steamserver.net:27031" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext1-syd1.steamserver.net:27022" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext1-syd1.steamserver.net:27023" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext2-syd1.steamserver.net:27022" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext2-syd1.steamserver.net:27034" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext1-syd1.steamserver.net:27025" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext2-syd1.steamserver.net:27031" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext1-syd1.steamserver.net:27030" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext1-syd1.steamserver.net:27035" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext1-syd1.steamserver.net:27020" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext1-syd1.steamserver.net:27024" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext1-syd1.steamserver.net:27021" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext2-syd1.steamserver.net:27021" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext1-syd1.steamserver.net:27038" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext1-syd1.steamserver.net:27028" + { + "LastPingTimestamp" "1742706897" + "dc" "syd1" + "LastPingValue" "100000" + "LastLoadValue" "0" + } + "ext1-syd1.steamserver.net:27033" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext2-syd1.steamserver.net:27032" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext1-syd1.steamserver.net:27037" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext2-syd1.steamserver.net:443" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext2-syd1.steamserver.net:27024" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext2-syd1.steamserver.net:27030" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext2-syd1.steamserver.net:27020" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext1-syd1.steamserver.net:27032" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext1-syd1.steamserver.net:27036" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext2-syd1.steamserver.net:27023" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext1-syd1.steamserver.net:443" + { + "LastPingTimestamp" "0" + "dc" "syd1" + } + "ext1-bom2.steamserver.net:27021" + { + "LastPingTimestamp" "0" + "dc" "bom2" + } + "ext2-bom2.steamserver.net:27036" + { + "LastPingTimestamp" "0" + "dc" "bom2" + } + "ext2-bom2.steamserver.net:27024" + { + "LastPingTimestamp" "0" + "dc" "bom2" + } + "ext2-bom2.steamserver.net:443" + { + "LastPingTimestamp" "0" + "dc" "bom2" + } + "ext2-bom2.steamserver.net:27028" + { + "LastPingTimestamp" "0" + "dc" "bom2" + } + "ext1-bom2.steamserver.net:27023" + { + "LastPingTimestamp" "0" + "dc" "bom2" + } + "ext2-bom2.steamserver.net:27029" + { + "LastPingTimestamp" "0" + "dc" "bom2" + } + } + "MTBF" "2099863812" + "Accounts" + { + "_jerry_dota2" + { + "SteamID" "76561198315078806" + } + "_im_ai_" + { + "SteamID" "76561198107125441" + } + } + "CellIDServerOverride" "33" + "cip" "020000005f286fa7e3a96c3900006ff48259" + "SurveyDateVersion" "-2037336070688294688" + "SurveyDate" "2025-01-01" + "SurveyDateType" "2" + "Rate" "30000" + "depots" + { + "228983" + { + "DecryptionKey" "77c8e812cd79e67e2d376721253ebb07e06b3646f05671c6c9517b27be14734b" + } + "730" + { + "DecryptionKey" "2e61570111ad4d1e4abcb711576f96b84907a024f9f9bf4a4d692d7c132ee91b" + } + "228985" + { + "DecryptionKey" "21a2f639584d9bd462c5c4b3e10f881cba8a17ae674c830c4f083551cd356e9c" + } + "228986" + { + "DecryptionKey" "51dd3611d28621644730736f3bb1fd6b960053a45cd79123f2b9a80c9181dad5" + } + "228988" + { + "DecryptionKey" "1845444d5e2cfd0ae65ae4a8fedb6e2fbf776fcc5b913ab4ac461bc9a74f8358" + } + "228989" + { + "DecryptionKey" "ad69276eb476cf06c40312df7376d63deac0c838b9a2767005be8bb306ffb853" + } + "228990" + { + "DecryptionKey" "44d8c45ce229a11c4f231a3d2a350eaf80b0d69a8af938ec7ccca720f694b0e8" + } + "229006" + { + "DecryptionKey" "9bc3e05ce55153e5c315cb18024602ca15958a7be03adc5ffbe53b00a8524416" + } + "732" + { + "DecryptionKey" "da1f76913633e9ce1b2bda5ec464dc507205388fac5c4c614b6a2706cdbd0912" + } + "731" + { + "DecryptionKey" "bca9a9cde94bb4dff61849c6a87230ee45867a590fdd28826366e35e7d62c08e" + } + "735" + { + "DecryptionKey" "a0ef69f0cf8abd70aa9ed79755fbe4d98cf7c6723ba9e0c66e0f7102e49541e6" + } + "736" + { + "DecryptionKey" "e81988c241b4ec9fc7fe1ab34697689f131a48c78da95c985ed347fb43bdc6de" + } + "737" + { + "DecryptionKey" "c80f96efa325374c18c6d5d63ccd2687b1680a908c6def5c5c808e695f1ddbf9" + } + "738" + { + "DecryptionKey" "fbc1a292c9b75e33512ed82476267efbf34f1ed1b177651ed8b091cf7174d183" + } + "2347770" + { + "DecryptionKey" "b23a737920b6a72f932a5bcdbdf51770d7d4d394a13f95b1cf29db28c1043d88" + } + "2347771" + { + "DecryptionKey" "b80e2b4bd2a244ba996a013850b5d2f46c897f382164181b382c5d672fcb5090" + } + "2347774" + { + "DecryptionKey" "71e79678830ea0234437b03526e2ede2decfed847ce20bae413718b47db44bea" + } + "2347779" + { + "DecryptionKey" "a3d6504606875447dc6dedcba78bebb3e0a122fb30a504ef805536f216354271" + } + "3036081" + { + "DecryptionKey" "43c6cbc48dd25cd831e560ab88eaec5ec6ea5759d28d66933d6ae1a4badb30db" + } + "3097561" + { + "DecryptionKey" "86eb48bd45b0ad6b6c525996f1844bb03ddd150dff04f65f5119418b10017dd3" + } + "1449853" + { + "DecryptionKey" "068dd00ef43bc982b5706b462dc417325371f29d557f9d0651d40aba06c1aaa6" + } + "373301" + { + "DecryptionKey" "279c88be13d9b20cc225ac6a493938250bd3c466a10be0510ee63f3fee466e59" + } + "381451" + { + "DecryptionKey" "c45d21d2567e6bbbaabd5d8c510cfc3df5c51ba614e8147758361b095d4fa385" + } + "381452" + { + "DecryptionKey" "dbca512c4195d0acb381cb58961227a2389591eb8ef830fe0b2075034915429f" + } + "381453" + { + "DecryptionKey" "7579e5293fe4e936f8c9e91699ad8331d317aef3fd772926c1fc5f6b3775d15e" + } + "381454" + { + "DecryptionKey" "dad51b312f4226160bc7d83b4e5959f6b98aeccd7a2fd96040dc2bd91e93e006" + } + "381455" + { + "DecryptionKey" "bce388e5d35bce02105c0a8de97259e0187df8220f13994a85546241c5cb46c7" + } + "373302" + { + "DecryptionKey" "1bfcb4b8a591a7dcde8ebae166815a3881252a90420d8d86a6925d63ec728e1c" + } + "373303" + { + "DecryptionKey" "005943def146b997e82e3d47d24cc7aeb993a35d3b5667b7085d22adc883af08" + } + "373305" + { + "DecryptionKey" "322d1a4f7c1a278ebac8dd32abc6c68e3846c750840335829767f5bb61a9c20a" + } + "373307" + { + "DecryptionKey" "11f3d9ff5db607675832505f1db661d511d7379fef7896eb2e12bff54a1655a4" + } + "373309" + { + "DecryptionKey" "84260bb289a869883362af02ffccd7a1cd6fa16337f747bff65ab7bfb576329b" + } + "570" + { + "DecryptionKey" "d1c0e5cee633870d25ece907f9836bb6005a09ac6442ac0228f3667ffca7ca78" + } + "228984" + { + "DecryptionKey" "df7df98d3134f5e0009d5ebcaaf3bbb91ea2f7cbad81a37a9d16bc1835f57068" + } + "229004" + { + "DecryptionKey" "56ebe05d052f59ad2e9b101102de603dca17402a9bb2ef0015962c6b3275a2d0" + } + "223851" + { + "DecryptionKey" "3de227c648bb03f2e1c49c79d24114cec185486be4058e6f76eb4175b5c8ee1c" + } + "223853" + { + "DecryptionKey" "b891cf73a4f710c4d361a757912867ddea5cb77f8cdc2520e1bd9c64aefeb43d" + } + "1498801" + { + "DecryptionKey" "f3523fbbdddc65bee537e1d0e876edce5b25fdb11c8697178bd36e8041fb0377" + } + "2313300" + { + "DecryptionKey" "0967c1e1a31aee44ccf8e1af64012d56de566e0db5f89ef87cb1357b923fc33f" + } + "402290" + { + "DecryptionKey" "1fe33d8c74ed80a81458f6fc33ad1fe0fb8fe9526edca06d81430e27c244046b" + } + "496101" + { + "DecryptionKey" "33ec17a5fda46cbd261a47fee164003fb6fab797d23398586b222942e7cab5f6" + } + "1" + { + "DecryptionKey" "b465d45ab2a7c396f7d1c08a6644e68529ec86b14da77e18588abbbcd2412060" + } + "3" + { + "DecryptionKey" "d249f7d93387a793ed021f0e2314ad0cea0d6aef0b0881c3b725a33deec37d59" + } + "2" + { + "DecryptionKey" "fd681c065529f5ee95e920321a780a9290f8f31ef51c232ccb3e98d27e132ebc" + } + "77" + { + "DecryptionKey" "793780217977cc3a005dc4410e963c980137e4faca4442f92dc41ab56af96983" + } + "11" + { + "DecryptionKey" "dacfb281a0abbecc078e884aef2a69caf7723f4066ce3f493ea02248abc8de71" + } + "95" + { + "DecryptionKey" "7ab15ade88539a6bee8195ae0b1a2a44ad68813632ac2dc230169a64893556e2" + } + "17" + { + "DecryptionKey" "67bff47a4f20a2dbfc1e156d84fc6f1508dce43212347723f3bb916619224506" + } + "1905181" + { + "DecryptionKey" "9893ce20679d91040e3ac618d31a5de675e18fa1462dd41962812a2a18b4c2ca" + } + "2358721" + { + "DecryptionKey" "78d5a284965b2206de191dc4ca99d43c9caf5b5e78b47cf0c366fbbb884190d8" + } + "1144201" + { + "DecryptionKey" "b9236894ba071d12dd117ce16220fefeb20574d7c6f7d2170e3113346867f3d6" + } + "229007" + { + "DecryptionKey" "eba9fa9ff4f811929c119074450f49f739113bcae9317ded9bea262aa21ec58d" + } + "993091" + { + "DecryptionKey" "3a02317ffe8c475c236c603a9fcd31c7cd8e4a109240f4c3d9fa28081bdc02bd" + } + "289071" + { + "DecryptionKey" "32741972cb390fe0fb0253da0e76fb113c9f92280b55093fb4c901b0c84e1a8d" + } + "289072" + { + "DecryptionKey" "3d2108e73f87d05885853ba5e72d9fc0d80c7f4a834e3fec557479960a6f12e8" + } + "512030" + { + "DecryptionKey" "8414f9daababcb658bab729cfe1713cae6cc02e8418e12139132c6ca49275dce" + } + "512032" + { + "DecryptionKey" "96db6adf9acfd23efac126a1b390566ce3d60c9383c8a12277a3364a0c9825b3" + } + "512033" + { + "DecryptionKey" "119999ebe1538e1bceacbccbd0a33aaab47cd471ef2dba9bae58afdeaf298c7f" + } + "512034" + { + "DecryptionKey" "f1b7b50ee592be7ea3f70a78001aee65d745768a549fe125274c9c68377fe19d" + } + "512035" + { + "DecryptionKey" "13581afaf8e722ba3a7eeec875c1214d186c9c139b7baf2fde68c13e928fe7c4" + } + "645400" + { + "DecryptionKey" "8a46441e5fdfc733e511fc579168bcd03791875c78251afb120f6a6ca8f58333" + } + "645401" + { + "DecryptionKey" "6ea08c1c060dcd07c457e12d8149ca548da5b9a40ef543fcd15691a3d1ba7784" + } + "645402" + { + "DecryptionKey" "9e2251ad6d619d6ac2645cdcc17ac9493f2fc9777a68ab304e211f5bf8b018d4" + } + "947510" + { + "DecryptionKey" "12ed67821997d2ff92e4155d8735d254c5f20f27abba7ba4eb1dde6759ec8e4e" + } + "289089" + { + "DecryptionKey" "a1cab903cd10b15478bc455b931245ef42becf828cbefc19bb922dfaf06776b2" + } + "1523211" + { + "DecryptionKey" "6111b2e3d21efa5e5b26a91f75ff32d12aa8c5bb547c4d0215eda184a7f4c49b" + } + "289085" + { + "DecryptionKey" "993eb4eff10f1f76852177fcd3e668b202059359f3f854085a162a269eb12e51" + } + "1030841" + { + "DecryptionKey" "d6e79f53321a7947e8963e27e1baefb862ce738eb51a2fa8eeaa90c476917f64" + } + "3424521" + { + "DecryptionKey" "84ee53b368ab7813e6dc7d36e6d42531c9b883bf98102c6acea104d4073d83e2" + } + "2001121" + { + "DecryptionKey" "27f6aac2ce9d80ad4ed8fe3710d306ae108f00ddcf005d47ecf7bfa2a258964c" + } + "374321" + { + "DecryptionKey" "1e1f904451f44a8549008ac8152430dc18288dd22c8edda058afa86b926a4162" + } + "551" + { + "DecryptionKey" "133d1039d438364b5569e91221c10fcd640f141d7700c921c02721ebe87c0459" + } + "552" + { + "DecryptionKey" "2585a22b53c3e040982897d140378d942a22994ffae3ae2085eddf36af94f84d" + } + } + "Tools" + { + "730" + { + "SizeOnDisk" "0" + } + "2358720" + { + "SizeOnDisk" "0" + } + "3097560" + { + "SizeOnDisk" "0" + } + } + "RecentDownloadRate" "34241466" + "LastConfigstoreUploadTime" "1742712842" + "CurrentCellID" "47" + "TimeCellIDSet" "1739802148" + "AllowDownloadsDuringGameplay" "1" + "SurveyID" "d068c100e439287c" + } + } + } + "SDL_GamepadBind" "03000000de280000ff11000001000000,Steam Virtual Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000de280000ff11000000000000,Steam Virtual Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000de280000ff11000000007701,Steam Virtual Gamepad,a:b0,b:b1,x:b2,y:b3,back:b6,start:b7,leftstick:b8,rightstick:b9,leftshoulder:b4,rightshoulder:b5,dpup:b10,dpdown:b12,dpleft:b13,dpright:b11,leftx:a1,lefty:a0~,rightx:a3,righty:a2~,lefttrigger:a4,righttrigger:a5," + "streaming" + { + "ClientID" "-9091798578921091192" + } + "Music" + { + "LocalLibrary" + { + "Directories" + { + "0" "0200000017070ed382a96d4946cbea59c180fca220d4a8c9a711103a7c7501d8bdd33224aa21b903c17cd9435c0943faa12472d0ae0693a93cf4731adc7f851f" + "1" "0200000017070ed382a96d4946cbea59c080fcbf27c8a6d8c67e1507437401eab5fb03299a33b110b10caa1f317e43f0a34a1ec3ab6ae6cc6f910f50c27c0b7c422fbe7843db6fd1c7211c4777af71a3909a99d70850a87908" + } + } + } + "WebStorage" + { + "DownloadsStoreRecentlyCompleted" "{\"version\":2,\"data\":[{\"appid\":570,\"active\":false,\"paused\":false,\"completed\":true,\"deferred_time\":0,\"queue_index\":-1,\"update_result\":0,\"update_error\":\"\",\"completed_time\":1742554719,\"buildid\":17755741,\"target_buildid\":17802602,\"launch_on_completion\":false,\"update_type_info\":[{\"has_update\":true,\"completed_update\":true,\"progress\":[{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":1129571491,\"bytes_total\":1129571491},{\"bytes_in_progress\":97776288,\"bytes_total\":97776288},{\"bytes_in_progress\":1129571491,\"bytes_total\":1129571491},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":1129571491,\"bytes_total\":1129571491}]},{\"has_update\":false,\"completed_update\":false,\"progress\":[{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0}]},{\"has_update\":false,\"completed_update\":false,\"progress\":[{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0}]}]},{\"appid\":730,\"active\":false,\"paused\":false,\"completed\":true,\"deferred_time\":0,\"queue_index\":-1,\"update_result\":0,\"update_error\":\"\",\"completed_time\":1742539609,\"buildid\":0,\"target_buildid\":17800215,\"launch_on_completion\":false,\"update_type_info\":[{\"has_update\":true,\"completed_update\":true,\"progress\":[{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":2941124495,\"bytes_total\":2941124495},{\"bytes_in_progress\":403448848,\"bytes_total\":403448848},{\"bytes_in_progress\":2941124495,\"bytes_total\":2941124495},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":2941124495,\"bytes_total\":2941124495}]},{\"has_update\":false,\"completed_update\":false,\"progress\":[{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0}]},{\"has_update\":false,\"completed_update\":false,\"progress\":[{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0}]}]},{\"appid\":3097560,\"active\":false,\"paused\":false,\"completed\":true,\"deferred_time\":0,\"queue_index\":-1,\"update_result\":0,\"update_error\":\"\",\"completed_time\":1742356328,\"buildid\":17050938,\"target_buildid\":17696122,\"launch_on_completion\":false,\"update_type_info\":[{\"has_update\":true,\"completed_update\":true,\"progress\":[{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":10732680867,\"bytes_total\":10732680867},{\"bytes_in_progress\":1132524976,\"bytes_total\":1132524976},{\"bytes_in_progress\":10732680867,\"bytes_total\":10732680867},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":10732680867,\"bytes_total\":10732680867}]},{\"has_update\":false,\"completed_update\":false,\"progress\":[{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0}]},{\"has_update\":false,\"completed_update\":false,\"progress\":[{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0}]}]},{\"appid\":2001120,\"active\":false,\"paused\":false,\"completed\":true,\"deferred_time\":0,\"queue_index\":-1,\"update_result\":0,\"update_error\":\"\",\"completed_time\":1742220226,\"buildid\":0,\"target_buildid\":17714403,\"launch_on_completion\":false,\"update_type_info\":[{\"has_update\":true,\"completed_update\":true,\"progress\":[{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":88531136183,\"bytes_total\":88531136183},{\"bytes_in_progress\":770098096,\"bytes_total\":770098096},{\"bytes_in_progress\":88531136183,\"bytes_total\":88531136183},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":88531136183,\"bytes_total\":88531136183}]},{\"has_update\":false,\"completed_update\":false,\"progress\":[{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0}]},{\"has_update\":false,\"completed_update\":false,\"progress\":[{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0},{\"bytes_in_progress\":0,\"bytes_total\":0}]}]}]}" + "continuously_render_store" "false" + } + "Authentication" + { + "RememberedMachineID" + { + "933889261" "eyAidHlwIjogIkpXVCIsICJhbGciOiAiRWREU0EiIH0.eyAiaXNzIjogInI6MDAxNF8yNUIxRjFCNF8wNUFGNyIsICJzdWIiOiAiNzY1NjExOTgxMDcxMjU0NDEiLCAiYXVkIjogWyAibWFjaGluZSIgXSwgImV4cCI6IDE3NTUxNzcwOTIsICJuYmYiOiAxNzI4Mzc3NzExLCAiaWF0IjogMTczNzAxNzcxMSwgImp0aSI6ICIwMDBFXzI1QjFGMUIwXzBFQ0VBIiwgIm9hdCI6IDE3MzcwMTc3MTEsICJydF9leHAiOiAxNzU1MTc2MTE5LCAicGVyIjogMCwgImlwX3N1YmplY3QiOiAiNTAuMTE0LjU5LjEzOSIsICJpcF9jb25maXJtZXIiOiAiNTAuMTE0LjU5LjEzOSIgfQ.Dha7DZYvrXMetIcnwqTL0aicTguXjHvIZ9RvFhi6w34OLbe1Q6NE36d9f7EhJRlo6aLeLpE35Xlw8wyBYq3nBQ" + } + } + "UI" + { + "Window" + { + "SP" + { + "x" "0" + "y" "0" + "width" "3840" + "height" "2159" + } + } + "display" + { + "Current" + { + "MinScaleFactor" "0.948353826999664307" + "MaxScaleFactor" "2.84217500686645508" + "IsExternalDisplay" "1" + "name" "External: LG TV SSCR2|||Fullscreen-2560x1439" + "AutoScaleFactor" "1.89670765399932861" + } + } + } +} diff --git a/src-tauri/src/vdf/tests/cs2_video.txt b/src-tauri/src/vdf/tests/cs2_video.txt new file mode 100644 index 0000000..608aa84 --- /dev/null +++ b/src-tauri/src/vdf/tests/cs2_video.txt @@ -0,0 +1,35 @@ +"video.cfg" +{ + "Version" "15" + "VendorID" "4318" + "DeviceID" "9861" + "setting.cpu_level" "3" + "setting.gpu_mem_level" "3" + "setting.gpu_level" "3" + "setting.knowndevice" "0" + "setting.defaultres" "2880" + "setting.defaultresheight" "2160" + "setting.refreshrate_numerator" "0" + "setting.refreshrate_denominator" "0" + "setting.fullscreen" "1" + "setting.coop_fullscreen" "0" + "setting.nowindowborder" "1" + "setting.mat_vsync" "0" + "setting.fullscreen_min_on_focus_loss" "1" + "setting.high_dpi" "0" + "AutoConfig" "2" + "setting.shaderquality" "0" + "setting.r_texturefilteringquality" "3" + "setting.msaa_samples" "2" + "setting.r_csgo_cmaa_enable" "0" + "setting.videocfg_shadow_quality" "0" + "setting.videocfg_dynamic_shadows" "1" + "setting.videocfg_texture_detail" "1" + "setting.videocfg_particle_detail" "0" + "setting.videocfg_ao_detail" "0" + "setting.videocfg_hdr_detail" "3" + "setting.videocfg_fsr_detail" "0" + "setting.monitor_index" "0" + "setting.r_low_latency" "1" + "setting.aspectratiomode" "1" +} diff --git a/src-tauri/src/vdf/tests/localconfig.vdf b/src-tauri/src/vdf/tests/localconfig.vdf new file mode 100644 index 0000000..b628fb8 --- /dev/null +++ b/src-tauri/src/vdf/tests/localconfig.vdf @@ -0,0 +1,4406 @@ +"UserLocalConfigStore" +{ + "Broadcast" + { + "Permissions" "1" + } + "ParentalSettings" + { + "settings" "09960426150000000010001a0f416c6c6f7720616c6c2067616d657330063a0886ab819fdb2c9a64422097bec0b010c2c81e5d225a9d1ccbd2a078dfe1bb3e8424a21455d56fce30c14848005080305a0d7a78383234344071712e636f6d680070007a008201009801079801c4a70f9801c292149801eef01598019aaf169801a8b134980194db3a9801eeb0409801e0ab419801c0f94398019096489801f0fe4b980186f45498018ad7569801ce955b9801e2b8609801beb1639801e89b739801848885019801aeac8f019801e29fab01" + "Signature" "5d5ab19fcda2cff44e51f35db2cc434aedf779257603b4feb4fa9b0c6218ff8ea271d087f68fe78be05ec56894466bff49dc1b0eff00cadd6579a5c79c15bb2ffcd0ed8345a75f987de10a5e6a5e9f787f176bc92c1cb7996afe2e640fa415b4a65eb5efa51ea9699027960f826071383e71156fc7643244be6cc85125f9f489fdef359920f6cc48650478b0773a9475680bb18f45dbc40d02b47fa49ad9b66e4ad518af3cd309a0f391a3dd058da2a18b62c7d0a2a8a69f7f327b462756062a4fcf8fedfc47d63978ef0b0b0ff4d2419d7b99a050ea800c03948e03cb4f89a6098248602b0df3d1d1a6713fd7478a266d2f8df7f2b3aaab2653da38fdf3d2bc" + } + "streaming_v2" + { + "EnableStreaming" "1" + "DefaultAudioDevice" "{0.0.0.00000000}.{6949928f-dae3-4d43-b2c5-b2fc4cb370c4}" + "DefaultAudioDeviceName" "耳机 (OPPO Enco X3)" + "DefaultMicrophone" "{0.0.1.00000000}.{c73cc890-749e-461c-871c-aeca134fd0f8}" + "DefaultMicrophoneName" "Analog 1/2 (3- E2x2 OTG)" + } + "friends" + { + "354813078" + { + "NameHistory" + { + "0" "Rop紫(已黑化)" + "1" "Rop紫" + "2" "Rop紫(具体化)" + "3" "Rop紫(已异化)" + "4" "『 𝓣 𝓨 』(已黑化)" + } + "avatar" "a8c470e567f57d5781a00355878dabbdcb254ada" + "name" "Rop紫(已黑化)" + } + "PersonaName" "Rop紫(已黑化)" + "communitypreferences" "1882ded3bb062001280130013800" + "contentdescriptorpreferences" "0a0208010a0208030a020804" + "403046504" + { + "name" "肘子🏂" + "NameHistory" + { + "0" "肘子🏂" + } + "avatar" "b412576966976e8b74a2ab7de4c192f36f8f3a04" + } + "109922949" + { + "name" "Tuc" + "NameHistory" + { + "0" "Tuc" + } + "avatar" "8ee0b3c4a6a490bf6c57de35c65a62de5b4ddac6" + } + "74044142" + { + "name" "NanaPlaza" + "NameHistory" + { + "0" "NanaPlaza" + } + "avatar" "baa4a69c25631f2e79e38894c576fd1a6f9b9e60" + } + "355161032" + { + "name" "Itachiusaki" + "NameHistory" + { + "0" "Itachiusaki" + "1" "Hiro" + } + "avatar" "14db880d0c218558e5bd2f4ad0b978b58cbb0645" + } + "125308042" + { + "name" "Devo" + "NameHistory" + { + "0" "Devo" + } + "avatar" "701c6b04f5c46054922683b60cf43edb34824091" + } + "301322150" + { + "name" "土豆兄弟高手" + "NameHistory" + { + "0" "土豆兄弟高手" + } + "avatar" "a627d3c0e9fe310d6ce9538c3594376522acbb00" + } + "142560218" + { + "name" "FankuuZ" + "NameHistory" + { + "0" "FankuuZ" + } + "avatar" "fff5e0c6434968a04d43fc84be832ffc25004a7b" + } + "256688404" + { + "name" "China天津饭" + "NameHistory" + { + "0" "China天津饭" + } + "avatar" "6c06c9701345e9cf73d6ef87208d39dcbf97d938" + } + "360424830" + { + "name" "我是马卡龙,枪马、网卡、耳朵龙" + "NameHistory" + { + "0" "我是马卡龙,枪马、网卡、耳朵龙" + } + } + "180563734" + { + "name" "BlaDeRule" + "NameHistory" + { + "0" "BlaDeRule" + } + "avatar" "148ff422f2245ab66abfeabf3f7506861d6b703b" + } + "194882112" + { + "name" "Randolph" + "NameHistory" + { + "0" "Randolph" + } + "avatar" "4893b34ccbcce8a8054034e9d8938cbacea2d8d2" + } + "241608977" + { + "name" "coma" + "NameHistory" + { + "0" "coma" + "1" "de_ported" + } + "avatar" "0844c55b29633522fd4e04ea972e74ec65cac120" + } + "345944682" + { + "name" "Meceds.De" + "NameHistory" + { + "0" "Meceds.De" + } + "avatar" "35fbb8d8319a7bfa1785c9539b31373e45917708" + } + "194641730" + { + "name" "oCeanS" + "NameHistory" + { + "0" "oCeanS" + } + "avatar" "72789abfbdf55ae8e229c9782c871d8a90bb783b" + } + "890262659" + { + "name" "YIH" + "NameHistory" + { + "0" "YIH" + } + "avatar" "a81aeea0cccd77f870e08a022cbda4c1bdf8b2c3" + } + "178665825" + { + "name" "내일의 우주스타" + "NameHistory" + { + "0" "내일의 우주스타" + } + "avatar" "98b164a8ec52747d2da5431c46c8944920ae04d3" + } + "35514586" + { + "name" "psh" + "NameHistory" + { + "0" "psh" + } + "avatar" "eaf76e1531152bc3f4993ad6b5de9f439242cf40" + } + "357953264" + { + "name" "Fall1nzz" + "NameHistory" + { + "0" "Fall1nzz" + } + "avatar" "af1cf9cf15be50bc6eda5a5c35bb1698bbf77ecd" + } + "1037687357" + { + "name" "牛逼哥赵刚" + "NameHistory" + { + "0" "牛逼哥赵刚" + "1" "晋西北 赵刚" + } + "avatar" "93f7abf18e7522fb78c785ae0a4e7ebc1d5ae721" + } + "437526320" + { + "name" "kotori" + "NameHistory" + { + "0" "kotori" + } + "avatar" "5549ca272f7c8ea3f41091ce2faa6d8ff20364d6" + } + "447738676" + { + "name" "Asa" + "NameHistory" + { + "0" "Asa" + } + "avatar" "648befe50a0f273227fed4f47f5bf31b791e151c" + } + "103582791464852534" + { + "name" "EDWnb-CN" + "tag" "EDWnb-" + "avatar" "4a0714374e13df78eda3203978ad44bf4e763072" + } + "103582791458364761" + { + "name" "大工CSGO" + "tag" "dluter" + "avatar" "294cf90248e7b40e9c3d05811b3b8d9a1f9957dd" + } + "103582791461424931" + { + "name" "反恐精嘤" + "tag" "反恐精嘤" + "avatar" "45827ce2be118585fd7af5701d1b136dab1188c0" + } + "292704209" + { + "name" "vulvasaur123" + "NameHistory" + { + "0" "vulvasaur123" + } + "avatar" "a464c292d7e7bc3f8364a70484d4a05e6c3cbcb2" + } + "163951808" + { + "name" "Pasha-iwnl" + "NameHistory" + { + "0" "Pasha-iwnl" + } + "avatar" "8c25c91c21fabdbd96f3839c5b73531a2da67d95" + } + "192052592" + { + "name" "Nej1" + "NameHistory" + { + "0" "Nej1" + } + "avatar" "f65e43d616061fbc79d6f8578a0c3df290dce71a" + } + "378843358" + { + "name" "今天的风儿好喧嚣啊" + "NameHistory" + { + "0" "今天的风儿好喧嚣啊" + } + "avatar" "67147bd2b5a7cbbc10770b105c8cff1958c89cd9" + } + "1662187" + { + "name" "R.I.Pieces" + "NameHistory" + { + "0" "R.I.Pieces" + } + "avatar" "e643c812feece27c17ad274ee113b3c2efb3d202" + } + "1094156426" + { + "name" "KKV557" + "NameHistory" + { + "0" "KKV557" + "1" "KOI" + } + "avatar" "d3eb39d70f297a4191bea908797cd7972a77ad86" + } + "103582791455862426" + { + "name" "Human Fall Flat Workshop" + "tag" "HFFWorkshop" + "avatar" "9b5385094a5f2e0cc91bc3850649df883d18630e" + } + "879002282" + { + "name" "面包" + "NameHistory" + { + "0" "面包" + } + "avatar" "50cdd62e28ee7f4a53604a72f795d0a39ffb69b3" + } + "818843" + { + "name" "希望你这周也开心" + "NameHistory" + { + "0" "希望你这周也开心" + "1" "开点东西怎么还叫起来了" + "2" "我的金贴,会涨到什么" + "3" "踢人的没木" + } + "avatar" "16c8a10b599d324bbffe3ef41a14b763a01ab44a" + } + "103582791457583401" + { + "name" "一起打枪 No.8" + "tag" "Hefei_No.8" + "avatar" "937f0622a8fcd130d07637ff78b3ad27d99bfd9c" + } + "250919879" + { + "name" "兔球" + "NameHistory" + { + "0" "兔球" + } + "avatar" "774dec46b6f038e73a817dd948d1494829be479c" + } + "235928666" + { + "name" "One Horning Boy" + "NameHistory" + { + "0" "One Horning Boy" + } + "avatar" "f9d430f39543a3685d37d0779b1cf73b7369de7d" + } + "364936448" + { + "name" "FGNB" + "NameHistory" + { + "0" "FGNB" + } + } + "907363862" + { + "name" "一位皮卡丘高调路过" + "NameHistory" + { + "0" "一位皮卡丘高调路过" + } + "avatar" "0b7303892b39a92920405fccd4554881fec5a90a" + } + "991906628" + { + "name" "蜜小柑" + "NameHistory" + { + "0" "蜜小柑" + } + "avatar" "0543960967bd2436cc2b59b2829f2c224f61363b" + } + "212752971" + { + "name" "中年指挥万里老师" + "NameHistory" + { + "0" "中年指挥万里老师" + } + "avatar" "642e5985477ffabeb573dfccb305c39029bfeb72" + } + "1114648325" + { + "name" "FywOo" + "NameHistory" + { + "0" "FywOo" + } + "avatar" "19ed7a0f9803cfd1851990c8d7873ef9d40590f6" + } + "444069942" + { + "name" "LEV Dinner1" + "NameHistory" + { + "0" "LEV Dinner1" + "1" "IlIlllllIIIIIIIIl" + } + "avatar" "e954d9a2ed7de4d64cd612dda2ccbc68dd6b56d4" + } + "37630060" + { + "name" "xNWP" + "NameHistory" + { + "0" "xNWP" + } + "avatar" "6f6da5c7f797a5bc58881b1f065d678c872734a6" + } + "356559726" + { + "name" "神仙国服" + "NameHistory" + { + "0" "神仙国服" + } + "avatar" "0ff678929cf0980e8b4efcf59dfacb84de557f9c" + } + "151312995" + { + "name" "葉月こまり" + "NameHistory" + { + "0" "葉月こまり" + } + "avatar" "eaa0f9e17c5a98cce4fff19b5e73ad9f6c81c23e" + } + "490921967" + { + "name" "xiang" + "NameHistory" + { + "0" "xiang" + } + } + "24494218" + { + "name" "Dec" + "NameHistory" + { + "0" "Dec" + "1" "Dec @ 55%" + "2" "Dec @ 50%" + } + "avatar" "42933918024765555742fea3f17c65c528f0acb7" + } + "103582791469954314" + { + "name" "᠌ ⁧⁧我是傻逼" + "tag" "我是傻哔" + "avatar" "c301516822464ac775e8e528161d6bf8c5b366dd" + } + "183361154" + { + "name" "Seele Yorshka" + "NameHistory" + { + "0" "Seele Yorshka" + } + "avatar" "06ff992cde858bf1534aaf217185e18ece1eec7f" + } + "449425519" + { + "name" "Kawasak1" + "NameHistory" + { + "0" "Kawasak1" + } + "avatar" "5cce65da05193a8ba938f49b938f5f98e5ff4083" + } + "103582791463004415" + { + "name" "Team USTC" + "tag" "Team USTC" + "avatar" "94af4ec9f02d5336f3017f715b1af6e25502e396" + } + "164395422" + { + "name" "LOL" + "NameHistory" + { + "0" "LOL" + } + "avatar" "edab600dbf32cd2c20005645941824ec4602fd8d" + } + "455572713" + { + "name" "猫爷不抓鼠" + "NameHistory" + { + "0" "猫爷不抓鼠" + } + "avatar" "4e82a1bfef34f059f04d56ba07c31bffabe2b80a" + "avatar_pending_review" "1" + } + "384391065" + { + "name" "530783677" + "NameHistory" + { + "0" "530783677" + } + "avatar" "21c293385ec0a5cc4215921764cd42ebf87af7eb" + } + "103582791471934114" + { + "name" "彽调菂猫~" + "tag" "❂猫巷✉" + "avatar" "b7fe3d1a3c5b819c202555a0c12fdab938d6c46b" + } + "244995193" + { + "name" "墨祈" + "NameHistory" + { + "0" "墨祈" + } + "avatar" "e0345d95a99a0280d31aaec05676eaad7a125d2c" + } + "360663187" + { + "name" "EileenLoveCats" + "NameHistory" + { + "0" "EileenLoveCats" + } + "avatar" "9af2901fc75ee70b20beee195b77dae3bc2650e6" + } + "911971503" + { + "name" "accept and move on" + "NameHistory" + { + "0" "accept and move on" + "1" "登記的性罪犯" + "2" "MAAAAAJJIIIIIIN BUUUUUUU" + "3" "хөгшин ах" + "4" "Canoon" + "5" "||||||||||||||||" + "6" "egoisto?" + "7" "MID OR FEED" + "8" "Margad-Tanan" + "9" "Maral-Tanan" + } + "avatar" "88c914995a691842b6af120ba7c2939ae9435adf" + } + "107320960" + { + "name" "kennyS" + "NameHistory" + { + "0" "kennyS" + } + "avatar" "37ef2e4425511915b97f343b6b0d0cfb951cf83a" + } + "56974343" + { + "name" "donq" + "NameHistory" + { + "0" "donq" + } + "avatar" "ee0e6adb9c075b0b40cbedba2f8699d1c040ca6c" + } + "239335595" + { + "name" "Corin" + "NameHistory" + { + "0" "Corin" + } + "avatar" "c76895f64b8bdb3e2321395f005d97c84b204ba1" + "avatar_pending_review" "1" + } + "103582791435270951" + { + "name" "大连理工大学" + "tag" "DLUT" + "avatar" "97d718ec8564b96323fd7c8c853318e40c3a603c" + } + "320425500" + { + "name_pending_review" "1" + "name" "𝓸𝓵𝓭ℬℒ𝓪𝓬𝓴" + "NameHistory" + { + "0" "𝓸𝓵𝓭ℬℒ𝓪𝓬𝓴" + } + "avatar" "f2eca8d585fdc2d0d5e7abd8c22437506a89642c" + } + "314704361" + { + "name" "gluCose" + "NameHistory" + { + "0" "gluCose" + } + "avatar" "5ae0442e2455c1f84b8f57ac6edd8565e6cf7de9" + } + "478696896" + { + "name" "pengzr" + "NameHistory" + { + "0" "pengzr" + } + "avatar" "f5110226127be29a33568a54f4ac04113e48d326" + } + "1037494892" + { + "name" "labodu" + "NameHistory" + { + "0" "labodu" + } + "avatar" "889355fa03e3d2e52ddf5b2db5d24afa7d9ce8f6" + } + "4339607" + { + "name" "Se1k0u>w<" + "NameHistory" + { + "0" "Se1k0u>w<" + } + "avatar" "3f5e9daea59216d7fe13df4e031d3537580e5e21" + } + "1065923296" + { + "name" "xuesong6064" + "NameHistory" + { + "0" "xuesong6064" + } + } + "296877928" + { + "name_pending_review" "1" + "name" "Lazybear" + "NameHistory" + { + "0" "Lazybear" + } + "avatar" "de7aed4299406a52b01b0fc087ec5eb1d380b7e7" + } + "136072888" + { + "name" "食魔人人法师" + "NameHistory" + { + "0" "食魔人人法师" + } + "avatar" "4e488cd44a6750e1a4056c3a79ca97c739b9a845" + } + "329316771" + { + "name" "MrJie" + "NameHistory" + { + "0" "MrJie" + } + "avatar" "f4fd761280385e18134963377833488f52f41740" + } + "925273590" + { + "name" "76561198885539318" + "NameHistory" + { + "0" "76561198885539318" + "1" "kennyS" + } + "avatar" "0000000000000000000000000000000000000000" + } + "1002837212" + { + "name" "叫我骚罗~叫我恶魔!!" + "NameHistory" + { + "0" "叫我骚罗~叫我恶魔!!" + } + "avatar" "c1e70c8f13b3dc0fbf41e3447b45c7daa08e0cd1" + } + "432617835" + { + "name" "Toxic*****eee" + "NameHistory" + { + "0" "Toxic*****eee" + } + "avatar" "9375f3a4ff6c73b3ef027f58732bb8e9cf210621" + } + "461992848" + { + "name" "请让我去白银" + "NameHistory" + { + "0" "请让我去白银" + } + "avatar" "8193db50cf7d80c927e2caf32cd27c9edb42a215" + } + "854258878" + { + "name" "Controller" + "NameHistory" + { + "0" "Controller" + } + "avatar" "fa2149351aeda1f146f7f60063087952756bcac9" + "avatar_pending_review" "1" + } + "104231025" + { + "name" "拖鞋" + "NameHistory" + { + "0" "拖鞋" + "1" "我要把队友的头拧成一股绳" + } + "avatar" "3f9ce7c86d315d326385ea05f1378a1525107e3d" + } + "313860956" + { + "name" "ch4kly" + "NameHistory" + { + "0" "ch4kly" + } + "avatar" "c8fa7b2f773192d5ac7e49afa2db598c1607b5d6" + } + "286626782" + { + "name" "魚腸卷" + "NameHistory" + { + "0" "魚腸卷" + } + "avatar" "5dc1389aebb36467ce0d7bc9dc41b22dac89082b" + "avatar_pending_review" "1" + } + "908508500" + { + "name" "World Vanquisher" + "NameHistory" + { + "0" "World Vanquisher" + "1" "FOX" + "2" "神 秘 犯 瘫 男" + "3" "F o x" + } + "avatar" "b6a7ec6080de026e9ef3fd1f8c2bfb8a3edcfdf6" + } + "1136309159" + { + "name" "B1ack&5tar" + "NameHistory" + { + "0" "B1ack&5tar" + } + "avatar" "58cf623433c6b7135fa9243f11ddfa1ca3acfc9b" + "avatar_pending_review" "1" + } + "126382584" + { + "name" "IDC" + "NameHistory" + { + "0" "IDC" + } + "avatar" "f9b79acec58e4d30670cbe1ac7d8658f6e9ea337" + } + "190376667" + { + "name_pending_review" "1" + "name" "ⓍⓊⒶⓃⒾⓐⓝⓝ" + "NameHistory" + { + "0" "ⓍⓊⒶⓃⒾⓐⓝⓝ" + } + "avatar" "80be079c9da07c1f6fb228d9bf7360e76cffc7e4" + } + "361433240" + { + "name" "Pomty17" + "NameHistory" + { + "0" "Pomty17" + } + "avatar" "8473bbbc67642ee460db016c3f9736ac5ebdc93d" + } + "311954790" + { + "name" "DO IT" + "NameHistory" + { + "0" "DO IT" + } + "avatar" "47e1c927febf5c0e5227141bdd8b4d8c62fa3578" + } + "165251501" + { + "name" "SomebodyXD" + "NameHistory" + { + "0" "SomebodyXD" + } + "avatar" "c821bca7b33c12b17b49e4c723e2bca5f65e078c" + } + "1012551861" + { + "name" "Yukino" + "NameHistory" + { + "0" "Yukino" + "1" "Yukinosh1ta_Wei" + } + "avatar" "84d11f39b7b6c5e46f41a1654aad75e2076561d1" + } + "442990985" + { + "name" "南风知我意" + "NameHistory" + { + "0" "南风知我意" + } + "avatar" "244bb9acd3d7d986216d43b76e1c4720e1341a38" + } + "390462944" + { + "name_pending_review" "1" + "name" "大 熊 猫" + "NameHistory" + { + "0" "大 熊 猫" + } + "avatar" "47b44388d0f073c22207881fbac382673712f977" + } + "908944004" + { + "name" "C." + "NameHistory" + { + "0" "C." + } + "avatar" "2f3cb4b6d6ac92e8585c1fb713eb5293cfa1d452" + } + "1233540909" + { + "name" "乖巧" + "NameHistory" + { + "0" "乖巧" + } + "avatar" "d20b67b8aded4d35a406116b98ba3f3172417271" + } + "239152099" + { + "name" "Ret1" + "NameHistory" + { + "0" "Ret1" + } + "avatar" "78fca09c59a4bb06357ffadd4d9ab34c2312d1d2" + } + "918003869" + { + "name" "低手" + "NameHistory" + { + "0" "低手" + } + "avatar" "90184284a88f65d377fefca2d5fb18f0181dcdd0" + } + "350535590" + { + "name" "S" + "NameHistory" + { + "0" "S" + } + "avatar" "0e96fd1da4c91017a7c1de980d6361b139e6831d" + } + "349393831" + { + "name" "Leonmuziang" + "NameHistory" + { + "0" "Leonmuziang" + } + "avatar" "9e0dd4dd76f23aba764a1aae67537d0595250807" + } + "385288237" + { + "name" "144" + "NameHistory" + { + "0" "144" + } + "avatar" "b8573dd9e0f91211ac5ba348255fcc1d1936eb6e" + } + "417177273" + { + "name_pending_review" "1" + "name" "大傻逼" + "NameHistory" + { + "0" "大傻逼" + } + "avatar" "a3fd74fc2150d15f0c57f529b41ffa2d12998f63" + } + "320856367" + { + "name" "Togcat" + "NameHistory" + { + "0" "Togcat" + } + "avatar" "93264dc0cb73fd7f6a6354f627dfb85c1602862a" + } + "354296091" + { + "name" "SECANT" + "NameHistory" + { + "0" "SECANT" + } + "avatar" "63c24db74df8b847bfd0002a2fe12e1452e659cb" + } + "375012280" + { + "name" "mikolee" + "NameHistory" + { + "0" "mikolee" + } + "avatar" "f2bfdcc3a460de8300dd22488740721a52b56c01" + } + "872915057" + { + "name" "Eternal" + "NameHistory" + { + "0" "Eternal" + } + "avatar" "68b41ffda85813f9af588211308879eb158fa765" + } + "892308764" + { + "name" "healock" + "NameHistory" + { + "0" "healock" + "1" "20岁阳光男孩" + "2" "迟迟的自助牛奶贩卖机" + "3" "16岁钻石粉牛男高中生" + "4" "我名字跟我屌一样长" + "5" "celestial" + "6" "owo" + "7" "极品18cm粉牛看的+" + "8" "我杀了你们所有人" + "9" "捅 死 你" + } + "avatar" "9ca5fd4dbb729776cc92fbd7e4d1a3996be1de80" + } + "189391727" + { + "name" "《牌面》" + "NameHistory" + { + "0" "《牌面》" + } + "avatar" "973eb9936dd6e004400939ee9193a2881687106a" + } + "306758362" + { + "name" "DJma3li" + "NameHistory" + { + "0" "DJma3li" + } + "avatar" "2f1f4d04003598ac93a9893acdd5ebec9a4b3fd5" + } + "904994837" + { + "name" "您真的会玩?嘛!" + "NameHistory" + { + "0" "您真的会玩?嘛!" + } + "avatar" "40bf29a0a7d3e4a36e64456677985317e46ff3de" + } + "300316565" + { + "name" "yellowfisher" + "NameHistory" + { + "0" "yellowfisher" + } + "avatar" "bdea93632f9372e787ca9c32c15da12e8c6bc680" + } + "350379347" + { + "name" "Migguno" + "NameHistory" + { + "0" "Migguno" + } + "avatar" "50767cea96889a121066ed45c098873cb258f8f3" + } + "446095133" + { + "name" "行者武松" + "NameHistory" + { + "0" "行者武松" + } + "avatar" "a512a6ce456a04e6293d81be8eabd24d357b21ae" + "avatar_pending_review" "1" + } + "281036280" + { + "name_pending_review" "1" + "name" "FUCK" + "NameHistory" + { + "0" "FUCK" + } + "avatar" "d28bfa9484ab71b28fa5ed9f841be7603ce2e74d" + "avatar_pending_review" "1" + } + "358066665" + { + "name" "Master Knife" + "NameHistory" + { + "0" "Master Knife" + } + "avatar" "34331f28a91a3048f3b0205374909a5f7e3b1870" + } + "361800849" + { + "name" "柴有个想法。" + "NameHistory" + { + "0" "柴有个想法。" + } + "avatar" "3c99522a8cefb1c647ea934ef20eaf9785ef8d1a" + } + "356618846" + { + "name" "圣诞老人" + "NameHistory" + { + "0" "圣诞老人" + } + "avatar" "32c600ef86db5f2bc1e77e85a0a940aa7bbc946d" + } + "886365242" + { + "name" "白客,修勾!" + "NameHistory" + { + "0" "白客,修勾!" + "1" "谁和你恨海情天" + "2" "明夕何夕颜" + "3" "姜妍老婆嫁给我!" + "4" "冈田纱佳我老婆" + } + "avatar" "31d397e3bb406c7ca20dd91f57e72b78c034bd98" + } + "905368607" + { + "name" "funny" + "NameHistory" + { + "0" "funny" + } + "avatar" "f84ed491567dc05254a789a193dae8091179a6d2" + } + "142680202" + { + "name" "lyfff" + "NameHistory" + { + "0" "lyfff" + } + } + "174961398" + { + "name" "LazyDOG" + "NameHistory" + { + "0" "LazyDOG" + } + "avatar" "7dc8145de8f1ad154b030b342ad7d3f5296b0916" + } + "367219292" + { + "name" "深海少女的坟头" + "NameHistory" + { + "0" "深海少女的坟头" + "1" "Bad Apple" + } + "avatar" "405a5f758e3f1da7aac8680b61e3f70ca331ca02" + } + "410739098" + { + "name" "我爱喵" + "NameHistory" + { + "0" "我爱喵" + } + "avatar" "a4f335982294b52b0daaff0ee39c4a511360130d" + } + "313567869" + { + "name" "noobzera" + "NameHistory" + { + "0" "noobzera" + } + "avatar" "b53f7ef8a78cc6cd4e1784a4a9bf300ac3bccf8d" + } + "171911970" + { + "name" "对线我饱受欺凌,打团我毫无声音" + "NameHistory" + { + "0" "对线我饱受欺凌,打团我毫无声音" + } + "avatar" "2dfec6fe2254fef7cb7b5fe52526af40d6eb1a94" + } + "163199942" + { + "name" "5" + "NameHistory" + { + "0" "5" + } + "avatar" "ee1cddbab03ab65a35a289f3841a24299db8a462" + } + "389251298" + { + "name" "「薇尔莉特·伊芙加登」" + "NameHistory" + { + "0" "「薇尔莉特·伊芙加登」" + } + "avatar" "197b216d0bc0424981342a42f32991cfa94ea29f" + } + "220025258" + { + "name" "錦鯉抄" + "NameHistory" + { + "0" "錦鯉抄" + } + "avatar" "8ea7493cc3de4a099c558eff720198017230992d" + } + "1020858119" + { + "name" "Kirigaya Kazuto" + "NameHistory" + { + "0" "Kirigaya Kazuto" + } + "avatar" "d0be6f789fd30caefabaa250278f61b4f4f980a5" + } + "144468219" + { + "name" "嫩兔子" + "NameHistory" + { + "0" "嫩兔子" + } + "avatar" "2f5c6930e0de2973597d2dae30eac193551d06ed" + } + "884437034" + { + "name" "幽默哥布林" + "NameHistory" + { + "0" "幽默哥布林" + "1" "11" + "2" "Ryan Goblin" + } + "avatar" "7aa28717efa4d1e5f7b104375e088dbef74d58e5" + } + "371253055" + { + "name" "无谓的傻子" + "NameHistory" + { + "0" "无谓的傻子" + } + "avatar" "925984451c94e679e7941636f4f4eeb1cbbd14b6" + } + "98091826" + { + "name" "[#oldsKill]-elemeNT" + "NameHistory" + { + "0" "[#oldsKill]-elemeNT" + "1" "[ЧСВ]-elemeNT" + } + "avatar" "d44a8f717a459983317f876d3323b49fc7215ec4" + } + "327762201" + { + "name" "✪Future™" + "NameHistory" + { + "0" "✪Future™" + } + "avatar" "8119d1580e81ee7277d73f172440328a17e2ec6b" + } + "176312940" + { + "name" "hunterofkiller" + "NameHistory" + { + "0" "hunterofkiller" + } + "avatar" "fd97af09e0c6edad209d34e89ea0ad0e95a46aab" + } + "336930693" + { + "name" "5号·" + "NameHistory" + { + "0" "5号·" + } + "avatar" "bc1bdcd7fd0ea711e1090fce18dbf311d1eed989" + } + "1065220934" + { + "name" "hackqzz" + "NameHistory" + { + "0" "hackqzz" + } + "avatar" "1163766fa27f19323160ea609939f951ac2ae736" + } + "491150622" + { + "name" "史莱姆电玩发货机器人2" + "NameHistory" + { + "0" "史莱姆电玩发货机器人2" + } + "avatar" "e9072424600b5cbf8f7802a1c356f3d0d707f546" + } + "295581725" + { + "name" "菜" + "NameHistory" + { + "0" "菜" + } + "avatar" "0d6034bd66c1feceaa0a3d685f951e05759a298b" + } + "1164608054" + { + "name" "apYu" + "NameHistory" + { + "0" "apYu" + "1" "隐藏不住的真情" + "2" "不尽然Ne" + "3" "不尽然" + } + "avatar" "99573fd3cf49da928e119c94b5e9b2ee63f8be87" + } + "108181385" + { + "name" "۞" + "NameHistory" + { + "0" "۞" + } + "avatar" "47ac3ee7e9caf8d7144b37fc47ba1b541653ffa0" + } + "166634036" + { + "name" "?" + "NameHistory" + { + "0" "?" + } + "avatar" "19a2629f4706136444e8ea2fb97f1088f81b54fc" + } + "881290683" + { + "name" "肘子" + "NameHistory" + { + "0" "肘子" + } + "avatar" "1c0b5c37a442a2d39f32902ec42f2e26ba6a142e" + } + "885033487" + { + "name" "ANDUINV" + "NameHistory" + { + "0" "ANDUINV" + } + "avatar" "f46a7ef0f2d3cb1c5c83d33525b17924963b28d8" + } + "192233275" + { + "name" "vvangzi" + "NameHistory" + { + "0" "vvangzi" + } + "avatar" "4095ff57458b508c414221dd7a596df597ee3de0" + } + "441099695" + { + "name" "一根大火腿" + "NameHistory" + { + "0" "一根大火腿" + "1" "sRyMybed" + } + "avatar" "fc6cdfa55953bb3902f4b0db57174ad58a6b0fef" + "avatar_pending_review" "1" + "name_pending_review" "1" + } + "438518725" + { + "name" "Mike" + "NameHistory" + { + "0" "Mike" + } + "avatar" "63c17ac2ae71e5e191a00c8da90c8e84fb22a5fe" + } + "228711077" + { + "name" "MARS俊" + "NameHistory" + { + "0" "MARS俊" + } + "avatar" "d0023baa29f5aec2aeee499810725396f34c01f7" + } + "399648965" + { + "name" "smok1y" + "NameHistory" + { + "0" "smok1y" + } + "avatar" "b13ddfb06df6fd054fe671d340e3df46169834cd" + } + "326499265" + { + "name" "Kuazu" + "NameHistory" + { + "0" "Kuazu" + } + "avatar" "7bbcdacfc6d983f0fdfb392845cc71be6cc4fe4d" + } + "1326068957" + { + "name" "***了个逼" + "NameHistory" + { + "0" "***了个逼" + "1" "操你妈了个逼" + "2" "The Goat" + } + "avatar" "fc6a0e14ac2188235ebb9d4193691b7ec06d8993" + "name_pending_review" "1" + } + "468606706" + { + "name" "QWQ" + "NameHistory" + { + "0" "QWQ" + "1" "milktea" + "2" "陌颜" + "3" "Bernie" + } + "avatar" "4eb548bcc8f7619c12a2f44bcd1e814af5daaf75" + } + "182405644" + { + "name" "Samgod^^" + "NameHistory" + { + "0" "Samgod^^" + } + "avatar" "e6b631272b443c6e2537cb5f2cc9be962e953afe" + } + "227559583" + { + "name" "凛" + "NameHistory" + { + "0" "凛" + } + "avatar" "978931ff2d774c665a91b9fa83c8a6a8666dca91" + } + "304493514" + { + "name" "开水养鱼" + "NameHistory" + { + "0" "开水养鱼" + } + "avatar" "9518e8acc2edb86b60d48149476f2a671cd3188e" + } + "357226444" + { + "name" "G2 Esports M1sty" + "NameHistory" + { + "0" "G2 Esports M1sty" + } + "avatar" "d1dd03bcb4db56336892f918ee9572b92e56d6f0" + } + "365071964" + { + "name" "!Phoon Fewaf pop" + "NameHistory" + { + "0" "!Phoon Fewaf pop" + } + "avatar" "985dd188e27c31fbf2c44528e916a1d60dd15fd5" + } + "409389572" + { + "name" "卖姑娘的小火柴" + "NameHistory" + { + "0" "卖姑娘的小火柴" + } + "avatar" "371a608035635c129b05cfb48c8dcb0ee56bf66b" + } + "249272815" + { + "name" "xk" + "NameHistory" + { + "0" "xk" + } + "avatar" "2201b1de3a95a1ced9adc1555f8a0e725dc1841c" + } + "188285686" + { + "name_pending_review" "1" + "name" "不利周周" + "NameHistory" + { + "0" "不利周周" + } + "avatar" "196264d08a4cf246536841d5016196e72e2c5e83" + } + "489477197" + { + "name" "111" + "NameHistory" + { + "0" "111" + } + "avatar" "c2083183697344fe008a64b20bc6e88cd33ca317" + } + "402984481" + { + "name" "『 𝓣 𝓨 』" + "NameHistory" + { + "0" "『 𝓣 𝓨 』" + "1" "『Ty』" + "2" "Ty" + "3" "『 5号 』" + } + "avatar" "37285fc46655e59199d565ce24b9d04242462995" + "avatar_pending_review" "1" + } + "397762085" + { + "name" "tenz7" + "NameHistory" + { + "0" "tenz7" + } + "avatar" "42753b7a62208f94e874b0ccaffc5af2867e1f79" + } + "144409452" + { + "name_pending_review" "1" + "name" "内裤也飘逸" + "NameHistory" + { + "0" "内裤也飘逸" + } + "avatar" "4db526160cf7576a941956e8b727bde60bf18023" + } + "304118283" + { + "name" "Slience" + "NameHistory" + { + "0" "Slience" + } + "avatar" "0e6383eb356317046f5278174c101e864d2f984f" + } + "1040230779" + { + "name" "MILK" + "NameHistory" + { + "0" "MILK" + } + "avatar" "3e2bfa44035bd7051986c6afdb113e56b1862164" + } + "1043315152" + { + "name" "我改个什么骚点的名儿" + "NameHistory" + { + "0" "我改个什么骚点的名儿" + } + "avatar" "2815f6a75f015c7022af17c09c010d4fdcb98907" + } + "204223924" + { + "name" "TrEE" + "NameHistory" + { + "0" "TrEE" + } + "avatar" "a7bda2114d20ec4694af561f2fcb20688efc1497" + "avatar_pending_review" "1" + } + "454857579" + { + "name" "ST4R" + "NameHistory" + { + "0" "ST4R" + } + "avatar" "824d7fc6a4d875716044cb0f8d4c5d11a92fcb08" + } + "861240586" + { + "name" "Sumire" + "NameHistory" + { + "0" "Sumire" + } + "avatar" "a659ee6043a51cefa358abf4bc1624ec2b574c17" + } + "329913760" + { + "name" "blackboy" + "NameHistory" + { + "0" "blackboy" + } + "avatar" "3e9aeb99e17b2cd00c4e50371f2d9cbed7241b88" + } + "325244642" + { + "name" "I am a pig I want to eat" + "NameHistory" + { + "0" "I am a pig I want to eat" + } + "avatar" "f89c3afb28a9e5266ecb70f6775d8516aec4596e" + } + "350129100" + { + "name" "BeanTc" + "NameHistory" + { + "0" "BeanTc" + } + "avatar" "655ab6045d90432ccef448b85e6e4b50c3d9e2a0" + } + "190053062" + { + "name" "歪奈老师" + "NameHistory" + { + "0" "歪奈老师" + } + "avatar" "318adfe0abda32b8beeb1397d1b742e972710ed8" + } + "1093373286" + { + "name" "肘击高手" + "NameHistory" + { + "0" "肘击高手" + } + "avatar" "cc65b2e51c12c364fdb62d61b2232e804b4c789a" + } + "173643099" + { + "name" "Deku" + "NameHistory" + { + "0" "Deku" + } + "avatar" "d8ac4d04e09de4705de8f01d3358cdb903279092" + } + "365136829" + { + "name_pending_review" "1" + "name" "尼日尼的彼什科夫本人" + "NameHistory" + { + "0" "尼日尼的彼什科夫本人" + "1" "基辅鲨人魔" + } + "avatar" "123ea2b89e9e93f38711b27370aa75b072dc110e" + } + "333382993" + { + "name" "YiKoOrange" + "NameHistory" + { + "0" "YiKoOrange" + } + "avatar" "155e0a837790268861d302bbe617f04b0d3a56ad" + } + "177508881" + { + "name" "VD" + "NameHistory" + { + "0" "VD" + } + "avatar" "e8c9133ebeaab25a219cbe1b3120f744b4af5ed8" + } + "888324831" + { + "name" "Thirsty" + "NameHistory" + { + "0" "Thirsty" + } + "avatar" "f7f6df37828d52ec7e5186d9027d633e1df6142d" + } + "212420689" + { + "name" "Xiaoer39" + "NameHistory" + { + "0" "Xiaoer39" + } + "avatar" "431d8000e48f56dc52b88035d3455fd4f1d4080f" + } + "454881416" + { + "name" "古代树雨夜一猫" + "NameHistory" + { + "0" "古代树雨夜一猫" + } + "avatar" "e7fcb014379e0a8e4f843ce2345c728298ece465" + } + "191383594" + { + "name" "妹妹腿毛好多" + "NameHistory" + { + "0" "妹妹腿毛好多" + } + "avatar" "71901004b276026f74ee7f559e048f8793c9c655" + } + "405957116" + { + "name" "喵天帝" + "NameHistory" + { + "0" "喵天帝" + "1" "瞄天帝" + "2" "亚海悬城第一深情" + } + "avatar" "afb777eb2c71e9c8b1ef3658fa6e4a6cc87805d9" + } + "374938912" + { + "name" "qouk" + "NameHistory" + { + "0" "qouk" + "1" "奈奎斯特判据" + "2" "3060 Laptop" + "3" "ropz666" + "4" "艾莎妮亚无背者" + "5" "C9的shroud本人" + "6" "大宗师!!!" + "7" "飛天禦劍流" + } + "avatar" "80d352c02cedddc4ce0d21562549723e2d530786" + "avatar_pending_review" "1" + } + "358193013" + { + "name" "SkaLuu" + "NameHistory" + { + "0" "SkaLuu" + } + "avatar" "ed6ae65e44400b661e8f8deee527f0fe1c53ec30" + } + "1236450613" + { + "name" "Erika" + "NameHistory" + { + "0" "Erika" + } + "avatar" "f7eb1578e2ff9f72409f82b562281ef1606d925b" + } + "285047270" + { + "name" "glawks" + "NameHistory" + { + "0" "glawks" + } + "avatar" "96620c7aa8629fecee92a0ede442a5ade79d0b2f" + "avatar_pending_review" "1" + } + "1015106841" + { + "name" "四渎龙神小黄龙" + "NameHistory" + { + "0" "四渎龙神小黄龙" + "1" "WhiteBearMarthym" + } + "avatar" "cd52f863e3c73ec0166a6412a9b1447c2540962a" + } + "85442719" + { + "name_pending_review" "1" + "name" "GLaDOS" + "NameHistory" + { + "0" "GLaDOS" + } + "avatar" "fc6203e95bc9c6cc650d22575bf27ec3e22042ae" + } + "462033533" + { + "name" "图派克- -" + "NameHistory" + { + "0" "图派克- -" + } + "avatar" "909c4620a4db269f9a689bc6af564810d50b674b" + } + "296356586" + { + "name" "此间的少年" + "NameHistory" + { + "0" "此间的少年" + } + "avatar" "63f8c59c665b4e503e4348a56e080a02071814c3" + } + "889530838" + { + "name" "Shion" + "NameHistory" + { + "0" "Shion" + } + "avatar" "6715ff6e5fccec534ebbe7f348875788b5c0748a" + } + "974564724" + { + "name" "sh1ro" + "NameHistory" + { + "0" "sh1ro" + } + "avatar" "ae245954494c66bf3f110b7b68a94bcc7d1db8b2" + } + "370782077" + { + "name" "あJimmy" + "NameHistory" + { + "0" "あJimmy" + } + "avatar" "9ff462273869fe63cb6b6a7748673657bbe5646f" + } + "851839217" + { + "name" "犯病的骚哥" + "NameHistory" + { + "0" "犯病的骚哥" + } + "avatar" "d80ecbd1583a89c7bfe8ac5ced709caa611242d5" + } + "146859713" + { + "name" "Buongiorno" + "NameHistory" + { + "0" "Buongiorno" + } + "avatar" "1e0a4eb13ef42ee17528575389377cfc8c5c6382" + } + "316541736" + { + "name" "🦐TANAKA_RUI@2018🦐" + "NameHistory" + { + "0" "🦐TANAKA_RUI@2018🦐" + } + "avatar" "fc5d8974fd3b0cd4519d382edd70e89172d6da5b" + } + "469237224" + { + "name" "のんのんびより" + "NameHistory" + { + "0" "のんのんびより" + "1" "长萌萌老师洛克王国转" + "2" "长门!" + } + "avatar" "ccd744edbb55a43da7f2d094a9c41949205ab8e9" + } + "480843304" + { + "name" "叽里咕噜噜" + "NameHistory" + { + "0" "叽里咕噜噜" + } + "avatar" "744b846fe800241e9cad4b19b834d65b5a77d724" + } + "396332248" + { + "name" "me1ko^" + "NameHistory" + { + "0" "me1ko^" + } + "avatar" "3ba25b8663dbee5bb45cc2d8dd367bbfe83d9710" + } + "232664685" + { + "name" "温顺的小蘑菇" + "NameHistory" + { + "0" "温顺的小蘑菇" + } + "avatar" "a324bf43c27096166005c463bca48fb4dc93e2c6" + } + "361861739" + { + "name" "Gox.xane" + "NameHistory" + { + "0" "Gox.xane" + } + "avatar" "e472c893e84b92a0894af3f68c522b5d8fd04c07" + } + "953935155" + { + "name" "sakuraH1SA" + "NameHistory" + { + "0" "sakuraH1SA" + "1" "苏烟-东方烟火" + } + "avatar" "a394e00b53034f8294c00c4673596eb0e0e976f7" + } + "143947677" + { + "name" "怡亲王" + "NameHistory" + { + "0" "怡亲王" + "1" "居巢子" + } + "avatar" "4663c3c812006d281f4619d769a7e73eec4148b9" + } + "322338151" + { + "name" "KQ" + "NameHistory" + { + "0" "KQ" + } + "avatar" "eac8873601be51eb71d888a845a2ea656657b91f" + } + "1016474793" + { + "name" "多变迷彩" + "NameHistory" + { + "0" "多变迷彩" + } + "avatar" "48ac4e4524597cb8203ba9689836f9d0ed537f69" + } + "1024301600" + { + "name" "坩埚钳特大号" + "NameHistory" + { + "0" "坩埚钳特大号" + } + "avatar" "b07b9fcdecfe5e9dc715460ca116805701b54514" + } + "141507470" + { + "name" "英勇无比 的1" + "NameHistory" + { + "0" "英勇无比 的1" + } + "avatar" "480de91e8fa618b521eddcfd8bda9252e1f39919" + } + "401109929" + { + "name" "千秋" + "NameHistory" + { + "0" "千秋" + "1" "千秋秋" + } + "avatar" "b5a50d663e19f42702ed8b64def73631b2076504" + } + "410703746" + { + "name" "ZywOo✪cc" + "NameHistory" + { + "0" "ZywOo✪cc" + } + "avatar" "fd06b89637f401d767dbcfd1ab22287813501f5f" + } + "370988433" + { + "name" "DJ-光头强" + "NameHistory" + { + "0" "DJ-光头强" + "1" "Peop1e" + } + "avatar" "a1bce74e121a61be7cf56f1ce261e198137afc2c" + "avatar_pending_review" "1" + } + "399446121" + { + "name" "123" + "NameHistory" + { + "0" "123" + "1" "can i get a kiss?" + "2" "marmoush" + "3" "你好吗谢谢你" + "4" "nothingbutleclerc" + "5" "勒克莱尔" + } + "avatar" "885c98638579fec2538a8db21aa8177962b176ee" + } + "182688224" + { + "name" "OzY1^" + "NameHistory" + { + "0" "OzY1^" + } + "avatar" "0e89c672c785278c892480cc07d7bf34137905d9" + } + "239791845" + { + "name" "结果是好的" + "NameHistory" + { + "0" "结果是好的" + } + "avatar" "9e0dd4dd76f23aba764a1aae67537d0595250807" + } + "323370608" + { + "name" "Asendage" + "NameHistory" + { + "0" "Asendage" + } + "avatar" "d98d78f735ca3e8c2f5db04254d2b0d4f2d97f02" + } + "349364649" + { + "name" "wz183" + "NameHistory" + { + "0" "wz183" + } + "avatar" "9aae6ceb65c41f5d44faae69bbe5edbf57c87f02" + } + "463466559" + { + "name" "FLAKKA" + "NameHistory" + { + "0" "FLAKKA" + } + } + "485947827" + { + "name" "夢子-ゆめだけ-" + "NameHistory" + { + "0" "夢子-ゆめだけ-" + } + "avatar" "5b8825b34c5d77b00c3a18897f2f1175fa0e0e57" + } + "392529149" + { + "name" "Ganla Machine" + "NameHistory" + { + "0" "Ganla Machine" + } + "avatar" "a4607616ccc25d93ec0afe6a58b175761c82c9ff" + } + "377886978" + { + "name" "Rammstein" + "NameHistory" + { + "0" "Rammstein" + } + "avatar" "558416dca4046a3efe3fc582f53da905959bebe3" + } + "1142382352" + { + "name" "Glorified Toaster with Legs" + "NameHistory" + { + "0" "Glorified Toaster with Legs" + "1" "lky" + "2" "Fruit shop ******s" + "3" "iln" + "4" "BoQ" + "5" "o" + "6" "sleeping pills" + "7" "OPPO" + "8" "serious" + "9" "➵ ➶ ➷ ➸ ➹" + } + "avatar" "afc9903ceee0ab2dc0ed4e1137d15476e90acaca" + "name_pending_review" "1" + } + "969328478" + { + "name" "theboyhasbeenheartbroken" + "NameHistory" + { + "0" "theboyhasbeenheartbroken" + "1" "Heart-Collapse" + "2" "TOLD u" + } + "avatar" "8c99fa0a8cfc437c6f8a84b3ab6fb291c1c53d35" + "name_pending_review" "1" + } + "894804735" + { + "name" "毛毛" + "NameHistory" + { + "0" "毛毛" + } + "avatar" "f5ff9153e350ed09238a4cb0c00e2a6a4b7d63b3" + } + "439325214" + { + "name" "Edwin⁧⁧FKA11" + "NameHistory" + { + "0" "Edwin⁧⁧FKA11" + } + "avatar" "097964482267a93d476d09446d481d2b18eef09b" + } + "386239550" + { + "name" "DV Br1eFx^^" + "NameHistory" + { + "0" "DV Br1eFx^^" + "1" "iL0vez1z1^^" + } + "avatar" "e229015d8ecb75a3b25d86b74f0585a7467f0854" + "name_pending_review" "1" + } + "884730701" + { + "name" "这个大电是只有我有还是别的妹妹都有" + "NameHistory" + { + "0" "这个大电是只有我有还是别的妹妹都有" + } + "avatar" "6889e542266ff1eca9c32d7f405a723a0e19f756" + } + "1008653029" + { + "name" "Mr.\"Dead on the inside\"" + "NameHistory" + { + "0" "Mr.\"Dead on the inside\"" + } + "avatar" "6775434fdae10dc50ab2306adb6126f87aafeea0" + "avatar_pending_review" "1" + } + "401517096" + { + "name" "Leasir" + "NameHistory" + { + "0" "Leasir" + } + "avatar" "a29b30038c8d73209a2c7a1b553eb3617a079a0a" + } + "109567534" + { + "name" "vic" + "NameHistory" + { + "0" "vic" + } + "avatar" "84917f2aab9d1f40f2e23a746e7230d7bfad9eeb" + } + "182865118" + { + "name" "Takoara" + "NameHistory" + { + "0" "Takoara" + } + "avatar" "7b6b31d7af3aa01de9df1bd1a3de915642fd415b" + "avatar_pending_review" "1" + } + "436805168" + { + "name" "𝐶𝑎𝑝𝑡𝑎𝑖𝑛 𝑆ℎ𝑒" + "NameHistory" + { + "0" "𝐶𝑎𝑝𝑡𝑎𝑖𝑛 𝑆ℎ𝑒" + } + "avatar" "415ab5182964a1b88a459f7bd8bf0d71809a9a31" + } + "1017147544" + { + "name" "AKA丶牛腿子" + "NameHistory" + { + "0" "AKA丶牛腿子" + } + "avatar" "33f128632ec785f43f4a128e7218a9d0a5bfa3c5" + } + "1060387017" + { + "name_pending_review" "1" + "name" "ᴮᵒᵗᶜʰᵉᴿ ᵕ̈" + "NameHistory" + { + "0" "ᴮᵒᵗᶜʰᵉᴿ ᵕ̈" + } + "avatar" "72ebdd8d276820e05115cd62ccffa22128ed5e9d" + } + "444691713" + { + "name_pending_review" "1" + "name" "铸比大魔王" + "NameHistory" + { + "0" "铸比大魔王" + } + "avatar" "14c76e3dbba2f70325143c9f54fad815ac608b94" + } + "282899980" + { + "name_pending_review" "1" + "name" "好欧我吸" + "NameHistory" + { + "0" "好欧我吸" + } + "avatar" "7269fc251d3ad47793d684537abf0a547add803b" + } + "442165631" + { + "name" "P 丸" + "NameHistory" + { + "0" "P 丸" + } + "avatar" "bab7c3a3f94e563eb0edea76a5a0d0995cc35748" + } + "386809721" + { + "name" "我很急,但你先别急" + "NameHistory" + { + "0" "我很急,但你先别急" + } + "avatar" "8cd7f9a9091ff23b8961f1c46ab22f986c271062" + } + "1017035239" + { + "name" "Cider" + "NameHistory" + { + "0" "Cider" + } + "avatar" "80b8a2349172ae9d43e87bbac0ca4f583704bd8a" + } + "437559649" + { + "name" "乌鸡哥" + "NameHistory" + { + "0" "乌鸡哥" + } + "avatar" "eb4cf61866ab7ca9e34c1391bedd54453ba2a7ff" + } + "57537962" + { + "name" "辽北淡雅火龙果" + "NameHistory" + { + "0" "辽北淡雅火龙果" + } + "avatar" "fbe132a597888f4eb6f052b0bc4aa4203efdf9c8" + } + "406358046" + { + "name" "navi的郝胖球本人" + "NameHistory" + { + "0" "navi的郝胖球本人" + } + "avatar" "541a16b6d716a9ce88b7769219191d0eafcaf67d" + } + "260402439" + { + "name" "zhaiang" + "NameHistory" + { + "0" "zhaiang" + } + "avatar" "f9109def43a204de1829ba2bdab500fcb7931c94" + } + "847840136" + { + "name" "怯战的蜥蜴" + "NameHistory" + { + "0" "怯战的蜥蜴" + } + "avatar" "76c5c02a6fc7893f0a3f9be348de37173ed69731" + } + "379759714" + { + "name" "mini晖" + "NameHistory" + { + "0" "mini晖" + } + "avatar" "5143f30fc396352bea7283aee1acdf4d8f9ac68f" + } + "358071025" + { + "name" "古美門研介" + "NameHistory" + { + "0" "古美門研介" + } + "avatar" "4d3397b3000fa50af1b7bd9ddbdbb6288efb4e41" + } + "407721084" + { + "name" "Wu_Dian⚡" + "NameHistory" + { + "0" "Wu_Dian⚡" + } + "avatar" "c52b7fcb507e03e75373464330f2ec5bdb6fbad6" + } + "357412184" + { + "name" "Twinkle" + "NameHistory" + { + "0" "Twinkle" + } + "avatar" "b3c041f3eb316e0edf16e6ba36f426b433e16cee" + } + "322668436" + { + "name" "c0wa7d1y" + "NameHistory" + { + "0" "c0wa7d1y" + } + "avatar" "08fdd67cce33b1d59764b2429c0350f875e16572" + "avatar_pending_review" "1" + } + "202737122" + { + "name" "嘎嘎乱杀" + "NameHistory" + { + "0" "嘎嘎乱杀" + } + "avatar" "d66da3073a74714fbb063981973274b16cbc3998" + } + "860862487" + { + "name" "AAA拌合站业主陈哥" + "NameHistory" + { + "0" "AAA拌合站业主陈哥" + "1" "PanJiaChen @TikTok" + } + "avatar" "62fc027e33f16ae104e5ab3106d61604bb5a3fe0" + } + "363584207" + { + "name" "BeTTeR-M-" + "NameHistory" + { + "0" "BeTTeR-M-" + } + "avatar" "41c265bfb53888aa72a4c62ad1aa9ca703eb8d2c" + } + "455639780" + { + "name" "李贝特苦艾酒" + "NameHistory" + { + "0" "李贝特苦艾酒" + } + "avatar" "6c028fa8837f9c33f5ce8560400e77fbf6fde88c" + "avatar_pending_review" "1" + } + "1114355632" + { + "name" "谁会骂人谁厉害?" + "NameHistory" + { + "0" "谁会骂人谁厉害?" + "1" "Y先生" + } + "avatar" "baac637996217611e9d6e8837b15102f6d2b5619" + } + "298693683" + { + "name" "Quantum Rose" + "NameHistory" + { + "0" "Quantum Rose" + } + "avatar" "c4ec399f7fcd9e6028df0765c1f6afef9629e6fb" + } + "398739989" + { + "name" "Delusion" + "NameHistory" + { + "0" "Delusion" + } + "avatar" "8561b5295b00fd06c0a95e5f0938523e8835eb8c" + } + "396145475" + { + "name" "安静的猹" + "NameHistory" + { + "0" "安静的猹" + } + "avatar" "10c63d41115bb828f81b96127c96e489b7365606" + } + "468200055" + { + "name" "holiday" + "NameHistory" + { + "0" "holiday" + } + "avatar" "2f459ed7ed1483206eeddd59e785c193f4d1c185" + } + "901930165" + { + "name" "鸡因你太美" + "NameHistory" + { + "0" "鸡因你太美" + } + "avatar" "ba6615bab61be9613ebe195c1b71b4b5c07fe9c5" + } + "351972878" + { + "name" "宇God" + "NameHistory" + { + "0" "宇God" + } + "avatar" "9ea8ac518ef1585090f4970871d99c258fdb8651" + } + "380135062" + { + "name" "宝矿力水特" + "NameHistory" + { + "0" "宝矿力水特" + } + "avatar" "ec3a55c9e843e5a0ef792d5eb7edec73d9498761" + } + "359889268" + { + "name" "qqyip" + "NameHistory" + { + "0" "qqyip" + } + "avatar" "205d40ba481ef4a69ef0bad0706507d4abc07612" + } + "444606439" + { + "name" "INrain" + "NameHistory" + { + "0" "INrain" + } + "avatar" "6d43258169d31fd1c695f96ae00e13af73107138" + } + "103582791432805705" + { + "name" "Steam Workshop" + "avatar" "cfb65439267856d076239231abe12991d718a530" + } + "103582791437191011" + { + "name" "CaesarIA" + "avatar" "da97c0e921414b2e7e8baf857667bfac48310766" + } + "103582791454820402" + { + "name" "Conan Exiles" + "avatar" "399859f8bdaeef066f14029d5f1910960545fbd9" + } + "103582791460358671" + { + "name" "60 Parsecs!" + "avatar" "033862bceecdc058a47d488f0be480029342d49f" + } + "103582791464731680" + { + "name" "Cyberpunk 2077" + "avatar" "15ba5f5437473a1b4d628b3b87223e84f4cfdf38" + } + "103582791457747860" + { + "name" "Fences 3" + "avatar" "a41c506ab97001b8c40666f36f4b229bd7611bd0" + } + "103582791454942842" + { + "name" "Human Fall Flat" + "avatar" "15c6f6a4d69633a63ee410b24a2417f16d803b06" + } + "Notifications_ShowIngame" "1" + "Notifications_ShowOnline" "0" + "Notifications_ShowMessage" "1" + "Notifications_EventsAndAnnouncements" "1" + "Sounds_PlayIngame" "0" + "Sounds_PlayOnline" "0" + "Sounds_PlayMessage" "1" + "Sounds_EventsAndAnnouncements" "0" + "ChatFlashMode" "0" + "DoNotDisturb" "1" + "SignIntoFriends" "1" + "1459098383" + { + "name" "樱花欲落集满身" + "NameHistory" + { + "0" "樱花欲落集满身" + } + "avatar" "f1ea280a80d1b18994b627cff2dcf9916627a4db" + } + "113643041" + { + "name" "karrigan" + "NameHistory" + { + "0" "karrigan" + "1" "𝓸𝓿𝓮𝓻𝓭0𝓼𝓮" + "2" "『 𝓙𝓦 』" + "3" "『 𝓣 𝓨 』" + "4" "overd0se" + "5" "karrgian" + "6" "𝒌𝒂𝒓𝒓𝒊𝒈𝒂𝒏" + "7" "𝓴𝓪𝓻𝓻𝓲𝓰𝓪𝓷" + "8" "𝓴𝓪𝓻𝓻𝓲𝓰𝓪𝓷." + } + "avatar" "46be1fb26fcbe131062c9fc0fa6cbfd04569bffc" + "avatar_pending_review" "1" + } + "1388532694" + { + "name" "月下女神" + "NameHistory" + { + "0" "月下女神" + } + "avatar" "a7f832f9a0cf922e73e1cb1c1a98ad0e55015362" + } + "1116666211" + { + "name" "དགོངས་དག" + "NameHistory" + { + "0" "དགོངས་དག" + "1" "CreamTuu" + "2" "现実逃避" + } + "avatar" "1058ae25c55058ed2edd9bda7610710440e8adbb" + "name_pending_review" "1" + } + "461931224" + { + "name" "R0bb" + "NameHistory" + { + "0" "R0bb" + } + "avatar" "84f28211dad5f1cdaa91d99feff15142077a7930" + } + "103582791435604144" + { + "name" "advancedfx.org" + "tag" "advancedfx" + "avatar" "d86cb30fe931c0a013e994aa6f1c88ac489c4735" + } + "1176662616" + { + "name" "Banana" + "NameHistory" + { + "0" "Banana" + } + "avatar" "c626b3990341b294f0771ba9f27e1b023ba21141" + } + "1561653015" + { + "name" "Skeet#Ruwqwq1337" + "NameHistory" + { + "0" "Skeet#Ruwqwq1337" + "1" "NeverLose#33QWQ1337" + "2" "哭泣東雪蓮" + "3" "悲傷東雪蓮" + "4" "RX580 8G" + "5" "SSS" + "6" "佐佐子" + "7" "sakuraH1SA" + "8" "[C104][中国翻訳][無修正]" + "9" "チョロあま男の娘[無修正]" + } + "avatar" "11ec425347f1480a83c6fb2d9c1f55062e5bc928" + } + "875940346" + { + "name" "Shou Ren" + "NameHistory" + { + "0" "Shou Ren" + } + "avatar" "b3df5132921678b3a4de117acb8408cd2512e475" + } + "105477438" + { + "name" "Lucky熊吉" + "NameHistory" + { + "0" "Lucky熊吉" + } + "avatar" "d0294897441ebfdcfc493c01bb200b859921b4e1" + } + "1585617690" + { + "name" "R3grets" + "NameHistory" + { + "0" "R3grets" + } + "avatar" "2a4b0fe4da91287e0ddb0eacb9100b4b8a0f0874" + } + "1391025316" + { + "name" "Freedom" + "NameHistory" + { + "0" "Freedom" + } + } + "451792972" + { + "name" "火の決意" + "NameHistory" + { + "0" "火の決意" + } + "avatar" "9d9bcd92dc82747438683c8570e25a34392ff568" + } + "1532076730" + { + "name" "overd0se" + "NameHistory" + { + "0" "overd0se" + } + "avatar" "b7fbf78e6d2abb73de19ff818cf221d1264cca7f" + } + "411953203" + { + "name" "苏西Official" + "NameHistory" + { + "0" "苏西Official" + } + "avatar" "2b4c05196ac0aba65238191eeeab920c819b478b" + } + "380158963" + { + "name" "Navi Edward" + "NameHistory" + { + "0" "Navi Edward" + } + "avatar" "972255a1a16007acaa766ddbb484adf3095b0db2" + } + "192253608" + { + "name" "小砂田" + "NameHistory" + { + "0" "小砂田" + } + "avatar" "65822cea78a47674d4a0f12a702a197fcdadc236" + } + } + "SharedAuth" + { + "id" "447116264" + "AuthData" "e9eb480c059e80e3017e8243e4b2353ee5dd696304cbc52e1016b99c91ff5202" + } + "Offline" + { + "Ticket" "08968998a90115d298df67" + "Signature" "04fcebfe38d9313072b35f85fd7ccc2f66dde28fcaa33388e0091af16e87d9c3909ed45ef1ca6e6e86d670f11c2ad7caf533e30af002ec61512f9c6815a3fcd85825a42430f82ac4da27e3835eea434ef6821ddd55dc660e53ccd5db0260903586a24caefc2978abeae276092e27f1c66bc7f9bd78239f32e3517a8f53dce9c3f75504093934cc528b376fc15ede3cbe477f6fd222f6795de5503c6ed78ff1af89e7d448c905d050c94b525483e4f29513389030164eebf2e031b5630c8c78a3fbc83f4c31e0d4f6c280b9b1b69ca22d5fb4a7a5b6d240577d582f1719a568917464a7a087b9fbfd06d915def21314b146e1f0d90df254e68b0f8c3be02dfffa" + "EncryptedTicket" "0a206b1f230438b625f44e8c79abf6994172b6a3c28a86b7f42c43cb50cdc6fc13f212800204fcebfe38d9313072b35f85fd7ccc2f66dde28fcaa33388e0091af16e87d9c3909ed45ef1ca6e6e86d670f11c2ad7caf533e30af002ec61512f9c6815a3fcd85825a42430f82ac4da27e3835eea434ef6821ddd55dc660e53ccd5db0260903586a24caefc2978abeae276092e27f1c66bc7f9bd78239f32e3517a8f53dce9c3f75504093934cc528b376fc15ede3cbe477f6fd222f6795de5503c6ed78ff1af89e7d448c905d050c94b525483e4f29513389030164eebf2e031b5630c8c78a3fbc83f4c31e0d4f6c280b9b1b69ca22d5fb4a7a5b6d240577d582f1719a568917464a7a087b9fbfd06d915def21314b146e1f0d90df254e68b0f8c3be02dfffa180622083f9beefdc2fa7f00280432083c9cd8d94416930a" + "EncryptedSignature" "04fcebfe38d9313072b35f85fd7ccc2f66dde28fcaa33388e0091af16e87d9c3909ed45ef1ca6e6e86d670f11c2ad7caf533e30af002ec61512f9c6815a3fcd85825a42430f82ac4da27e3835eea434ef6821ddd55dc660e53ccd5db0260903586a24caefc2978abeae276092e27f1c66bc7f9bd78239f32e3517a8f53dce9c3f75504093934cc528b376fc15ede3cbe477f6fd222f6795de5503c6ed78ff1af89e7d448c905d050c94b525483e4f29513389030164eebf2e031b5630c8c78a3fbc83f4c31e0d4f6c280b9b1b69ca22d5fb4a7a5b6d240577d582f1719a568917464a7a087b9fbfd06d915def21314b146e1f0d90df254e68b0f8c3be02dfffa" + } + "apptickets" + { + "7" "32000000040000009604261501001001070000008b9dea68b100000a00000000d298df675248fb67010000000000000000007f819c88a8f0735b8ac28d4be665d8203e61e9254b7b77db194411b88a4302d876cac0f74a1a77c33ff41adb1b5a9746abffac747e9c04a954836cc296dfd118c1bd7d28b74354e4f96331c600662e0b22991ea259ffb3d0fdea98fb081eb9dd91691225a2ef7e0c124ace6a9410e60c9b661c79c46690aa96729b266b44fce9" + "570" "5c0000000400000096042615010010013a0200008d9dea68b100000a00000000d3d2d2675382ee670100a363000007003f0200000000a2c704000000dcdd0400000034b2050000007a2006000000a4450700000026af070000000000c3d4214182a67a5c84db3eeed6f5f2b9443285f8128c3b29dc0910abb6948350438720429063f9e53607bf16a2eecda9f38f5451f402858cdcbea5cc993ab1ed3f881ecf2c2c2446cb20e0ffa943dbbe827be0241c884346258868efcc3fd3b15feb58426111acbbfdc6ccfb226f0009342d4d5c2e553a55fa65830983ca5ffa" + "313250" "32000000040000009604261501001001a2c704008d9dea68b100000a00000000d3d2d2675382ee670100a36300000000000008385973d9fcaa0c5ba9b2d9ef93c2265d71e634850eced49de6bf63dc2be2af78cfec3689fcd85f2666e22aafdb5626faa88c31b38a132748f5cf519de0340cbea8ef7100697f059e7e5edd599aa238102e6a2a993e5f05480e4e2a0003be4c46f1344bf9eed529bb90f8f3bf17454259782ce3c6ea6cb292b49063c868e3c0" + "373300" "3200000004000000960426150100100134b205008d9dea68b100000a00000000d3d2d2675382ee67010000000000000000008ceec0e725493611a2fcd14dd3c60780f2805a45a1f186920899a965d1fbc524af49a53e5d60b8d651bfc8362f9f2b0533a068de77361ca589a0ba5e953e3d25182a8337d4560971054d3e38ffff78722c6704eb6ba198dabbedab472f1399a1370ef0e2e66ad9fe7c7a0d820ac5596bb422b88bd85f51006d4e8d020d3a8d49" + "401530" "320000000400000096042615010010017a2006008d9dea68b100000a00000000d3d2d2675382ee67010000000000000000009e41f6b0869c87d0b7a0fb0512ec8c427e4c90eea5d10eb78fd2154949bd547f89675e10bcc900dad116c28046e0f9eca30dc6142d629d95148390d5c75d0c491a1f4e916ad08418ab8decc66081ffa50a2c530fe79840f8b428e7387be38eeda9b83b381c2e316e801c382a8ec9b5afc2812f46a56a99a27327350d88c84452" + "476580" "32000000040000009604261501001001a44507008d9dea68b100000a00000000d3d2d2675382ee6701000000000000000000cf7470b409a85b2a250ad33070109fd8a51068003ff11f1b6c242b24c7a8117356d082fde21ab23ac667e769a8fe863e60d4543913d441e4811cadf28524a19fc3db3dc25e93188a5214fe04648fb841a7061aad56400a4fff0ac98fbe0d0c18d9fb10e5fe9e3a9bd4e4473c966e4c22a9cc18f85a3b0f2084547b4e6048a6fc" + "318940" "32000000040000009604261501001001dcdd04008d9dea68b100000a00000000d3d2d2675382ee670100a3630000000000003fcea5e7ff06f519d2f220b2420ef93624989e8b3ef2b7a169f3f9e1b485b7aaa759a064a057ff4ee0ca4bee47c056bb470dca1c193afcd26b4f76961af017a7cf09e8c03a6e8f2fbff42280e09c79362611e7a67ba686f234b638ce9325d4ee9815ca7ff13e8b55755489e731e70c52f3465e532a8f2cda50e5f313106c7256" + "730" "56000000040000009604261501001001da0200008b9dea68b100000a0000000058fddc67d8acf86701007c3d00000600e40200000000b48809000000b58809000000b6880900000028c92200000029c9220000000000c5d57d0b7c7816d1ae001202941d1bc51a3723f5b107f0fc9969dbe936e4d6e104440eeb4bdd9a8dd55388f650076744256c727536994788db2ce9dc2e1c98391b7d69536b741ad9506b88c9745f2af3c0f2bb851f88d3acfd62f951f33d48a4fc1521e8af57887697c4973e9cf8d34ba169039978f599a1847cbfc932bd8f4e" + "2279720" "3200000004000000960426150100100128c922008b9dea68b100000a00000000e337de6763e7f96701007c3d00000000000020423442f65cb4632bdeba31e5f5f2dcbcbf2822d397024ae9a79999c8ad513e2cd15c07bd91c2c9005e901991dbd3f78162963e8607c65efa28c225cf40766b9b6e2632b54e0c37819b3ecc927906d25fd4353d7f561cb6f3952b4540b8de01a06af0d40bfe36e2b5d5ae4db359d6df62608db43579477391db50d873025a7b" + "2279721" "3200000004000000960426150100100129c922008b9dea68b100000a00000000e337de6763e7f96701007c3d0000000000007efceb4a86bf63d2094bd37076b7fb7b89a4f1a379ee735007eabc79b220e871146f648fdcd41dcfdf115cb488fa53689ff82207605e4459df7f483be80606cab8fb24e48db779a6becf72856948719a1b611749d2d88d05586d37fed7c340ac15fac478bded53d9be31718c6478cdbe0e2a493115db37ffd851b423867977be" + "228980" "32000000040000009604261501001001747e03008b9dea68b100000a00000000e437de6764e7f9670100000000000000000014102e8f623654b5607bf60fbafc3ccef0716287f9ad83651a4a153fc0988f61ea681375a4550bc3f0df54c632d20f851826cb0ebedb1c2d7ccc2bbd0d5e588069e1dbdc93ea09937e43f1f5bd189431ab462f3f4cce88bec2ab871cf44320a214b3a9b3f9c817d7d5c1ca3a8987dc2ad9bd3f47eecf07be8cbb5305d0af711a" + "570940" "320000000400000096042615010010013cb608008b9dea68b100000a00000000e537de6765e7f9670100210104000000000051c5e7899221b8afe319530b79f30314b75f5122132a1a42aba83837b3449984b03e6167a34a646db77e14fcaa2fdd1e2263af940cf560b9d71bd3a6f904b646c9ef4a09c7b0504c1b4e699dbbb081e8657adfeda760c0f1f591fec719c99cb7e44a8352b61520e31fffeca87c2567e14a5b15d6c95b469170f173ab5e9cdde7" + "1245620" "4a000000040000009604261501001001b40113008b9dea68b100000a00000000e537de6765e7f9670100779806000400fc741b00000080ef1c000000d4652a0000006a922b00000000008faf653945bc49dc3a853a36199e13885802271cd1033bf56446606e91fa643982f468fc0a4f59d792a321af836489b6ced19d98d329b58dceee83ad0061e793e160c78714739b48815fda5c2628fc03643aae1008b182d8a1aae2994bee94bca1e85b139f059b3eeea2f3cd71d9d589aa7e2a560cdf873df0d8f8816d54da65" + "1799420" "32000000040000009604261501001001fc741b008b9dea68b100000a00000000e537de6765e7f9670100779806000000000090e03904dd2c8a250af68a4f4a6fc28cb6f6f8cb582a2632f8cf7e6bb1960546603378385f20d4df41cd60f112e8be8c58889193a5bb7f0fd499b0d9761cde41f357cac49fb865f88db20447eae3d720a0147ab6cd5d588346cb6488684ef669f724c155162fef7be7d5221ae6a1f92800b317957e27d8db6c2572e7fa089754" + "1896320" "3200000004000000960426150100100180ef1c008b9dea68b100000a00000000e537de6765e7f967010077980600000000005aa25551d8c198cd2bbdf4d98ff9ae19806a61922df5066c7c982c048fade8ecf1cfbb9e9d6976481ec43fb3dc25c17b176e6b9915b21026de7f12c88a27b94ffe47d075fe09a224cddf6a85e9cdf6373f1606f6ea0afcd6b6caffd216e813b10bc6e3b1c26fc2245ffc10a558799f1655459b944626424793af20dcff11f5ca" + "2778580" "32000000040000009604261501001001d4652a008b9dea68b100000a00000000e537de6765e7f967010000270f00000000000479dc03794fd61832307df0e77deb266e950f25f8a00280fe407497b110ff40705988eb0cc3a055856e62376c607e797d6e40b0e721b98dc203a495870da9452d5ab55ccc5783ce9fa69878578d63ec704ee19c8bc26ddc63a627bb24837ccf4a33591bc3a3af1cb73c9be07589f90c62d2401bec6848828b3dfa142a1edf5b" + "2855530" "320000000400000096042615010010016a922b008b9dea68b100000a00000000e537de6765e7f967010000270f0000000000bb6962d3decc4a5e81dd562b75633fc86808c99ae589fd50d6c78df3b90f02328f36673b48c87bcda11f56abe71a473065d84c3f69248628bdea0be4c66d0ea1338a7862f9a5adc33e84823354205482808ab7e7dc7c02d8086eee1c7f92a47fba8666b9932243d6305fe6f86d12a3492239e58f2dfaf9c22fe96e49719fb2ce" + "1449850" "320000000400000096042615010010017a1f16008b9dea68b100000a00000000e537de6765e7f9670100a9c8070000000000b8a027280294a5d3cad869d05602a65a781286386c7775cf7fc9964764d1ddffef69b24d9d22f82c35680bdd6a1160f27ed458082e87c6eee8799513359d6d8c19110f71f0ba784462a5b747546d08750772e2840c4e123c55797c7978925b4144ba8495c0c449ab42f67ebbe5628f3b17dc1c1fbe7dd00f5edfe0d5cd4f01f5" + "3132990" "320000000400000096042615010010013ece2f008b9dea68b100000a00000000e637de6766e7f9670100530911000000000075d46d93178f5c348e8a5e8709f7f9b5161e7ef47ee10172ebab97c2a0e4498de8fb26cb32674b270dd127bf04f28b38315454768e2af15fb0084db40dd1d260c75b8c422012ca84d76699523d4d7d0f14d96667a29cdf199ce45d3c6837868009c408c2f39822d35fa25d4adc1cffa968ec05bf46e47a5eb621bafb3979e74e" + "1905180" "320000000400000096042615010010011c121d008b9dea68b100000a00000000e637de6766e7f967010025780a0000000000b989275dec7f61315917fc071a8b60495326eee12728f6e47854879fea2294dea3dc587d517f2fec5d70db7c7b0b46c4d325fc571a34b8def88acc6e0bc3cbc095b4c5272e45f794b5d7776957b18ac4d3d0d107baae8ae7fd89deaec7204d53d5225c69eaf51de52883027872d26c48402a23c1b96fdc3c8b04ec2ca8990517" + "386940" "320000000400000096042615010010017ce705008b9dea68b100000a00000000e537de6765e7f9670100921d01000000000083b5ddd5fd7e442a5777546576cda37107d8813ed568bb13fa27901d1f7f23ceb93ae3123fb08698274b00166f74f384783a3e139d049b3cd826cf4ace254796075a455f40e8574e49d04a89d77753c73e1abb2d57cf1bc4de1bf7e5fd822c16e4d5189a19e441c34588f14ad5c4880fc0e6fd2c1c1d090c7f63f2e08c8c0e82" + "583950" "320000000400000096042615010010010ee90800161516dab100000a0000000062dc1467e28b30670100a878080000000000391123c8a53c715798d7a52705fc254bbde75c2ddd1d54bcb4e83b81c58cca823e10e366eeaa8ba41f759c18a4e01f66ce77421e27da627df068511e498b4eb34bbbc9df9a4114955ff1ee9b8781df9a8532121bbbaef9552243c23cbe249254b825b94d379440c30a896521325521b19bfb7e667bece76473910cdf89a30dce" + "1422450" "3200000004000000960426150100100172b41500161516dab100000a0000000062dc1467e28b306701000a9f070000000000a0c3dce9a12dcf6ef4afefd9d99951d13f9a5f389c7afc809ce306018ef7e52272f488dc144b362555f9d4cdc83dafcbe60fa2af3d0ca623c2137aa204270bff24e51f991b41e6661f2e1c27f1439455fbf3cb1dcc3e19ec3ff36a36c95813d84bf07c1e248ee7638134ddf5328a2a228fca90d457e749203fd5ba4431fa9a6e" + "2358720" "3e000000040000009604261501001001c0fd23008b9dea68b100000a00000000e637de6766e7f96701000a13100002005e012d0000003ece2f000000000022e640f4c94fcca582d7b425b39038a3df9e1256543e2c8634c5d8f993325103c246fbfe3d9e89ff3a683f6ac46b37d7e39bd0e9e151e32ba4823962e800a8302e2d10aebfc301bce0614a695e13ae17a42ed085179c9c0dd6d8f32f8e0617a517964dcba877741321930f805fbe579fd9715947c38a7bff6c01519c38bb552b" + "3036080" "32000000040000009604261501001001b0532e008b9dea68b100000a02000000e637de6766e7f96701004578100000000000248c42b579e68cb2f545363343feb586369b9bfa72eb781a050385d92a6dda1a240ea0d46542a956c5aba5327349ba28a5cdd02d90e62a2fce3ff18e32771124a59a7ce61e2aaf8576beb73850266886042c1614822ab2550cc8d8bdabcd1589fa2559771ad33c3c9a298964cb954b48e64ab574ee56669e06dab598a307f17e" + "3097560" "32000000040000009604261501001001d8432f008b9dea68b100000a00000000e637de6766e7f967010018ca1000000000001419f15978dfdbcc5252cadb351e064ccbe346bcae26898afc63d63a25eefcaf0273ae5c2cdb569afaddd95f2d6a10aa9688a0c71d652fd24f38fd23b40a31d3ba99abee998e62704ea72596078c325fb3ff4d75a1c7073645216dc2f2ae262cbc9bfcfe12cbedebe9598540a8b4b526558ca208a7832e2758e79f6196dbbd80" + "223850" "9e0000000400000096042615010010016a6a03008b9dea68b100000a00000000e337de6763e7f967010067ee040012006c6a03000000080106000000722306000000a63506000000b035060000002836060000000a8b06000000e59107000000e69107000000e79107000000e89107000000767c08000000007913000000b0de16000000b1de16000000623e19000000544c23000000ac20290000000000c137059993543ca173fbf25696affba8c3bcfa42c8d3884be4c8dd29cb0ff7dcd85588933cbdddcfa74d6aec57bb98153db3e256b73e018ee598910c6a7ac3492fbf042c12a14cce458cef12734e43c3ba9e0c76c7451460fa8642c46617c17a5b34c011925dd4381f37607ecd0f44e61bc2585e89ceef9627a9c3a25746e4b7" + "223852" "320000000400000096042615010010016c6a03008b9dea68b100000a00000000e337de6763e7f967010067ee0400000000002b7dceeb64878b41502b74caf0800f8e8f528d33d425bba55aa8498a847ecec25ca016b9ded37445c8190ac3012a82100a6881cec99e937bda49d639c94ce597d4914047940bf7a391985777d0c0ac1fc555e4d60de98abf472a724b828ee4837e74dc6f12ba5e89326c706ba23a0e780defc36190566c058c1c38f2684da050" + "393480" "32000000040000009604261501001001080106008b9dea68b100000a00000000e337de6763e7f967010067ee0400000000008b4d40a139a854c4fd9581f1aab92063901475086bbae836c53a224d3976e4f5b0d4827eb4f6821df695fa15934258d56469401b0b2c047d7c0f1d55780a656c679f1cf5e888ad643b1b32ed7289d3e4d35255b94fb43da93fbdced1075902eac1c77f0e41ab0b63b821332b17d142936cd11595206834c4e7d3ffe1a5bde480" + "402290" "32000000040000009604261501001001722306008b9dea68b100000a00000000e337de6763e7f967010067ee040000000000a2123505f84908d253c0fea7317927b5394c704e1bd98f7eae4b6226463aa7d141737751626f5a7d330f8ed604bc55b6ebfc8959f1e98cfe67ad1292926f3bf8ae84702df03e3fa06444c2f8987fcd072fc1922aef9d948c60da5583ac7cce7bfec350b1bd2bc249a688151937470c85594025e1dafdfe647384b6965178860f" + "406950" "32000000040000009604261501001001a63506008b9dea68b100000a00000000e337de6763e7f967010067ee040000000000097d6bda4eb5474a83f0e7395e8b65e598d966771678e53377f34e8628e849ada337cf7911a5d42ee83ec351ab019ca1ce7c4589c104cf92b937a98a651036c8346fb087cb073f4041f2b327df9433a59e290bc0840704877ade84c270011b753b3442976ffd5e18ce791875c39526311a68eb73c63d0b1bb7ad760f16615f3b" + "406960" "32000000040000009604261501001001b03506008b9dea68b100000a00000000e337de6763e7f967010067ee04000000000077382c30a7839d376af455b99fe6479bee1f856240bcb3fc4f9e7687f256925c1a6aa3f47054cf0159e0015bcd66068a95ba5ad8434e799102ec0bd7f32f05d03f49d9e71ef560a2fa5c0972d0048ef93d7a74b2c38a37e3fa859abec7a745cf5eadb297999671598518dd86715bf0a1f9cf935bab71ecc7a1b5c07488171f12" + "407080" "32000000040000009604261501001001283606008b9dea68b100000a00000000e337de6763e7f967010067ee04000000000033a7976c6f4ebeeb218d5bbca07348a357387e388ddb84f52a5ff8e3606f9e4834f9722290d9c3e7cd0e956ab47fca28c550460ede50f2dd31a203c0cde821a7ed28d27a120856bd02c3ed883c9ca571b1cbde22d5c701e0060299e4b725e1524659c780c9a8abf02958d1f424803bb4f387b8459029de7eb8e71b6c8c4b058d" + "428810" "320000000400000096042615010010010a8b06008b9dea68b100000a00000000e337de6763e7f967010067ee040000000000ca3acc39b541427a9dfd6261b03207b84478b6f5388ab191488b8a6f37a08605a7e1003a0262f82a58a1165bd489647da0168563a93d8c03c92760a2b45c4644d6cff5712a18c6577d49a138473ab92cde03494d5888f5c65cf223905a822cff4e8efe48f140e4eac0ee70460c10def5cb1a202fe0d95f0d5ffa7a10cc927169" + "496101" "32000000040000009604261501001001e59107008b9dea68b100000a00000000e337de6763e7f967010067ee04000000000032e9e8a07bfb9d6065505524af773e718278ff183379e7d03cbebe10acc079ebd1c8d7b9b6edab0f0b5f8ca5c9a213f41c228e8a65e682b4345caf4b96e4788abafa4f96b07b2c0344789035933b097d7b3af4e7a83f999cb2c0c0d259bbb7c69d81754a1cdc1a230b88d61683a898cac487050b7559bff6c75cd2d8e136d6af" + "496102" "32000000040000009604261501001001e69107008b9dea68b100000a00000000e337de6763e7f967010067ee040000000000547d14667c842e6907d1f9fa2f4dfabeb2d5d9a7af9b4860877fda11d434729ee8f0077ffebb735cc5ab71fc50df6a337d3421b20803a0a607339d108d16ddf2442cc89adee9f2b68d26f2a96413b6ffcd18bcb31b02b23ae14bff8341c79e21e498a77e025fbf5fcb067fc48189090f85616b6242800bc66263e3d339366f33" + "496104" "32000000040000009604261501001001e89107008b9dea68b100000a00000000e437de6764e7f967010067ee04000000000040a3698be1eacae03c0028ff589f75b15d2c91b084b66c557945e3563d1483e0a6409d9c9e9ea52fc0d2b7e843864107ab5daae1ec32a60eacd6943712cdc283b1c4666e99fdc789bfcd6ff273b3de062be42e682567348d4c2cfe8adff4ddd32c14bcbf2e02999588fcd17afb3aac74a79e0f94d8859594c4d76d1def98bb70" + "496103" "32000000040000009604261501001001e79107008b9dea68b100000a00000000e337de6763e7f967010067ee040000000000df3ec715ce09bc8473469eafa5a79f8c2a1e5133ddef2fbe950e04680e9a3905d1037cdacfcef97b75a41254fbeb88da078f5f8c6b027f94daaef26fb0b3ac943938fea3102f60aaaddbc607f0701757d3c148af150bf79727a33e9a7e34db20a4288640abfcd2e0ebbfffd0612d936ab5a02f909f9507bff1e4f580daca08d1" + "556150" "32000000040000009604261501001001767c08008b9dea68b100000a00000000e437de6764e7f967010067ee040000000000cda42b7b0f7466c7d2b0f6e7aa1c79f0d56d11f029eaaa667c6dd9421e30d9a0c63a0aa1e8307498f786bbc211c0884187beb761cc9b73092ea5b37b7dfb128df123f69efc72d87fc77dddda100b48e2c15e820d81522707240795d42fb3362cc78ebdfc521e7befdf8f15cfdacbd4b56976fa5ae6461f61a8c214931b587b8b" + "1276160" "32000000040000009604261501001001007913008b9dea68b100000a00000000e437de6764e7f967010067ee04000000000082471c7b1ca738a03cf229c58ff9325519bd4a7a69165472c51424a8663eb140bb10529648f27f5311767299e7b6dbff81079888658c184bbd0fe5e5eda506df3e2150b53139d4b2e3d6efe81c2722406d5a813f85521b135d189fc54369455888601dcac5aa6a14a7c8554c254f869ae86adb3a5e96406aa615fd067627be3b" + "1498800" "32000000040000009604261501001001b0de16008b9dea68b100000a00000000e437de6764e7f967010067ee040000000000d26998012baf2dfcb138581842b155220aaf6ebea5bd99dc80f6fac9c694fea7e1956afa9c9cd9ad0bd37f5da124ef108b417c05c0887b87370d5bb5ad9473f30f068ac66db0012f58d148dbb292ee886fd2a1bd49e6e484b5ded3395f3c2023a2fc918c1ccb75e5542a6b0c92c70e94f1c3b45f7ad1adc07ada37eea34b3ffd" + "1498801" "32000000040000009604261501001001b1de16008b9dea68b100000a00000000e437de6764e7f967010067ee040000000000b5cf16ed4526f1b6dab1e98dce67cdf863d89e76967ec0cd8b54a30f157f667be48048cb5dd4918ac0bc3b351225abfe8f84729bc71834609878549fb40ca84182226968b856dc7295d097f8208892ba7fd421b1d6af412189d345be24b8e0c086e3893993d41099530885f342d2ddcc76286d2a6bc13dae0f72189fc9dec71c" + "1654370" "32000000040000009604261501001001623e19008b9dea68b100000a00000000e437de6764e7f967010067ee04000000000038f919a11067e777fa176745d9c73c13ecf33ce94c4e34dddc9313dac09fcfd337c793d921057ec96ce8882d2ccd21c999a6e14f843ff221a15260c4bbb4c5c110fb91be59930b109168a7ba78da9afdbd092657abf4ecec8ef309633be78e3654374c38c59cf050147be9d6b7bff3e7295ce48376aabe9093c667dc52bb0fee" + "2313300" "32000000040000009604261501001001544c23008b9dea68b100000a00000000e437de6764e7f967010067ee04000000000059a65b9454055309226df52b0a34a01d865d48ec373beb37c0699028866aaec53e7d25dfe2a94ca04aa8675632b700a7e8dfd962bd6810bf30a39f5094c4677be44e2216e540ad5e1be392aaebd33b9326f2fead36f704de47f8088c3a11707b0fb337bbf1f1727edc70b9d190c942aec249b6ed96040b1607bf9dbc99af5bbc" + "2695340" "32000000040000009604261501001001ac2029008b9dea68b100000a00000000e437de6764e7f967010067ee0400000000002945566af418ab91792a494fbec17e221313e7daa842c2d646936d6caca2908dc5fcfa9661458263e3056a0a649821f73e3ffdb5fed633af318872217bb2e52a863f417647f86c4582cc446a3eefdde52e1b6074be53bd3ae1e3149586d9178870d1962b64f4196b144ea512dfdaeb6d9ea5794253c1e708b956afe1af6f12f7" + "10" "320000000400000096042615010010010a0000008b9dea68b100000a00000000e337de6763e7f967010007000000000000007fe65a8b5c2f6bc1f84c369ea2b6d4313078f92c2626587ec68ceca430ce1c7ade3a67f442bd389f905ccde19f57414e59b5fb2b3531ebba08c3e2f4494b65916a4e9f475fe11c129ffce0bef77519b42e4caa8cd89c560bee92a9b9f9764a2982108b7caa724e284f53d4bf879b27856e69374d03b3ffc43322560213d27912" + "70" "38000000040000009604261501001001460000008b9dea68b100000a00000000e337de6763e7f9670100220000000100dee10300000000004af3d27e079f04170987496f4cc5e8956ae86d214b57d74ec10d776e818335ada7e554f3185320855c0f8fbad75a86553cd1222147b133dfdb3526bed84002f097b1daba0ff8ccb3c4243ba2cb09d5dd3a57234d19e08db786fd2b9a15b092daccf9a7199bb57b95b310359e49accd255a1c6bcb83925fed35314ae98d099acc" + "1144200" "32000000040000009604261501001001887511008b9dea68b100000a00000000e537de6765e7f96701005ff1050000000000981bd9360ea44cc1d789ddc3f6e68c71d736d611f71abcd9efb3c8bdfad0204dde13f6994d0b76ccb1805ba777a279988b1df1e830b639087f3dccea7a4d341406b95a4f66d9734550845002707b4a5915a25fef02a03e0180f70ace8b0d94427469ed9401739bc6e53293386da61cc9a6a047866734d8ea93a3a00a08e19245" + "993090" "3200000004000000960426150100100142270f008b9dea68b100000a00000000e537de6765e7f9670100adfe04000000000066ecb03cc50201b9e4f9b6a5d5c2ca6ccff9978d412939bf46b8d75c0f3f3c49517a2f69ed330dd69736938fa423275b150d17fd65a05c21339b10bdfed7e9f4726dbf73f44fd5b767a1a78eeadbc0c5334140db835a8407b8ddd4bd00a797a364c6f110920576f0753cd58046533a5737397e8073d358625a9397aece6cc0f5" + "289070" "740000000400000096042615010010012e6904008b9dea68b100000a00000000e437de6764e7f96701004fe101000b007e2b060000001ed00700000020d00700000021d00700000022d00700000023d0070000000c1d0900000018d90900000019d9090000001ad90900000036750e00000000008e1ec8407b39eaadc20543bcb02209b0a21688906ef648d819e9ae698bd59bd0d5cdacab71d08c816a6761c2fc7d58944a11d0885d41e7951a6090f9d895e5362ecaae2a30fe9d54fef36cf9bc9be46c15d78a59ec67ac6c6e7fe6739cfd49d840116015fca8b00ac2642c29dcf50d7d5ecac0b3ac8c2d09f95ca40144b6f72b" + "512032" "3200000004000000960426150100100120d007008b9dea68b100000a00000000e437de6764e7f967010052d10100000000007baf6ceee64aaa019b238e8fee032b3d0bca49cd034f462ebb600291bc4ee314bec2fa91e036473c8a92d60b4bb96458a6577038dce9a69164d6f16641ff47e3f13018bf35b638a0a59b0f45ab411fbdeabc1a9c028d587d6738195fbcd88974f428a8040b41321632f7696d3759b77685f09876ab29c829c75b2d9f5e522278" + "512033" "3200000004000000960426150100100121d007008b9dea68b100000a00000000e437de6764e7f967010055d1010000000000cbd1011140af42c0de0969ec814a428a14199ba29a74c7a312ae4cd593ae58a9343c60443b0b2e9689ac33ecab5321881b36e15b917bfd54f45d6d9a38fe80a996291d3a4f5dcae264ce983973610c9a01a8b10da9b045eef102324221ee75c779b0383597747254e8c4f3394d4b4d6c2ecfe9be7367829f72cf7a1f7cc62ce0" + "512034" "3200000004000000960426150100100122d007008b9dea68b100000a00000000e437de6764e7f967010058d1010000000000765ceb5a3451d866b4c230dde633e4db1efaec9f4be9c6a4555d0249131b6786874cce41913b69fd7ad4ffd70c07ce9c3d571c731fecb3e746914a28d27cca9a7cb35bb485ec00919490f175e8cefef245d31dd958ed3634b9349e46bb7b2e961d4004363c0e3ac726ab97afad48d10dadf8e4d66580e1fd9e5211897beb0b67" + "512035" "3200000004000000960426150100100123d007008b9dea68b100000a00000000e437de6764e7f96701005bd10100000000001d2280d6098ae727513d12f481b187f9e71f452b953ef0095f29cad4b1ca8ba388d4c375d436a9297b858d268e339a1f044bf3b3fcf87ae15741738a9de6aafe3ae1cbd406627d15c168be727816d2ce7943f23f639c0717eebc817faa157ad98712336929ed78228c21ad38c558d3482dbbe6559aa17edced610d85ce359bdb" + "512030" "320000000400000096042615010010011ed007008b9dea68b100000a00000000e537de6765e7f96701004fe1010000000000d8df8f4eb941349febc59f27d5668391582c4e88c4ccab5be3c45837fb03d519775bff8540c80d723ff7b4463eec030ded99309757a89c5678fbeb862ffbe8819e01333d71761a504238756ab5036c5fda22d7c06fe139eb4a3a88e8deb70ae70b5ad1e7848488581f9e33bc810e90554d12f37a607064dbc94c011435eef630" + "645400" "3200000004000000960426150100100118d909008b9dea68b100000a00000000e537de6765e7f9670100a4c302000000000034eebd39845bb26008e795d10204586a7eb139c7eee1ba76d6c9f9370e913e3c004d8a6b5084c3c93fad1ceebcb5c06419f1e9b10e6f61bd27cbaa7450073df4440882ba6f2f50d4b66bee6ad0735e66c6a3b0f70ca7580e9c4ba1d5bd005c8d8d5536858e468c345ebafa6f7851a499c3373c817683f4df4bb199a92db7ad69" + "645401" "3200000004000000960426150100100119d909008b9dea68b100000a00000000e537de6765e7f9670100a7c30200000000009d93c5a6778cc784d96fa403a0215d4e051da2a26ea7fb15a7577ffb38bd3d1d1e7ed82e67a9b504fa433afc8a013456edfb7de56f6f79b89a8c7a159b01db001439880096f68dfdfcbc490ef3e72cb133d3c8a2631dbcf58bdb751d7beba902e292325688cd8f83c3bc47013635123b81820287a7906daee5af1d740f6b6dad" + "645402" "320000000400000096042615010010011ad909008b9dea68b100000a00000000e537de6765e7f9670100aac3020000000000854ba7f34a1fd4824f0553fb4924b0189b767fd015f569cc4a24a4b49d3d1a07f3e97394be82f6f3f2f6353152230f133932f443cb883ea220f88ff745e45b65d9c2c733d2be4e6f9a4b9dc1bce7e941bd7db7128a2b70d2b453402d509c7cfa37c26a08f717e0e9507499ec44e9633c7128be5e2203854f9c2cfe9c651a4718" + "947510" "3200000004000000960426150100100136750e008b9dea68b100000a00000000e537de6765e7f967010008b4040000000000cc33ac06553afe5a97e395baf44f44ebfa57ea1758ce6cf67a5a81dae7fb246095c47647a4f6dffc2073d6cd153b21d25c61a1d58699475af78ec67e0080a96dc5b3db3db3a6afca518370e129afc2bc5dc6e87d346dfcd6e1f3aa56f2447bb60cd90fd459639c6e43400ff975affe0157c3873038088a190f676e3db397a239" + "1030840" "38000000040000009604261501001001b8ba0f008b9dea68b100000a00000000e537de6765e7f9670100861807000100a8b01500000000007cf08385001645bd46ef46e662b24d5ebec434bd997df34115b68965641df2e8092d74c6c5ffcfaf456aa7b4a01fb6e682316c4e43ca69dcf093eabdfc86ca2eb9700e7a8f148621727de36e9538f4493fb01b5e23d5a343ceb2fd369acaa1c9a114db52dbb9845658f836a23061a2128e984645df8a532a2c31abb54933d384" + "3424520" "3200000004000000960426150100100108413400acc3d6726e0a646400000000ed50d8676d00f4670100787a120000000000a1f5c6d3f990290231b4c0108c7e9889235a1b856c861f99cb3939880fe178da99513957b1dbf76d3d5836366a51d14515ec5605f5f7433fa95da462fceaed257fb402aeb87fb0c69a47658095ae484383c80bcb56ea82f92f3326c5670d707ce7c6c66df66761148662444f47b5af8fb377dcaa414c78ef394ed8b55253a64c" + "2001120" "38000000040000009604261501001001e0881e00acc3d6726e0a646400000000ed50d8676d00f46701005d060b000100d08d2e0000000000a4e8f4e9fb3b68403c87b5decb252e67ebeee36e0ee58bc80647e95ea8270ad973a7f1254c2bc174137e625f85e89966ab66c81fcff22c2dc456a72f441fa749ac7d431d2d2a249a9287cdae86574fd12adb4b46d99fca7d54baa5812758d330370834287c0001b0a8b31216c7416df998bb748ea924470e37fd4323584bf049" + "3050960" "32000000040000009604261501001001d08d2e00839dea68b100000a0000000015e6d8679595f46701005d060b00000000003c3fbe9ab9d08d07246a8fbe8d297d258652080e87407a91b4ce9adf486b4017616aefb6e1f97ecff8fd0031455eafadd6f5db5ede801dcaf393e3c3e9a3db9be38194e74fe59e6230590f5a09707be3941ac2cd28874140251086641a821c0971ae2448e7e904c5a7a021422fc7d18ab674180163bb72fddbcbfa4260662e44" + "374320" "3200000004000000960426150100100130b60500839dea68b100000a00000000b04fd86730fff3670100a00d0100000000004eb380e4795c01e8f291d8c9b5f001df2eae0e972be84b0feabc9113ebd1d9e662d54d1446705744a61ccd29fd3c5e35b292694fe250e1e4f8958da0d43a929bc2aa69f905094802da8083f285522b4d8ff341de397f761c2c412c83f9fca6ac085a8980c47038c24499e86320276e2c2ef90bd091581ba4baba566e75470eea" + "550" "38000000040000009604261501001001260200008b9dea68b100000a000000000b3dde678becf9670100b109000001008c660300000000000f58b926ecc3675086fd6d78ca55dc8d093590ee3e2742c5209d811fc40d6323a8120dfbb7d56459a2c663e991d07a2ca21d7194e2ca1ecf7434b05b90bcce6b91fc7a6bb4055cfa3d89dc98ddb81fcfbe6640751c27940620d7155bae569a33b91bc065ddc7bba4d026ac7ec75fb15b4a6579fbaf54e0ef524aaef1ae66db01" + } + "AppInfoChangeNumber" "28095079" + "Software" + { + "Valve" + { + "Steam" + { + "apps" + { + "7" + { + "cloud" + { + "last_sync_state" "synchronized" + } + } + "760" + { + "cloud" + { + "quota_bytes" "20000000000" + "quota_files" "50000" + "used_bytes" "154390837" + "used_files" "300" + } + } + "10" + { + "LastPlayed" "1740323599" + "Playtime" "179" + "cloud" + { + "last_sync_state" "changeslocally" + } + "autocloud" + { + "lastlaunch" "1732813089" + "lastexit" "1732813273" + } + "BadgeData" "020000000811" + } + "300" + { + "LastPlayed" "1629532079" + "Playtime" "4" + } + "400" + { + "LastPlayed" "1637472594" + "Playtime" "19" + } + "480" + { + "LastPlayed" "1707580102" + "Playtime" "677" + "PlaytimeDisconnected" "1" + } + "550" + { + "LastPlayed" "1742625090" + "Playtime" "895" + "cloud" + { + "last_sync_state" "synchronized" + } + "autocloud" + { + "lastlaunch" "1742619542" + "lastexit" "1742625090" + } + "BadgeData" "0a00000008111206080110011800" + "Playtime2wks" "92" + } + "570" + { + "LastPlayed" "1740909415" + "Playtime" "81328" + "cloud" + { + "last_sync_state" "synchronized" + } + "LaunchOptions" "-perfectworld -novid" + "autocloud" + { + "lastlaunch" "1740908188" + "lastexit" "1740909415" + } + "BadgeData" "020000000811" + "DisableUpdatesUntil" "0" + "PlaytimeDisconnected" "2" + } + "620" + { + "LastPlayed" "1644903558" + "Playtime" "1254" + } + "730" + { + "LastPlayed" "1742719150" + "Playtime2wks" "635" + "Playtime" "300678" + "cloud" + { + "last_sync_state" "synchronized" + } + "autocloud" + { + "lastlaunch" "1742716630" + "lastexit" "1742719150" + } + "BadgeData" "0a00000008111206080310011800" + "DisableUpdatesUntil" "0" + "LaunchOptions" "+exec a.cfg -novid -nojoy -high" + } + "745" + { + "LastPlayed" "1592538933" + "Playtime" "1004" + } + "3590" + { + "LastPlayed" "1711714491" + "Playtime" "3664" + } + "8930" + { + "LastPlayed" "1596036211" + "Playtime" "1023" + } + "10150" + { + "LastPlayed" "1660281177" + "Playtime" "3" + } + "17390" + { + "LastPlayed" "1702407884" + "Playtime" "7" + } + "24720" + { + "LastPlayed" "1702407297" + "Playtime" "2" + } + "108710" + { + "LastPlayed" "1589635867" + "Playtime" "104" + } + "203160" + { + "LastPlayed" "1656694283" + "Playtime" "3" + } + "222880" + { + "LastPlayed" "1516349643" + "Playtime" "236" + } + "223850" + { + "LastPlayed" "1732682127" + "Playtime" "218" + "223850_eula_0" "1" + "BadgeData" "020000000811" + } + "236600" + { + "LastPlayed" "1708352625" + "Playtime" "1" + } + "238460" + { + "LastPlayed" "1691473411" + "Playtime" "1071" + } + "268910" + { + "LastPlayed" "1673858361" + "Playtime" "352" + } + "271590" + { + "LastPlayed" "1654282178" + "Playtime" "1385" + } + "289070" + { + "LastPlayed" "1737658224" + "Playtime" "2307" + "289070_eula_0" "0" + "BadgeData" "020000000811" + "PlaytimeDisconnected" "11" + } + "304930" + { + "LastPlayed" "1508124883" + "Playtime" "12" + } + "307350" + { + "LastPlayed" "1487576853" + "Playtime" "2" + } + "322330" + { + "LastPlayed" "1654275304" + "Playtime" "905" + } + "327640" + { + "LastPlayed" "1561560027" + "Playtime" "132" + } + "359550" + { + "LastPlayed" "1656825171" + "Playtime" "128" + } + "368360" + { + "LastPlayed" "1511530329" + "Playtime" "5" + } + "374320" + { + "LastPlayed" "1742234440" + "Playtime" "536" + "cloud" + { + "last_sync_state" "synchronized" + } + "BadgeData" "020000000811" + "Playtime2wks" "74" + } + "381210" + { + "LastPlayed" "1498392186" + "Playtime" "54" + } + "386940" + { + "LastPlayed" "1717263087" + "Playtime" "99" + "cloud" + { + "last_sync_state" "synchronized" + } + } + "393420" + { + "LastPlayed" "1507038500" + "Playtime" "79" + } + "413150" + { + "LastPlayed" "1670083073" + "Playtime" "100" + } + "431960" + { + "LastPlayed" "1648567374" + "Playtime" "104" + } + "440900" + { + "LastPlayed" "1487311317" + "Playtime" "1127" + } + "443810" + { + "LastPlayed" "1519297497" + "Playtime" "40" + } + "444790" + { + "LastPlayed" "1487577380" + "Playtime" "3" + } + "458710" + { + "LastPlayed" "1730807955" + "Playtime" "128" + } + "477160" + { + "LastPlayed" "1589636548" + "Playtime" "175" + } + "558100" + { + "LastPlayed" "1484557584" + "Playtime" "13" + } + "560040" + { + "LastPlayed" "1497360916" + "Playtime" "8" + } + "570940" + { + "LastPlayed" "1720027320" + "Playtime" "25" + "cloud" + { + "last_sync_state" "synchronized" + } + } + "572890" + { + "LastPlayed" "1693459986" + "Playtime" "4" + } + "578080" + { + "LastPlayed" "1654239505" + "Playtime" "16345" + } + "582500" + { + "LastPlayed" "1658680026" + "Playtime" "28" + } + "607380" + { + "LastPlayed" "1594180797" + "Playtime" "1" + } + "620050" + { + "LastPlayed" "1594050358" + "Playtime" "11" + } + "621060" + { + "LastPlayed" "1659268701" + "Playtime" "605" + } + "632810" + { + "LastPlayed" "1535121062" + "Playtime" "40" + } + "648800" + { + "LastPlayed" "1654434400" + "Playtime" "297" + } + "657200" + { + "LastPlayed" "1519021939" + "Playtime" "31" + } + "684410" + { + "LastPlayed" "1657117122" + "Playtime" "1" + } + "728880" + { + "LastPlayed" "1691472698" + "Playtime" "433" + } + "739630" + { + "LastPlayed" "1658677989" + "Playtime" "67" + } + "790740" + { + "LastPlayed" "1658249265" + "Playtime" "219" + } + "812140" + { + "LastPlayed" "1656769495" + "Playtime" "1041" + } + "813780" + { + "LastPlayed" "1656750263" + "Playtime" "3740" + } + "814380" + { + "LastPlayed" "1690132851" + "Playtime" "10" + } + "880940" + { + "LastPlayed" "1663087195" + "Playtime" "131" + } + "911400" + { + "LastPlayed" "1580115835" + "Playtime" "37" + } + "966610" + { + "LastPlayed" "1654417207" + "Playtime" "136" + } + "998940" + { + "LastPlayed" "1664041783" + "Playtime" "1189" + } + "1021770" + { + "LastPlayed" "1684666563" + "Playtime" "197" + } + "1030830" + { + "LastPlayed" "1637250208" + "Playtime" "526" + } + "1030840" + { + "LastPlayed" "1740155317" + "Playtime" "1160" + "1030840_eula_0" "0" + "cloud" + { + "last_sync_state" "synchronized" + } + "autocloud" + { + "lastlaunch" "1740154498" + "lastexit" "1740155317" + } + "BadgeData" "020000000811" + "LaunchOptions" "" + } + "1064730" + { + "LastPlayed" "1577275397" + "Playtime" "2" + } + "1085660" + { + "LastPlayed" "1654251768" + "Playtime" "29" + } + "1091500" + { + "LastPlayed" "1690001366" + "Playtime" "1123" + } + "1097150" + { + "LastPlayed" "1726933618" + "Playtime" "1978" + "PlaytimeDisconnected" "3" + } + "1174180" + { + "LastPlayed" "1656679068" + "Playtime" "117" + } + "1207590" + { + "LastPlayed" "1596087691" + "Playtime" "4" + } + "1225570" + { + "LastPlayed" "1726550939" + "Playtime" "184" + } + "1238810" + { + "LastPlayed" "1654199888" + "Playtime" "638" + } + "1238840" + { + "LastPlayed" "1654236655" + "Playtime" "287" + } + "1245620" + { + "LastPlayed" "1721562890" + "Playtime" "16040" + "PlaytimeDisconnected" "1" + "cloud" + { + "last_sync_state" "synchronized" + } + } + "1262240" + { + "LastPlayed" "1653939487" + "Playtime" "8" + } + "1292940" + { + "LastPlayed" "1673860140" + "Playtime" "29" + } + "1329410" + { + "LastPlayed" "1696256527" + "Playtime" "394" + } + "1332010" + { + "LastPlayed" "1737015278" + "Playtime" "111" + } + "1382070" + { + "LastPlayed" "1695215142" + "Playtime" "82" + } + "1385510" + { + "LastPlayed" "1628853071" + "Playtime" "10" + } + "1422450" + { + "LastPlayed" "1723738511" + "Playtime" "159" + "cloud" + { + "last_sync_state" "synchronized" + } + } + "1426210" + { + "LastPlayed" "1726918937" + "Playtime" "3352" + "PlaytimeDisconnected" "56" + } + "1435790" + { + "LastPlayed" "1673864114" + "Playtime" "603" + } + "1437880" + { + "LastPlayed" "1610951103" + "Playtime" "387" + } + "1449850" + { + "LastPlayed" "1739126519" + "Playtime" "8488" + "1449850_eula_0" "8" + "BadgeData" "020000000811" + } + "1504980" + { + "LastPlayed" "1674825921" + "Playtime" "1211" + } + "1509960" + { + "LastPlayed" "1662311690" + "Playtime" "185" + } + "1515210" + { + "LastPlayed" "1667752472" + "Playtime" "175" + } + "1568590" + { + "LastPlayed" "1675786112" + "Playtime" "1157" + } + "1623730" + { + "LastPlayed" "1737021972" + "Playtime" "589" + } + "1638720" + { + "LastPlayed" "1637251412" + "Playtime" "1" + } + "1701500" + { + "LastPlayed" "1653233427" + "Playtime" "4" + } + "1787090" + { + "LastPlayed" "1709020785" + "Playtime" "81" + "PlaytimeDisconnected" "1" + } + "1792820" + { + "LastPlayed" "1647330086" + "Playtime" "1" + } + "1806040" + { + "LastPlayed" "1653233481" + "Playtime" "1" + } + "1905120" + { + "LastPlayed" "1664088228" + "Playtime" "59" + } + "1905180" + { + "LastPlayed" "1729404134" + "Playtime" "15095" + "BadgeData" "020000000811" + "PlaytimeDisconnected" "50" + } + "1938090" + { + "LastPlayed" "1670131996" + "Playtime" "64" + } + "2011600" + { + "LastPlayed" "1662314819" + "Playtime" "97" + } + "2050650" + { + "LastPlayed" "1690000252" + "Playtime" "386" + } + "2073850" + { + "LastPlayed" "1702053869" + "Playtime" "59" + } + "2075730" + { + "LastPlayed" "1664206221" + "Playtime" "11" + } + "2285240" + { + "LastPlayed" "1677259183" + "Playtime" "78" + } + "2324650" + { + "LastPlayed" "1691238235" + "Playtime" "2" + } + "2358720" + { + "LastPlayed" "1739880219" + "Playtime" "1655" + "cloud" + { + "last_sync_state" "synchronized" + } + "2358720_eula_0" "6" + "autocloud" + { + "lastexit" "1739939077" + "lastlaunch" "1739880591" + } + "BadgeData" "020000000811" + } + "3036080" + { + "LastPlayed" "1730812774" + "Playtime" "135" + } + "3132990" + { + "LastPlayed" "1723529865" + "Playtime" "22" + } + "2371090" + { + "cloud" + { + "last_sync_state" "synchronized" + } + } + "583950" + { + "cloud" + { + "last_sync_state" "synchronized" + } + } + "3097560" + { + "3097560_eula_0" "1" + "LastPlayed" "1739110284" + "cloud" + { + "last_sync_state" "synchronized" + } + "BadgeData" "020000000811" + "Playtime" "85" + } + "1144200" + { + "LastPlayed" "1736090606" + "cloud" + { + "last_sync_state" "synchronized" + } + "autocloud" + { + "lastlaunch" "1736089063" + "lastexit" "1736090604" + } + "BadgeData" "020000000811" + "Playtime" "341" + } + "993090" + { + "LastPlayed" "1740207594" + "BadgeData" "020000000811" + "Playtime" "1" + } + "3424520" + { + "LastPlayed" "1740411890" + "BadgeData" "020000000811" + "Playtime" "28" + } + "2001120" + { + "2001120_eula_1" "3" + "LastPlayed" "1742028636" + "cloud" + { + "last_sync_state" "synchronized" + } + "autocloud" + { + "lastlaunch" "1742026117" + "lastexit" "1742028637" + } + "BadgeData" "020000000811" + "Playtime2wks" "488" + "Playtime" "817" + } + } + "LastPlayedTimesSyncTime" "1742662455" + "PlayerLevel" "17" + "SmallMode" "0" + "ShaderCacheManager" + { + "LastSeenBackendHitCacheGeneration" "4" + } + } + } + } + "CloudManager" + { + "HintAppsToPreload" "730" + } + "FamilyGroup" + { + "groupid" "7373183" + "name" "紫菜の家" + "country" "" + "role" "1" + "version" "1" + "members" + { + "0" + { + "accountid" "354813078" + "role" "1" + } + "1" + { + "accountid" "1060387017" + "role" "1" + } + } + } + "WebStorage" + { + "SteamVoiceSettings_354813078" "{\"inputGain\":1,\"outputGain\":1,\"noiseGateLevel\":0,\"noiseCancellation\":true,\"echoCancellation\":true,\"autoGainControl\":true,\"selectedMic\":\"68c6b03d8d232447fbfd0bded4e869260f47ec74665dff298c66a559f9323592\",\"selectedOutput\":\"default\",\"pttSoundsEnabled\":true,\"hasResetOpenMicHotKey\":true}" + "LocalizedTagNames_schinese" "{\"version_hash\":\"1981078833\",\"tags\":[{\"tagid\":9,\"name\":\"策略\"},{\"tagid\":19,\"name\":\"动作\"},{\"tagid\":21,\"name\":\"冒险\"},{\"tagid\":84,\"name\":\"设计与插画\"},{\"tagid\":87,\"name\":\"实用工具\"},{\"tagid\":113,\"name\":\"免费开玩\"},{\"tagid\":122,\"name\":\"角色扮演\"},{\"tagid\":128,\"name\":\"大型多人在线\"},{\"tagid\":492,\"name\":\"独立\"},{\"tagid\":493,\"name\":\"抢先体验\"},{\"tagid\":597,\"name\":\"休闲\"},{\"tagid\":599,\"name\":\"模拟\"},{\"tagid\":699,\"name\":\"竞速\"},{\"tagid\":701,\"name\":\"体育\"},{\"tagid\":784,\"name\":\"视频制作\"},{\"tagid\":809,\"name\":\"照片编辑\"},{\"tagid\":872,\"name\":\"动画制作和建模\"},{\"tagid\":1027,\"name\":\"音频制作\"},{\"tagid\":1036,\"name\":\"教育\"},{\"tagid\":1038,\"name\":\"网络出版\"},{\"tagid\":1445,\"name\":\"软件培训\"},{\"tagid\":1616,\"name\":\"火车\"},{\"tagid\":1621,\"name\":\"音乐\"},{\"tagid\":1625,\"name\":\"平台游戏\"},{\"tagid\":1628,\"name\":\"类银河战士恶魔城\"},{\"tagid\":1638,\"name\":\"狗\"},{\"tagid\":1643,\"name\":\"建造\"},{\"tagid\":1644,\"name\":\"驾驶\"},{\"tagid\":1645,\"name\":\"塔防\"},{\"tagid\":1646,\"name\":\"砍杀\"},{\"tagid\":1647,\"name\":\"西部\"},{\"tagid\":1649,\"name\":\"游戏制作\"},{\"tagid\":1651,\"name\":\"讽刺\"},{\"tagid\":1654,\"name\":\"放松\"},{\"tagid\":1659,\"name\":\"僵尸\"},{\"tagid\":1662,\"name\":\"生存\"},{\"tagid\":1663,\"name\":\"第一人称射击\"},{\"tagid\":1664,\"name\":\"解谜\"},{\"tagid\":1665,\"name\":\"三消\"},{\"tagid\":1666,\"name\":\"卡牌游戏\"},{\"tagid\":1667,\"name\":\"恐怖\"},{\"tagid\":1669,\"name\":\"可模组化\"},{\"tagid\":1670,\"name\":\"4X\"},{\"tagid\":1671,\"name\":\"超级英雄\"},{\"tagid\":1673,\"name\":\"外星人\"},{\"tagid\":1674,\"name\":\"打字\"},{\"tagid\":1676,\"name\":\"即时战略\"},{\"tagid\":1677,\"name\":\"回合制\"},{\"tagid\":1678,\"name\":\"战争\"},{\"tagid\":1680,\"name\":\"劫掠\"},{\"tagid\":1681,\"name\":\"海盗\"},{\"tagid\":1684,\"name\":\"奇幻\"},{\"tagid\":1685,\"name\":\"合作\"},{\"tagid\":1687,\"name\":\"潜行\"},{\"tagid\":1688,\"name\":\"忍者\"},{\"tagid\":1693,\"name\":\"经典\"},{\"tagid\":1695,\"name\":\"开放世界\"},{\"tagid\":1697,\"name\":\"第三人称\"},{\"tagid\":1698,\"name\":\"指向点击\"},{\"tagid\":1702,\"name\":\"制作\"},{\"tagid\":1708,\"name\":\"战术\"},{\"tagid\":1710,\"name\":\"超现实\"},{\"tagid\":1714,\"name\":\"迷幻\"},{\"tagid\":1716,\"name\":\"类 Rogue\"},{\"tagid\":1717,\"name\":\"六角格棋盘\"},{\"tagid\":1718,\"name\":\"多人在线战术竞技\"},{\"tagid\":1719,\"name\":\"喜剧\"},{\"tagid\":1720,\"name\":\"迷宫探索\"},{\"tagid\":1721,\"name\":\"心理恐怖\"},{\"tagid\":1723,\"name\":\"动作即时战略\"},{\"tagid\":1730,\"name\":\"推箱子\"},{\"tagid\":1732,\"name\":\"体素\"},{\"tagid\":1733,\"name\":\"低容错\"},{\"tagid\":1734,\"name\":\"快节奏\"},{\"tagid\":1736,\"name\":\"乐高\"},{\"tagid\":1738,\"name\":\"隐藏物体\"},{\"tagid\":1741,\"name\":\"回合战略\"},{\"tagid\":1742,\"name\":\"剧情丰富\"},{\"tagid\":1743,\"name\":\"格斗\"},{\"tagid\":1746,\"name\":\"篮球\"},{\"tagid\":1751,\"name\":\"漫画\"},{\"tagid\":1752,\"name\":\"节奏\"},{\"tagid\":1753,\"name\":\"滑板\"},{\"tagid\":1754,\"name\":\"大型多人在线角色扮演\"},{\"tagid\":1755,\"name\":\"太空\"},{\"tagid\":1756,\"name\":\"好评原声音轨\"},{\"tagid\":1759,\"name\":\"永久死亡\"},{\"tagid\":1770,\"name\":\"棋盘游戏\"},{\"tagid\":1773,\"name\":\"街机\"},{\"tagid\":1774,\"name\":\"射击\"},{\"tagid\":1775,\"name\":\"玩家对战\"},{\"tagid\":1777,\"name\":\"蒸汽朋克\"},{\"tagid\":3796,\"name\":\"小说改编\"},{\"tagid\":3798,\"name\":\"横向滚屏\"},{\"tagid\":3799,\"name\":\"视觉小说\"},{\"tagid\":3810,\"name\":\"沙盒\"},{\"tagid\":3813,\"name\":\"即时战术\"},{\"tagid\":3814,\"name\":\"第三人称射击\"},{\"tagid\":3834,\"name\":\"探索\"},{\"tagid\":3835,\"name\":\"后末日\"},{\"tagid\":3839,\"name\":\"第一人称\"},{\"tagid\":3841,\"name\":\"本地合作\"},{\"tagid\":3843,\"name\":\"在线合作\"},{\"tagid\":3854,\"name\":\"故事架构丰富 \"},{\"tagid\":3859,\"name\":\"多人\"},{\"tagid\":3871,\"name\":\"2D\"},{\"tagid\":3877,\"name\":\"精确平台\"},{\"tagid\":3878,\"name\":\"竞技\"},{\"tagid\":3916,\"name\":\"老式\"},{\"tagid\":3920,\"name\":\"烹饪\"},{\"tagid\":3934,\"name\":\"沉浸式\"},{\"tagid\":3942,\"name\":\"科幻\"},{\"tagid\":3952,\"name\":\"哥特\"},{\"tagid\":3954,\"name\":\"Rail Shooter\"},{\"tagid\":3955,\"name\":\"角色动作\"},{\"tagid\":3959,\"name\":\"轻度 Rogue\"},{\"tagid\":3964,\"name\":\"像素图形\"},{\"tagid\":3965,\"name\":\"史诗级\"},{\"tagid\":3968,\"name\":\"物理\"},{\"tagid\":3978,\"name\":\"生存恐怖\"},{\"tagid\":3987,\"name\":\"历史\"},{\"tagid\":3993,\"name\":\"战斗\"},{\"tagid\":4004,\"name\":\"复古\"},{\"tagid\":4018,\"name\":\"吸血鬼\"},{\"tagid\":4026,\"name\":\"困难\"},{\"tagid\":4036,\"name\":\"跑酷\"},{\"tagid\":4046,\"name\":\"龙\"},{\"tagid\":4057,\"name\":\"魔法\"},{\"tagid\":4064,\"name\":\"惊悚\"},{\"tagid\":4085,\"name\":\"动漫\"},{\"tagid\":4094,\"name\":\"极简主义\"},{\"tagid\":4102,\"name\":\"战斗竞速\"},{\"tagid\":4106,\"name\":\"动作冒险\"},{\"tagid\":4115,\"name\":\"赛博朋克\"},{\"tagid\":4136,\"name\":\"欢乐\"},{\"tagid\":4137,\"name\":\"超人类主义\"},{\"tagid\":4145,\"name\":\"电影式\"},{\"tagid\":4150,\"name\":\"二战\"},{\"tagid\":4155,\"name\":\"职业导向\"},{\"tagid\":4158,\"name\":\"清版动作\"},{\"tagid\":4161,\"name\":\"即时\"},{\"tagid\":4162,\"name\":\"Kids\"},{\"tagid\":4166,\"name\":\"氛围\"},{\"tagid\":4168,\"name\":\"军事\"},{\"tagid\":4172,\"name\":\"中世纪\"},{\"tagid\":4175,\"name\":\"拟真\"},{\"tagid\":4182,\"name\":\"单人\"},{\"tagid\":4184,\"name\":\"棋类\"},{\"tagid\":4190,\"name\":\"欲罢不能\"},{\"tagid\":4191,\"name\":\"3D\"},{\"tagid\":4195,\"name\":\"卡通风格\"},{\"tagid\":4202,\"name\":\"贸易\"},{\"tagid\":4231,\"name\":\"动作角色扮演\"},{\"tagid\":4234,\"name\":\"短篇\"},{\"tagid\":4236,\"name\":\"刷宝\"},{\"tagid\":4242,\"name\":\"剧集\"},{\"tagid\":4252,\"name\":\"风格化\"},{\"tagid\":4255,\"name\":\"清版射击\"},{\"tagid\":4291,\"name\":\"太空飞船\"},{\"tagid\":4295,\"name\":\"未来\"},{\"tagid\":4305,\"name\":\"彩色\"},{\"tagid\":4325,\"name\":\"回合制战斗\"},{\"tagid\":4328,\"name\":\"城市营造\"},{\"tagid\":4342,\"name\":\"黑暗\"},{\"tagid\":4345,\"name\":\"血腥\"},{\"tagid\":4364,\"name\":\"大战略\"},{\"tagid\":4376,\"name\":\"暗杀\"},{\"tagid\":4400,\"name\":\"抽象\"},{\"tagid\":4434,\"name\":\"日系角色扮演\"},{\"tagid\":4474,\"name\":\"电脑角色扮演\"},{\"tagid\":4486,\"name\":\"自选历险体验\"},{\"tagid\":4508,\"name\":\"合作战役\"},{\"tagid\":4520,\"name\":\"农场管理\"},{\"tagid\":4559,\"name\":\"快速反应事件\"},{\"tagid\":4562,\"name\":\"卡通\"},{\"tagid\":4598,\"name\":\"架空历史\"},{\"tagid\":4604,\"name\":\"黑暗奇幻\"},{\"tagid\":4608,\"name\":\"剑术\"},{\"tagid\":4637,\"name\":\"俯视射击\"},{\"tagid\":4667,\"name\":\"暴力\"},{\"tagid\":4684,\"name\":\"战争游戏\"},{\"tagid\":4695,\"name\":\"经济\"},{\"tagid\":4700,\"name\":\"电影\"},{\"tagid\":4711,\"name\":\"重玩价值\"},{\"tagid\":4726,\"name\":\"可爱\"},{\"tagid\":4736,\"name\":\"2D 格斗\"},{\"tagid\":4747,\"name\":\"角色自定义\"},{\"tagid\":4754,\"name\":\"政治\"},{\"tagid\":4758,\"name\":\"双摇杆射击\"},{\"tagid\":4777,\"name\":\"华丽格斗\"},{\"tagid\":4791,\"name\":\"俯视\"},{\"tagid\":4821,\"name\":\"机甲\"},{\"tagid\":4835,\"name\":\"六自由度\"},{\"tagid\":4840,\"name\":\"4 人本地\"},{\"tagid\":4845,\"name\":\"资本主义\"},{\"tagid\":4853,\"name\":\"政治性\"},{\"tagid\":4878,\"name\":\"谐仿\"},{\"tagid\":4885,\"name\":\"弹幕射击\"},{\"tagid\":4947,\"name\":\"爱情\"},{\"tagid\":4975,\"name\":\"2.5D\"},{\"tagid\":4994,\"name\":\"海战\"},{\"tagid\":5030,\"name\":\"反乌托邦\"},{\"tagid\":5055,\"name\":\"电竞\"},{\"tagid\":5094,\"name\":\"记叙\"},{\"tagid\":5125,\"name\":\"程序生成\"},{\"tagid\":5153,\"name\":\"Kickstarter\"},{\"tagid\":5154,\"name\":\"竞分\"},{\"tagid\":5160,\"name\":\"恐龙\"},{\"tagid\":5179,\"name\":\"冷战\"},{\"tagid\":5186,\"name\":\"心理\"},{\"tagid\":5228,\"name\":\"鲜血\"},{\"tagid\":5230,\"name\":\"续作\"},{\"tagid\":5300,\"name\":\"上帝模拟\"},{\"tagid\":5310,\"name\":\"游戏工坊\"},{\"tagid\":5348,\"name\":\"模组\"},{\"tagid\":5350,\"name\":\"阖家\"},{\"tagid\":5363,\"name\":\"破坏\"},{\"tagid\":5372,\"name\":\"阴谋\"},{\"tagid\":5379,\"name\":\"2D 平台\"},{\"tagid\":5382,\"name\":\"一战\"},{\"tagid\":5390,\"name\":\"时间竞速\"},{\"tagid\":5395,\"name\":\"3D 平台\"},{\"tagid\":5407,\"name\":\"标杆测试\"},{\"tagid\":5411,\"name\":\"唯美\"},{\"tagid\":5432,\"name\":\"编程\"},{\"tagid\":5502,\"name\":\"黑客\"},{\"tagid\":5537,\"name\":\"平台解谜\"},{\"tagid\":5547,\"name\":\"竞技场射击\"},{\"tagid\":5577,\"name\":\"RPG 制作大师\"},{\"tagid\":5608,\"name\":\"情感\"},{\"tagid\":5611,\"name\":\"成人\"},{\"tagid\":5613,\"name\":\"推理\"},{\"tagid\":5652,\"name\":\"收集马拉松\"},{\"tagid\":5673,\"name\":\"现代\"},{\"tagid\":5708,\"name\":\"重制\"},{\"tagid\":5711,\"name\":\"团队导向\"},{\"tagid\":5716,\"name\":\"悬疑\"},{\"tagid\":5727,\"name\":\"棒球\"},{\"tagid\":5752,\"name\":\"机器人\"},{\"tagid\":5765,\"name\":\"枪械改装\"},{\"tagid\":5794,\"name\":\"科学\"},{\"tagid\":5796,\"name\":\"子弹时间\"},{\"tagid\":5851,\"name\":\"等角视角\"},{\"tagid\":5900,\"name\":\"步行模拟\"},{\"tagid\":5914,\"name\":\"网球\"},{\"tagid\":5923,\"name\":\"黑色幽默\"},{\"tagid\":5941,\"name\":\"重启\"},{\"tagid\":5981,\"name\":\"采矿\"},{\"tagid\":5984,\"name\":\"剧情\"},{\"tagid\":6041,\"name\":\"马匹\"},{\"tagid\":6052,\"name\":\"黑色\"},{\"tagid\":6129,\"name\":\"逻辑\"},{\"tagid\":6214,\"name\":\"鸟\"},{\"tagid\":6276,\"name\":\"库存管理\"},{\"tagid\":6310,\"name\":\"外交\"},{\"tagid\":6378,\"name\":\"犯罪\"},{\"tagid\":6426,\"name\":\"选择取向\"},{\"tagid\":6506,\"name\":\"3D 格斗\"},{\"tagid\":6621,\"name\":\"弹球\"},{\"tagid\":6625,\"name\":\"时空操控\"},{\"tagid\":6650,\"name\":\"裸露\"},{\"tagid\":6691,\"name\":\"90 年代\"},{\"tagid\":6702,\"name\":\"火星\"},{\"tagid\":6730,\"name\":\"玩家对战环境\"},{\"tagid\":6815,\"name\":\"手绘\"},{\"tagid\":6869,\"name\":\"非线性\"},{\"tagid\":6910,\"name\":\"海军\"},{\"tagid\":6915,\"name\":\"武术\"},{\"tagid\":6948,\"name\":\"罗马\"},{\"tagid\":6971,\"name\":\"多结局\"},{\"tagid\":7038,\"name\":\"高尔夫\"},{\"tagid\":7107,\"name\":\"即时含暂停\"},{\"tagid\":7108,\"name\":\"社交聚会\"},{\"tagid\":7113,\"name\":\"众筹\"},{\"tagid\":7178,\"name\":\"社交聚会游戏\"},{\"tagid\":7208,\"name\":\"女性主角\"},{\"tagid\":7250,\"name\":\"线性\"},{\"tagid\":7309,\"name\":\"滑雪\"},{\"tagid\":7328,\"name\":\"保龄球\"},{\"tagid\":7332,\"name\":\"基地建设\"},{\"tagid\":7368,\"name\":\"本地多人\"},{\"tagid\":7423,\"name\":\"狙击手\"},{\"tagid\":7432,\"name\":\"洛夫克拉夫特式\"},{\"tagid\":7478,\"name\":\"光明会\"},{\"tagid\":7481,\"name\":\"控制器\"},{\"tagid\":7556,\"name\":\"骰子\"},{\"tagid\":7569,\"name\":\"网格导向动作\"},{\"tagid\":7622,\"name\":\"越野\"},{\"tagid\":7702,\"name\":\"叙事\"},{\"tagid\":7743,\"name\":\"80 年代\"},{\"tagid\":7782,\"name\":\"非主流经典\"},{\"tagid\":7918,\"name\":\"矮人\"},{\"tagid\":7926,\"name\":\"人工智能\"},{\"tagid\":7948,\"name\":\"原声音轨\"},{\"tagid\":8013,\"name\":\"软件\"},{\"tagid\":8075,\"name\":\"TrackIR\"},{\"tagid\":8093,\"name\":\"小游戏\"},{\"tagid\":8122,\"name\":\"关卡编辑\"},{\"tagid\":8253,\"name\":\"基于音乐的程序生成\"},{\"tagid\":8369,\"name\":\"调查\"},{\"tagid\":8461,\"name\":\"精心编写\"},{\"tagid\":8666,\"name\":\"奔跑\"},{\"tagid\":8945,\"name\":\"资源管理\"},{\"tagid\":9130,\"name\":\"动漫色情\"},{\"tagid\":9157,\"name\":\"水底\"},{\"tagid\":9204,\"name\":\"沉浸式模拟\"},{\"tagid\":9271,\"name\":\"集换式卡牌游戏\"},{\"tagid\":9541,\"name\":\"恶魔\"},{\"tagid\":9551,\"name\":\"恋爱模拟\"},{\"tagid\":9564,\"name\":\"狩猎\"},{\"tagid\":9592,\"name\":\"动态旁白\"},{\"tagid\":9803,\"name\":\"雪\"},{\"tagid\":9994,\"name\":\"体验\"},{\"tagid\":10235,\"name\":\"生活模拟\"},{\"tagid\":10383,\"name\":\"交通运输\"},{\"tagid\":10397,\"name\":\"网络梗\"},{\"tagid\":10437,\"name\":\"益智问答\"},{\"tagid\":10679,\"name\":\"时空旅行\"},{\"tagid\":10695,\"name\":\"团队角色扮演\"},{\"tagid\":10808,\"name\":\"灵异\"},{\"tagid\":10816,\"name\":\"分屏\"},{\"tagid\":11014,\"name\":\"互动小说\"},{\"tagid\":11095,\"name\":\"Boss Rush\"},{\"tagid\":11104,\"name\":\"车辆作战\"},{\"tagid\":11123,\"name\":\"仅鼠标\"},{\"tagid\":11333,\"name\":\"恶人主角\"},{\"tagid\":11634,\"name\":\"维京人\"},{\"tagid\":12057,\"name\":\"教程\"},{\"tagid\":12095,\"name\":\"色情内容\"},{\"tagid\":12190,\"name\":\"拳击\"},{\"tagid\":12286,\"name\":\"战锤 40K\"},{\"tagid\":12472,\"name\":\"管理\"},{\"tagid\":13070,\"name\":\"纸牌\"},{\"tagid\":13190,\"name\":\"美国\"},{\"tagid\":13276,\"name\":\"坦克\"},{\"tagid\":13382,\"name\":\"射箭\"},{\"tagid\":13577,\"name\":\"航海\"},{\"tagid\":13782,\"name\":\"试验性\"},{\"tagid\":13906,\"name\":\"游戏开发\"},{\"tagid\":14139,\"name\":\"回合制战术\"},{\"tagid\":14153,\"name\":\"龙与地下城\"},{\"tagid\":14720,\"name\":\"怀旧\"},{\"tagid\":14906,\"name\":\"蓄意操控困难\"},{\"tagid\":15045,\"name\":\"飞行\"},{\"tagid\":15172,\"name\":\"对话\"},{\"tagid\":15277,\"name\":\"哲理\"},{\"tagid\":15339,\"name\":\"纪录片\"},{\"tagid\":15564,\"name\":\"钓鱼\"},{\"tagid\":15868,\"name\":\"摩托车越野\"},{\"tagid\":15954,\"name\":\"无声主角\"},{\"tagid\":16094,\"name\":\"神话\"},{\"tagid\":16250,\"name\":\"赌博\"},{\"tagid\":16598,\"name\":\"太空模拟\"},{\"tagid\":16689,\"name\":\"时间管理\"},{\"tagid\":17015,\"name\":\"狼人\"},{\"tagid\":17305,\"name\":\"策略角色扮演\"},{\"tagid\":17337,\"name\":\"旅鼠\"},{\"tagid\":17389,\"name\":\"桌上游戏\"},{\"tagid\":17770,\"name\":\"异步多人\"},{\"tagid\":17894,\"name\":\"猫\"},{\"tagid\":17927,\"name\":\"台球\"},{\"tagid\":18594,\"name\":\"全动态影像\"},{\"tagid\":19568,\"name\":\"骑车\"},{\"tagid\":19780,\"name\":\"潜水艇\"},{\"tagid\":19995,\"name\":\"黑色喜剧\"},{\"tagid\":21006,\"name\":\"地下\"},{\"tagid\":21725,\"name\":\"战术角色扮演\"},{\"tagid\":21978,\"name\":\"虚拟现实\"},{\"tagid\":22602,\"name\":\"农业\"},{\"tagid\":22955,\"name\":\"迷你高尔夫\"},{\"tagid\":24003,\"name\":\"文字游戏\"},{\"tagid\":24904,\"name\":\"工作场所不宜\"},{\"tagid\":25085,\"name\":\"触控\"},{\"tagid\":26921,\"name\":\"政治模拟\"},{\"tagid\":27758,\"name\":\"声控\"},{\"tagid\":28444,\"name\":\"单板滑雪\"},{\"tagid\":29363,\"name\":\"3D 视觉\"},{\"tagid\":29482,\"name\":\"类魂系列\"},{\"tagid\":29855,\"name\":\"情境\"},{\"tagid\":30358,\"name\":\"自然\"},{\"tagid\":30927,\"name\":\"狐狸\"},{\"tagid\":31275,\"name\":\"基于文字\"},{\"tagid\":31579,\"name\":\"少女游戏\"},{\"tagid\":32322,\"name\":\"牌组构建\"},{\"tagid\":33572,\"name\":\"麻将\"},{\"tagid\":35079,\"name\":\"工作模拟\"},{\"tagid\":37799,\"name\":\"Combat Flight Simulator\"},{\"tagid\":40500,\"name\":\"Sexual Themes\"},{\"tagid\":42089,\"name\":\"突发惊吓\"},{\"tagid\":42329,\"name\":\"代码编写\"},{\"tagid\":42804,\"name\":\"动作类 Rogue\"},{\"tagid\":44868,\"name\":\"LGBTQ+\"},{\"tagid\":47827,\"name\":\"摔角\"},{\"tagid\":49213,\"name\":\"英式橄榄球\"},{\"tagid\":51306,\"name\":\" 外国\"},{\"tagid\":56690,\"name\":\"轨道射击\"},{\"tagid\":61357,\"name\":\"电子音乐\"},{\"tagid\":71389,\"name\":\"拼字\"},{\"tagid\":87918,\"name\":\"农场模拟\"},{\"tagid\":91114,\"name\":\"商店管理\"},{\"tagid\":92092,\"name\":\"喷气机\"},{\"tagid\":96359,\"name\":\"滑行\"},{\"tagid\":97376,\"name\":\"温馨惬意\"},{\"tagid\":102530,\"name\":\"精灵\"},{\"tagid\":117648,\"name\":\"8-bit 音乐\"},{\"tagid\":123332,\"name\":\"自行车\"},{\"tagid\":129761,\"name\":\"ATV\"},{\"tagid\":143739,\"name\":\"电子\"},{\"tagid\":150626,\"name\":\"游戏相关\"},{\"tagid\":158638,\"name\":\"板球\"},{\"tagid\":176733,\"name\":\"消除\"},{\"tagid\":176981,\"name\":\"大逃杀\"},{\"tagid\":180368,\"name\":\"信仰\"},{\"tagid\":189941,\"name\":\"器乐\"},{\"tagid\":198631,\"name\":\"不可思议迷宫\"},{\"tagid\":198913,\"name\":\"摩托车\"},{\"tagid\":220585,\"name\":\"殖民模拟\"},{\"tagid\":233824,\"name\":\"长篇电影\"},{\"tagid\":252854,\"name\":\"自行车越野\"},{\"tagid\":255534,\"name\":\"自动化\"},{\"tagid\":323922,\"name\":\"无双\"},{\"tagid\":324176,\"name\":\"冰球\"},{\"tagid\":337964,\"name\":\"摇滚乐\"},{\"tagid\":348922,\"name\":\"Steam 主机\"},{\"tagid\":353880,\"name\":\"刷宝射击游戏\"},{\"tagid\":363767,\"name\":\"斯诺克\"},{\"tagid\":379975,\"name\":\"点击游戏\"},{\"tagid\":454187,\"name\":\"传统类 Rogue\"},{\"tagid\":552282,\"name\":\"治愈系\"},{\"tagid\":603297,\"name\":\"硬件\"},{\"tagid\":615955,\"name\":\"挂机游戏\"},{\"tagid\":620519,\"name\":\"英雄射击\"},{\"tagid\":745697,\"name\":\"社交推理\"},{\"tagid\":769306,\"name\":\"密室逃脱\"},{\"tagid\":776177,\"name\":\"360 全景视频\"},{\"tagid\":791774,\"name\":\"卡牌战斗\"},{\"tagid\":847164,\"name\":\"排球\"},{\"tagid\":856791,\"name\":\"非对称 VR\"},{\"tagid\":916648,\"name\":\"生物收集\"},{\"tagid\":922563,\"name\":\"Rogue 恶魔城\"},{\"tagid\":1023537,\"name\":\"复古射击\"},{\"tagid\":1084988,\"name\":\"自走棋\"},{\"tagid\":1091588,\"name\":\"牌组构建式类 Rogue\"},{\"tagid\":1100686,\"name\":\"疫病爆发模拟\"},{\"tagid\":1100687,\"name\":\"汽车模拟\"},{\"tagid\":1100688,\"name\":\"医疗模拟\"},{\"tagid\":1100689,\"name\":\"开放世界生存制作\"},{\"tagid\":1199779,\"name\":\"撤离射击\"},{\"tagid\":1220528,\"name\":\"爱好模拟\"},{\"tagid\":1254546,\"name\":\"足球\"},{\"tagid\":1254552,\"name\":\"美式橄榄球\"}]}" + "CachedCommunityPreferences" "{\"bParenthesizeNicknames\":true,\"eTextFilterSetting\":1,\"bTextFilterIgnoreFriends\":true,\"content_descriptor_preferences\":{\"content_descriptors_to_exclude\":[{\"content_descriptorid\":1},{\"content_descriptorid\":3},{\"content_descriptorid\":4}]}}" + "CachedStorePreferences" "{\"content_descriptor_preferences\":{\"content_descriptors_to_exclude\":[{\"content_descriptorid\":1,\"timestamp_added\":1682573746},{\"content_descriptorid\":3,\"timestamp_added\":1682573746},{\"content_descriptorid\":4,\"timestamp_added\":1682573746}]},\"eReviewScorePreference\":0,\"provide_deck_feedback\":0}" + "CachedNotificationPreferences" "[{\"notification_type\":2,\"notification_targets\":11},{\"notification_type\":3,\"notification_targets\":1},{\"notification_type\":4,\"notification_targets\":1},{\"notification_type\":5,\"notification_targets\":11},{\"notification_type\":6,\"notification_targets\":11},{\"notification_type\":8,\"notification_targets\":3},{\"notification_type\":9,\"notification_targets\":11},{\"notification_type\":11,\"notification_targets\":3},{\"notification_type\":12,\"notification_targets\":11},{\"notification_type\":15,\"notification_targets\":11},{\"notification_type\":16,\"notification_targets\":11},{\"notification_type\":17,\"notification_targets\":11},{\"notification_type\":18,\"notification_targets\":11},{\"notification_type\":19,\"notification_targets\":11},{\"notification_type\":20,\"notification_targets\":11},{\"notification_type\":21,\"notification_targets\":11},{\"notification_type\":22,\"notification_targets\":11}]" + "CTextFilterStore_TextFilterPreferences_354813078" "{\"bIgnoreFriends\":true,\"eTextFilterSetting\":1}" + "CTextFilterStore_TextFilterWords_354813078" "KDEpeyJ0ZXh0X2ZpbHRlcl9jdXN0b21fYmFubmVkX3dvcmRzIjpbXSwidGV4dF9maWx0ZXJfY3VzdG9tX2NsZWFuX3dvcmRzIjpbXX0=" + "friendstore_playercache" "[{\"steamid\":\"76561198315078806\",\"persona_name\":\"Rop紫(已黑化)\",\"avatar_hash\":\"a8c470e567f57d5781a00355878dabbdcb254ada\"},{\"steamid\":\"76561199020652745\",\"persona_name\":\"ᴮᵒᵗᶜʰᵉᴿ ᵕ̈\",\"avatar_hash\":\"72ebdd8d276820e05115cd62ccffa22128ed5e9d\",\"nickname\":\"i ni\"}]" + "UIStoreLocalSteamUIState" "{\"nVersion\":1,\"eGameListView\":1,\"collectionFilter\":{\"nFormatVersion\":2,\"strSearchText\":\"\",\"filterGroups\":[{\"rgOptions\":[1,2],\"bAcceptUnion\":true},{\"rgOptions\":[],\"bAcceptUnion\":false},{\"rgOptions\":[],\"bAcceptUnion\":false},{\"rgOptions\":[],\"bAcceptUnion\":false},{\"rgOptions\":[],\"bAcceptUnion\":false},{\"rgOptions\":[],\"bAcceptUnion\":false},{\"rgOptions\":[],\"bAcceptUnion\":false}],\"setSuggestions\":{}},\"collectionFilterGamepad\":{\"nFormatVersion\":2,\"strSearchText\":\"\",\"filterGroups\":[{\"rgOptions\":[1,2,8192],\"bAcceptUnion\":true},{\"rgOptions\":[],\"bAcceptUnion\":false},{\"rgOptions\":[],\"bAcceptUnion\":false},{\"rgOptions\":[],\"bAcceptUnion\":false},{\"rgOptions\":[],\"bAcceptUnion\":false},{\"rgOptions\":[],\"bAcceptUnion\":false},{\"rgOptions\":[],\"bAcceptUnion\":false}],\"setSuggestions\":{}},\"bGroupedByCollection\":true,\"bSortedByRecent\":false,\"mapCollapsedState\":[[\"hidden\",true],[\"from-tag-DEAD GAME\",true],[\"uc-E38zVZprExFk\",true],[\"uc-CjwwL1lHIprj\",true],[\"uncategorized\",true]],\"currentSelection\":{\"strCollectionId\":\"uc-XR4Jj8l*+SQNc\",\"nAppId\":550},\"bGroupBySharedLibraries\":false}" + "keyboard_haptic_preset" "2" + "keyboard_haptic_custom" "{\"eHapticType\":2,\"unIntensity\":4,\"ndBGain\":-5}" + "keyboard_trackpad_typing_scale" "1" + "keyboard_trackpding_typing_trigger_as_click" "true" + "keyboard_layout" "{\"currentLayout\":0,\"selectedLayouts\":[2]}" + "keyboard_initial_location_desktop" "\"center-bottom\"" + "keyboard_initial_location_overlay" "\"center-bottom\"" + "CTextFilterStore_strBannedPattern_354813078" "KDEpXGIo77u/5L2g5LuW54yrfOeJueS5iOeahHxtbGdifGZbY2hqXT8oYXxhdXxhd3xlfG8rfHV8dXkpW2NoXSprKGU/ZHxlP3JzP3xbZWldP24rZz98dCl8bVthb3VdKGQrfHQrfHRofGh0fHopKGF8ZXxlcnxpcnx1cikoY3xmKWM/W2FvdV1jP2tcdyp8bVtvdV10aChhfGVyKShmfHBoKVt2dWVdK2M/W2drcXhdKyhlP2R8ZT9yfFtlaV0/bitnPyl8XHcqZlt2dV0raCpjK1toanZrXSooZT9kfGU/cnxbZWldP24rZz98dCl8XHcqZlt2dV0rYz9beGtxXSsoZT9kfGU/cnxbZWldP24rZz98dCl8bVtvdV10aChhfGVyKShmfHBoKVt2dWVdK2M/W2drcXhdK3xcdypmW3Z1XStoKnEoZT9kfGU/cnxbZWldP24rZz98dCl8ZltjaGpdPyhhfGF1fGF3fGV8byt8dXx1eSlbY2hdKmt8Zltja10rKGU/ZHxlP3J8W2VpXT9uK2c/fHQpfGZ186CAofOggKFja2nzoICh86CAoW5nfGR1bWIoZnxwaClbdnVdK2M/W3hrcV18YyhvYz98YXcpa1xXKnN1Yz9rXHcqfHBoW3Z1XStoKmMrW2hqdmtdKlx3KnzQtNC+0LvQsdC+0LXQsdC40LfQvHxjKG98YWh8YXcpYz9rKHN8ZWQpfHBoW3Z1XStjP1t4a3FdK1x3KnzQtNC+0LvQsdCw0LXQsdC+0LJ80LXQsdC70LDQvdGB0LrQsNGPfNC10LHQu9Cw0L3RgdC60LjQuXzQt9Cw0LXQsdGR0YjRjNGB0Y980LfQsNGF0YPRj9GH0LjQu9C4fNC/0LjQtNCw0YDRgdC60LjQuXzRgdGK0LXQsdCw0YLRjNGB0Y980YPQtdCx0LDQvdGB0LrQuNC5fNGD0LXQsdC40YnRjNC90L7QtXxmW3Z1XStjP1t4a3FdK1x3KnzQsNGF0YPQtdC90L3QsNGPfNCw0YXRg9C10L3QvdGD0Y580LDRhdGD0LXQvdC90YvQuXzQstGL0LXQsdCw0L3QvtC1fNC10LHQsNC90L3QvtC80YN80LXQsdCw0L3Rg9GC0YvQtXzQtdCx0LvQsNC90LDQvNC4fNC+0YXRg9C10L3QvdGL0Ll80L/QuNC00LDRgNCw0YHRi3zRg9GR0LHQuNGJ0L3QsNGPfNGD0ZHQsdC40YnQvdGL0Ll80LLRitC10LHQsNC70Lh80LLRitC10LHQsNGC0Yx80LXQsdCw0L3QvdCw0Y980LXQsdCw0L3QvdC+0LV80LXQsdCw0L3QvdGL0YV80LXQsdCw0L3QvtCz0L580LXQsdCw0L3RjNC60Lh80LXQsdC+0L3QvdC+0LV80LfQsNC10LHQsNC70LB80LfQsNC10LHQsNC70L580L/QvtC10LHQtdC90Yx80YXRg9GR0LLQvtCz0L58YStzcytcVypmdVx3KnxjKG98YWh8YXcpYz9rfGJ1dHRcVypmdVx3KnxjdW1tKGVyfGluZyl8Zlt2dV0raCpjXHcqfGZbdnVdK2gqcVx3KnzQsNGF0YPQtdC70Lh80LTRgNC+0YfQutC4fNC10LHQsNC90LDRj3zQtdCx0LDQvdC+0LV80LXQsdCw0L3QvtC5fNC10LHQsNC90YPRjnzQtdCx0LDQvdGL0LV80LXQsdCw0L3Ri9C5fNC10LHQsNC90YvQvHzQtdCx0LDQvdGL0YV80LXQsdGD0YfQuNC5fNC/0LjQt9C00LXQtnzQv9C40LfQtNC10YZ80YPRkdCx0LjRidCwfNGD0ZHQsdC40YnQtXzRhdGD0LXRgdC+0YF80YXRg9C10YLQvtC5fNGF0YPQudC90ZHQuXzRhdGD0ZHQstCw0Y980YXRg9GR0LLRi9C5fOS9oOWmiOatu+S6hnzlpojnmoTkuKrpgLx85oiR5Y675L2g55qEfGMrdStuK3QrXHcqfGZ14oCOY2tpbmd80LHQu9GP0LTRjHzQsdC70Y/RgtGMfNC00L7RhdGD0Y980LTRgNC+0YfQuHzQtdCx0LDQu9C+fNC10LHQsNGC0Yx80L000LXQsTTQu3zQvdCw0YXRg9C5fNC90LDRhdGD0Y980L3QtdGF0YPQuXzQvdC40YXRg9GPfNC/0LjQt9C00LV80L/QuNC30LTRg3zQv9C+0YXRg9C5fNGD0LXQsdGR0YJ80YXRg9C10YLQsHzRhdGD0LXRgtGDfNGF0YPQudC90Lh80YXRg9C50L3RjnzRhdGD0LnQvdGPfNGR0LHQsNC90Yt85pON5L2g5aaIfOaTjeS9oOWmuXzogo/kvaDlpoh80LDRhdGD0LV80LXQsdCw0Lt80LXQsdGD0YJ80YHRg9C60LB80YXRg9C70Lh80YXRg9GP0Lx8RlwuVVwuQ1wuS3xjdW1zaG90fGZ1Y2tpbmd8ZnXigI5ja3xjdW1iYWd8amViYW5lfNCx0LvRj3zQtdCx0YN80YXRg9C4fNGF0YPQuXzRhdGD0Y985YK75bGEfOWCu+mAvHzmk43mrbt86Iet6YC8fGN1bXM/fGNvcSt8ZmNrfGt5c3xcdypmK3UrYytrK1x3Knxcdypm0YbRgdC6XHcqfFx3KmZfdWNfa1x3Knzvu7/vu79uKyhbZWhpeV0rfGF5fGV5fGlvfFtpbF0rKVtiZ3EkXStoPyhhK3xhZXJ8YStoK3xhK3IrfGUrfGVhfGVvYXxlK3IrfGllfGllcnxsZXR8bGl0fG98b3J8cit8dXx1aHx1aHJ8dStyK3x3YXJkfHkrKXMqfGZbYWVdeT9nK1tvZWl1XSt0K3M/fNC/0LjQtNCw0YDQsNGB0L7QsnzQtNCw0YPQvdGB0LrQsNGPfNC/0LjQtNC+0YDQsNGB0Yt8Y2hpbmdcVypjaG9uZ3M/fG7zoICh86CAoWlnZ2Vyc3x0b3dlbFxXKmhlYWRzP3zQv9C40LTQvtGA0LrQsHxwYWM/ayhpfGllfHkpfHRpbmdcVyp0b25ncz98dHJhbm4oaWV8eSlzP3xuaTpnZ1x3Kjpcdyp8Y2hpbihjfGspcz98bitpK1tncV0rcz98eWFtXFcqeWFtcz98XHcqbmlnZ2FzP3xjaGluYW1hbnM/fHBvbGFja2U/cz98bmVla2VyaXM/fG5pZ2ZoZXJzP3xyZWRza2lucz98YmVhbmVycz98Y29vbGllcz98Y3phcm51Y2h8ZithK2crcyp8ZmFnZ290cnl8bmV3ZmFncz98bmkgZ2cgZXJ8bmlnZ2Fcdyp8bmlnZ2xlcz98bmlnbm9ncz98cnVzK2tpcz98d2lnZ2Vycz98z5xhZ2fQvnR8aW5qdW5zP3xuaWtrYXM/fHBpZGFyYXN8d2lnZ2FzP3zQuGlnZ2VyfFx3KmZhZ3xiZWFuZXJ8Y29vbnM/fGR5a2VzP3xmYTY2b3R8ZmFndHM/fGdvb2tzP3xneXBvcz98aG9tb3M/fGtpa2VzP3xzcGljcz98dHJhbm55fHl3bmJhd3zpu5HprLx8YWJvcz98Zmd0cz98ZtCwZ3N8amFwcz98cGlkYXJ8dHJvb258d29wcz98ZmFnenxm0LBnfGZAZ3xcdypO86CAofOggKFJR0dF86CAofOggKFSXHcqfFx3KtGB0LLQuNC90L7RgdC+0LHQsNC6XHcqfFx3Ksm0yarJosmi4bSHyoBcdyp8XHcqbtGWZ2fQtXJcdyp8XHcqTsONR0dFUlx3KnxcdypuXFxcfGdnZXJcdyp8XHcqbmlnZ9C1clx3KnxcdypGNEdHMFRcdyp8XHcqTjFHRzNSXHcqfFx3Km5pZ2dlclx3KnxcdypuaWdnNFx3KnxcdypuaWdnelx3KilcYg==" + "CTextFilterStore_strCleanPattern_354813078" "KDEpXihcYihrb21wZXRlbnp0ZWFtfOa0vumAgeWRmHxwaW5lZ3JvdmV8blwuZVwuaWdcLmVcLnxmdWt1c2hpbWF8c25pZ2dlcnxuaWUgZ2VlfGZ1a3Vva2F8ZnVjaGlhbnxjb2NrXC5saXxwaHVrZXR8ZnV4aXVzfGZ1Y3Vyb3xuaWVnb3xuaWVib3xuaWViYXxuZWlnZXxuZWdneXxuZWJieXxmdXhpc3xjd2ZhZ3xwdWJnfG5pYnl8bmVidXxuZWJvfGZ1a3V8ZnVraXxmYWt0fGcyNHxmY3J8XHcqZnZjaHZvXHcqZmFrKGVkfGVycz98aW5nKXxrb21wZXRlbnp0ZWFtfOa0vumAgeWRmHxwaW5lZ3JvdmV8blwuZVwuaWdcLmVcLnxmdWt1c2hpbWF8c25pZ2dlcnxuaWUgZ2VlfGZ1a3Vva2F8ZnVjaHNpYXxmdWNoaWFufGNvY2tcLmxpfHBodWtldHxmdXhpdXN8ZnVjdXJvfG5pZWdvfG5pZWJvfG5pZWJhfG5laWdlfG5lZ2d5fG5lYmJ5fGZ1eGlzfGN3ZmFnfHB1Ymd8bmlieXxuZWJ1fG5lYm98ZnVrdXxmdWtpfGZha3R8ZzI0fGZjcnxcdypmdmNodm9cdyopXGIpJA==" + "trendingstore_storage" "{\"version\":2,\"data\":[{\"appid\":2878980,\"rgAccountIDs\":[357226444,142680202],\"totalFriends\":2},{\"appid\":1623730,\"rgAccountIDs\":[1391025316,402984481],\"totalFriends\":2},{\"appid\":1905180,\"rgAccountIDs\":[104231025,861240586,350535590,320856367,182865118,892308764,188285686,851839217],\"totalFriends\":8},{\"appid\":958260,\"rgAccountIDs\":[390462944],\"totalFriends\":1},{\"appid\":993090,\"rgAccountIDs\":[455639780,374938912,359889268,350535590,953935155,872915057,1136309159],\"totalFriends\":7},{\"appid\":1630280,\"rgAccountIDs\":[1060387017],\"totalFriends\":1},{\"appid\":1091500,\"rgAccountIDs\":[468606706,485947827],\"totalFriends\":2},{\"appid\":1366800,\"rgAccountIDs\":[953935155,1561653015,901930165],\"totalFriends\":3},{\"appid\":8500,\"rgAccountIDs\":[432617835],\"totalFriends\":1},{\"appid\":1147560,\"rgAccountIDs\":[350129100],\"totalFriends\":1},{\"appid\":3241660,\"rgAccountIDs\":[320856367,300316565,329316771,371253055],\"totalFriends\":4},{\"appid\":1426210,\"rgAccountIDs\":[884730701,228711077,485947827],\"totalFriends\":3},{\"appid\":2427700,\"rgAccountIDs\":[411953203],\"totalFriends\":1},{\"appid\":400040,\"rgAccountIDs\":[892308764],\"totalFriends\":1},{\"appid\":883710,\"rgAccountIDs\":[327762201],\"totalFriends\":1},{\"appid\":1687950,\"rgAccountIDs\":[884437034,875940346],\"totalFriends\":2},{\"appid\":3112010,\"rgAccountIDs\":[454881416,359889268],\"totalFriends\":2},{\"appid\":1029690,\"rgAccountIDs\":[402984481],\"totalFriends\":1},{\"appid\":582010,\"rgAccountIDs\":[485947827,329316771,313567869],\"totalFriends\":3},{\"appid\":1245620,\"rgAccountIDs\":[1114355632,455639780],\"totalFriends\":2},{\"appid\":2220360,\"rgAccountIDs\":[354296091],\"totalFriends\":1},{\"appid\":2073850,\"rgAccountIDs\":[901930165],\"totalFriends\":1},{\"appid\":286160,\"rgAccountIDs\":[35514586,190376667],\"totalFriends\":2},{\"appid\":2719030,\"rgAccountIDs\":[386239550],\"totalFriends\":1},{\"appid\":1049590,\"rgAccountIDs\":[180563734],\"totalFriends\":1},{\"appid\":431960,\"rgAccountIDs\":[329316771,908508500,260402439,447738676,875940346,4339607,405957116,468606706],\"totalFriends\":32},{\"appid\":2356780,\"rgAccountIDs\":[190053062],\"totalFriends\":1},{\"appid\":201870,\"rgAccountIDs\":[37630060],\"totalFriends\":1},{\"appid\":1326470,\"rgAccountIDs\":[350129100],\"totalFriends\":1},{\"appid\":885970,\"rgAccountIDs\":[113643041],\"totalFriends\":1},{\"appid\":843810,\"rgAccountIDs\":[454881416],\"totalFriends\":1},{\"appid\":1222700,\"rgAccountIDs\":[163951808],\"totalFriends\":1},{\"appid\":1040200,\"rgAccountIDs\":[447738676],\"totalFriends\":1},{\"appid\":1938090,\"rgAccountIDs\":[881290683],\"totalFriends\":1},{\"appid\":1449690,\"rgAccountIDs\":[320856367,397762085],\"totalFriends\":2},{\"appid\":2453360,\"rgAccountIDs\":[136072888,300316565],\"totalFriends\":2},{\"appid\":2904000,\"rgAccountIDs\":[872915057],\"totalFriends\":1},{\"appid\":786520,\"rgAccountIDs\":[183361154],\"totalFriends\":1},{\"appid\":1621690,\"rgAccountIDs\":[872915057,468606706],\"totalFriends\":2},{\"appid\":860510,\"rgAccountIDs\":[212752971],\"totalFriends\":1},{\"appid\":2280,\"rgAccountIDs\":[24494218],\"totalFriends\":1},{\"appid\":629520,\"rgAccountIDs\":[370988433,371253055],\"totalFriends\":2},{\"appid\":218,\"rgAccountIDs\":[401517096],\"totalFriends\":1},{\"appid\":3240220,\"rgAccountIDs\":[281036280,192052592,182865118,212420689,306758362],\"totalFriends\":5},{\"appid\":3534010,\"rgAccountIDs\":[371253055],\"totalFriends\":1},{\"appid\":2796010,\"rgAccountIDs\":[901930165,1008653029],\"totalFriends\":2},{\"appid\":1876890,\"rgAccountIDs\":[194882112],\"totalFriends\":1},{\"appid\":1682970,\"rgAccountIDs\":[4339607],\"totalFriends\":1},{\"appid\":2103130,\"rgAccountIDs\":[447738676,872915057],\"totalFriends\":2},{\"appid\":1604030,\"rgAccountIDs\":[378843358],\"totalFriends\":1}],\"lastFetchTimeMS\":1742711279142}" + "playnextstore_storage" "{\"nVersion\":3,\"cachedPlayNext\":{\"last_update_time\":1742617843,\"appids\":[346110,218620,203160,435150,518790,240,552520,552990,933110]},\"rgIgnoredApps\":[]}" + "GetEquippedProfileItemsForUser76561198315078806" "{\"profile_background\":{\"communityitemid\":\"21810627993\",\"image_large\":\"items/1091500/dcc76dc97ea7ba2dbfb6072301e1a8381c626b43.jpg\",\"name\":\"Blackwall\",\"item_title\":\"Blackwall\",\"item_description\":\"\",\"appid\":1091500,\"item_type\":43,\"item_class\":3,\"movie_webm\":\"items/1091500/c5c1dee0e055b85871883c5fc19a098f53e9778c.webm\",\"movie_mp4\":\"items/1091500/2cc58da146ad8b42ff80275aeac33a84e7fd49f8.mp4\",\"movie_webm_small\":\"items/1091500/fd088ed35d41838887dcb467ddef04bc94c77ae7.webm\",\"movie_mp4_small\":\"items/1091500/7896bb3a540b74b8c0e9c701e93a14113993557c.mp4\",\"equipped_flags\":1,\"profile_colors\":[]},\"mini_profile_background\":{\"communityitemid\":\"21810627994\",\"image_large\":\"items/1091500/636194089b096724351249823ed7322b05e6e25f.jpg\",\"name\":\"Blackwall\",\"item_title\":\"Blackwall\",\"item_description\":\"\",\"appid\":1091500,\"item_type\":42,\"item_class\":13,\"movie_webm\":\"items/1091500/6dc4ccdc50b58a28d8817c777034382c2ef366ab.webm\",\"movie_mp4\":\"items/1091500/5b3f6530d9908627a90597f4b7bcd644a8d038fe.mp4\",\"profile_colors\":[]},\"avatar_frame\":{\"communityitemid\":\"21810627995\",\"image_small\":\"items/1091500/2504dff701df1c304a964370e15f42aecee8e21b.png\",\"image_large\":\"items/1091500/f8bc37f642de99dfb2d96a04f34b1007fa72f7fb.png\",\"name\":\"Holocall\",\"item_title\":\"Holocall\",\"item_description\":\"\",\"appid\":1091500,\"item_type\":41,\"item_class\":14,\"profile_colors\":[]},\"animated_avatar\":{\"profile_colors\":[]},\"profile_modifier\":{\"communityitemid\":\"21810627992\",\"image_small\":\"items/1091500/b4433988e6b674164aacf28841071c5a7269bf15.jpg\",\"image_large\":\"items/1091500/4275da23e91f0160e271539efd7da62d29a98b4e.jpg\",\"name\":\"Cyberspace Profile\",\"item_title\":\"《赛博朋克》个人资料\",\"item_description\":\"\",\"appid\":1091500,\"item_type\":44,\"item_class\":8,\"profile_colors\":[]},\"steam_deck_keyboard_skin\":{\"profile_colors\":[]}}" + "FriendGroupCollapse_354813078" "{\"groups\":{\"offline\":false,\"outgoing\":true,\"game_365670\":true}}" + "ChatStorePopupState_354813078" "{\"window_restore_details\":\"1&x=1519&y=704&w=1110&h=947\",\"bFriendsListVisible\":true,\"always_restore\":false,\"bFriendsListCollapsed\":false}" + "FriendStoreLocalPrefs_354813078" "{\"ePersonaState\":1,\"strNonFriendsAllowedToMsg\":\"\"}" + "GameInvites_354813078" "{\"dismisstimes\":[[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[0,[367219292,1729409995]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[1,[367219292,1729409995]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[2,[367219292,1729409995]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[3,[367219292,1729409995]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[4,[402984481,1729428019]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[5,[402984481,1729428019]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[6,[402984481,1729428019]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[7,[402984481,1729429216]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[8,[367219292,1729409995]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[9,[402984481,1729688456]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[10,[367219292,1729412113]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[11,[402984481,1729779468]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[12,[402984481,1729871282]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[13,[402984481,1729871282]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[14,[402984481,1729871282]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[15,[402984481,1730029849]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[16,[402984481,1730029849]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[17,[402984481,1730033974]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[18,[402984481,1730036745]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[19,[402984481,1730044787]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[20,[402984481,1730207592]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[21,[367219292,1730209395]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[22,[402984481,1730207592]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[23,[402984481,1730207592]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[24,[402984481,1730382788]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[25,[402984481,1730380747]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[26,[402984481,1730386279]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[27,[402984481,1730389152]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[28,[367219292,1730472833]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[29,[402984481,1730466081]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[30,[402984481,1730475017]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[31,[354813078,1730641015]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[32,[402984481,1730639221]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[33,[354813078,1730641069]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[34,[367219292,1730472833]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[35,[402984481,1730639221]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[36,[354813078,1730643042]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[37,[367219292,1730475031]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[38,[367219292,1730896369]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[39,[402984481,1730896363]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[40,[354813078,1730643042]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[41,[402984481,1730991357]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[42,[354813078,1730643042]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[43,[402984481,1731072014]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[44,[354813078,1730643042]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[45,[402984481,1731077500]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[46,[402984481,1731077500]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[47,[402984481,1731077500]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[48,[354813078,1730643042]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[49,[354813078,1730641015]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[50,[402984481,1731161948]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[51,[354813078,1730643042]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[52,[367219292,1730897792]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[53,[367219292,1730897792]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[54,[402984481,1731250115]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[55,[354813078,1730643042]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[56,[367219292,1731163597]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[57,[402984481,1731250115]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[58,[354813078,1730643042]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[59,[354813078,1731591974]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[60,[402984481,1731250115]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[61,[367219292,1731593199]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[62,[402984481,1731252366]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[63,[402984481,1732024785]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[64,[367219292,1732024768]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[65,[354813078,1731591974]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[66,[367219292,1732024768]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[67,[354813078,1731591974]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[68,[402984481,1732024785]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[69,[367219292,1732024768]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[70,[354813078,1731591974]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[71,[402984481,1732024785]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[72,[402984481,1732361764]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[73,[354813078,1731593406]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[74,[367219292,1732027022]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[75,[367219292,1732366992]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[76,[354813078,1731591974]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[77,[402984481,1732361764]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[78,[367219292,1732366992]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[79,[354813078,1731591974]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[80,[367219292,1732461163]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[81,[354813078,1731593201]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[82,[402984481,1732461164]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[83,[354813078,1732459340]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[84,[402984481,1732463718]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[85,[402984481,1732461676]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[86,[354813078,1731591974]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[87,[367219292,1732459771]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[88,[88,[88,[88,[88,[88,[88,[88,[88,[88,[88,[88,[88,[88,[88,[88,[88,[88,[88,[88,[88,[88,[88,[88,[88,[88,[88,[88,[88,[88,[88,[88,[367219292,1732459771]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[89,[89,[89,[89,[89,[89,[89,[89,[89,[89,[89,[89,[89,[89,[89,[89,[89,[89,[89,[89,[89,[89,[89,[89,[89,[89,[89,[89,[89,[89,[89,[89,[354813078,1731591974]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[90,[90,[90,[90,[90,[90,[90,[90,[90,[90,[90,[90,[90,[90,[90,[90,[90,[90,[90,[90,[90,[90,[90,[90,[90,[90,[90,[90,[90,[90,[90,[354813078,1732619791]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[91,[91,[91,[91,[91,[91,[91,[91,[91,[91,[91,[91,[91,[91,[91,[91,[91,[91,[91,[91,[91,[91,[91,[91,[91,[91,[91,[91,[91,[91,[91,[367219292,1732459771]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[92,[92,[92,[92,[92,[92,[92,[92,[92,[92,[92,[92,[92,[92,[92,[92,[92,[92,[92,[92,[92,[92,[92,[92,[92,[92,[92,[92,[92,[92,[92,[402984481,1732461676]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[93,[93,[93,[93,[93,[93,[93,[93,[93,[93,[93,[93,[93,[93,[93,[93,[93,[93,[93,[93,[93,[93,[93,[93,[93,[93,[93,[93,[93,[93,[402984481,1732463718]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[94,[94,[94,[94,[94,[94,[94,[94,[94,[94,[94,[94,[94,[94,[94,[94,[94,[94,[94,[94,[94,[94,[94,[94,[94,[94,[94,[94,[94,[94,[354813078,1732461392]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[95,[95,[95,[95,[95,[95,[95,[95,[95,[95,[95,[95,[95,[95,[95,[95,[95,[95,[95,[95,[95,[95,[95,[95,[95,[95,[95,[95,[95,[402984481,1732714939]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[96,[96,[96,[96,[96,[96,[96,[96,[96,[96,[96,[96,[96,[96,[96,[96,[96,[96,[96,[96,[96,[96,[96,[96,[96,[96,[96,[96,[96,[354813078,1732459340]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[97,[97,[97,[97,[97,[97,[97,[97,[97,[97,[97,[97,[97,[97,[97,[97,[97,[97,[97,[97,[97,[97,[97,[97,[97,[97,[97,[97,[402984481,1732714939]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[98,[98,[98,[98,[98,[98,[98,[98,[98,[98,[98,[98,[98,[98,[98,[98,[98,[98,[98,[98,[98,[98,[98,[98,[98,[98,[98,[98,[354813078,1732461392]]]]]]]]]]]]]]]]]]]]]]]]]]]]],[99,[99,[99,[99,[99,[99,[99,[99,[99,[99,[99,[99,[99,[99,[99,[99,[99,[99,[99,[99,[99,[99,[99,[99,[99,[99,[99,[402984481,1732714939]]]]]]]]]]]]]]]]]]]]]]]]]]]],[100,[100,[100,[100,[100,[100,[100,[100,[100,[100,[100,[100,[100,[100,[100,[100,[100,[100,[100,[100,[100,[100,[100,[100,[100,[100,[100,[354813078,1732619791]]]]]]]]]]]]]]]]]]]]]]]]]]]],[101,[101,[101,[101,[101,[101,[101,[101,[101,[101,[101,[101,[101,[101,[101,[101,[101,[101,[101,[101,[101,[101,[101,[101,[101,[101,[101,[367219292,1732461163]]]]]]]]]]]]]]]]]]]]]]]]]]]],[102,[102,[102,[102,[102,[102,[102,[102,[102,[102,[102,[102,[102,[102,[102,[102,[102,[102,[102,[102,[102,[102,[102,[102,[102,[102,[402984481,1733041119]]]]]]]]]]]]]]]]]]]]]]]]]]],[103,[103,[103,[103,[103,[103,[103,[103,[103,[103,[103,[103,[103,[103,[103,[103,[103,[103,[103,[103,[103,[103,[103,[103,[103,[103,[354813078,1732459340]]]]]]]]]]]]]]]]]]]]]]]]]]],[104,[104,[104,[104,[104,[104,[104,[104,[104,[104,[104,[104,[104,[104,[104,[104,[104,[104,[104,[104,[104,[104,[104,[104,[104,[402984481,1733045538]]]]]]]]]]]]]]]]]]]]]]]]]],[105,[105,[105,[105,[105,[105,[105,[105,[105,[105,[105,[105,[105,[105,[105,[105,[105,[105,[105,[105,[105,[105,[105,[105,[402984481,1733041119]]]]]]]]]]]]]]]]]]]]]]]]],[106,[106,[106,[106,[106,[106,[106,[106,[106,[106,[106,[106,[106,[106,[106,[106,[106,[106,[106,[106,[106,[106,[106,[106,[354813078,1732459340]]]]]]]]]]]]]]]]]]]]]]]]],[107,[107,[107,[107,[107,[107,[107,[107,[107,[107,[107,[107,[107,[107,[107,[107,[107,[107,[107,[107,[107,[107,[107,[402984481,1733041119]]]]]]]]]]]]]]]]]]]]]]]],[108,[108,[108,[108,[108,[108,[108,[108,[108,[108,[108,[108,[108,[108,[108,[108,[108,[108,[108,[108,[108,[108,[108,[354813078,1732459340]]]]]]]]]]]]]]]]]]]]]]]],[109,[109,[109,[109,[109,[109,[109,[109,[109,[109,[109,[109,[109,[109,[109,[109,[109,[109,[109,[109,[109,[109,[402984481,1733314257]]]]]]]]]]]]]]]]]]]]]]],[110,[110,[110,[110,[110,[110,[110,[110,[110,[110,[110,[110,[110,[110,[110,[110,[110,[110,[110,[110,[110,[110,[354813078,1733236847]]]]]]]]]]]]]]]]]]]]]]],[111,[111,[111,[111,[111,[111,[111,[111,[111,[111,[111,[111,[111,[111,[111,[111,[111,[111,[111,[111,[111,[354813078,1733236847]]]]]]]]]]]]]]]]]]]]]],[112,[112,[112,[112,[112,[112,[112,[112,[112,[112,[112,[112,[112,[112,[112,[112,[112,[112,[112,[112,[367219292,1732461163]]]]]]]]]]]]]]]]]]]]],[113,[113,[113,[113,[113,[113,[113,[113,[113,[113,[113,[113,[113,[113,[113,[113,[113,[113,[113,[113,[354813078,1732461392]]]]]]]]]]]]]]]]]]]]],[114,[114,[114,[114,[114,[114,[114,[114,[114,[114,[114,[114,[114,[114,[114,[114,[114,[114,[114,[367219292,1732965784]]]]]]]]]]]]]]]]]]]],[115,[115,[115,[115,[115,[115,[115,[115,[115,[115,[115,[115,[115,[115,[115,[115,[115,[115,[115,[402984481,1733314257]]]]]]]]]]]]]]]]]]]],[116,[116,[116,[116,[116,[116,[116,[116,[116,[116,[116,[116,[116,[116,[116,[116,[116,[116,[116,[354813078,1732461392]]]]]]]]]]]]]]]]]]]],[117,[117,[117,[117,[117,[117,[117,[117,[117,[117,[117,[117,[117,[117,[117,[117,[117,[117,[354813078,1733236847]]]]]]]]]]]]]]]]]]],[118,[118,[118,[118,[118,[118,[118,[118,[118,[118,[118,[118,[118,[118,[118,[118,[118,[354813078,1733236847]]]]]]]]]]]]]]]]]],[119,[119,[119,[119,[119,[119,[119,[119,[119,[119,[119,[119,[119,[119,[119,[119,[402984481,1733314257]]]]]]]]]]]]]]]]],[120,[120,[120,[120,[120,[120,[120,[120,[120,[120,[120,[120,[120,[120,[120,[120,[354813078,1732619791]]]]]]]]]]]]]]]]],[121,[121,[121,[121,[121,[121,[121,[121,[121,[121,[121,[121,[121,[121,[121,[121,[367219292,1732965784]]]]]]]]]]]]]]]]],[122,[122,[122,[122,[122,[122,[122,[122,[122,[122,[122,[122,[122,[122,[122,[367219292,1732965784]]]]]]]]]]]]]]]],[123,[123,[123,[123,[123,[123,[123,[123,[123,[123,[123,[123,[123,[123,[123,[402984481,1733758775]]]]]]]]]]]]]]]],[124,[124,[124,[124,[124,[124,[124,[124,[124,[124,[124,[124,[124,[124,[124,[354813078,1733236847]]]]]]]]]]]]]]]],[125,[125,[125,[125,[125,[125,[125,[125,[125,[125,[125,[125,[125,[125,[354813078,1733236847]]]]]]]]]]]]]]],[126,[126,[126,[126,[126,[126,[126,[126,[126,[126,[126,[126,[126,[367219292,1732965784]]]]]]]]]]]]]],[127,[127,[127,[127,[127,[127,[127,[127,[127,[127,[127,[127,[367219292,1732965784]]]]]]]]]]]]],[128,[128,[128,[128,[128,[128,[128,[128,[128,[128,[128,[128,[354813078,1733236847]]]]]]]]]]]]],[129,[129,[129,[129,[129,[129,[129,[129,[129,[129,[129,[354813078,1733236847]]]]]]]]]]]],[130,[130,[130,[130,[130,[130,[130,[130,[130,[130,[354813078,1733236847]]]]]]]]]]],[131,[131,[131,[131,[131,[131,[131,[131,[131,[402984481,1733758775]]]]]]]]]],[132,[132,[132,[132,[132,[132,[132,[132,[402984481,1733758777]]]]]]]]],[133,[133,[133,[133,[133,[133,[133,[402984481,1733758777]]]]]]]],[134,[134,[134,[134,[134,[134,[134,[220025258,1734444547]]]]]]]],[135,[135,[135,[135,[135,[135,[402984481,1733758777]]]]]]],[136,[136,[136,[136,[136,[402984481,1733924722]]]]]],[137,[137,[137,[137,[137,[220025258,1734529941]]]]]],[138,[138,[138,[138,[402984481,1733924722]]]]],[139,[139,[139,[163951808,1734794382]]]],[140,[140,[140,[354813078,1734792878]]]],[141,[141,[367219292,1734843052]]],[142,[142,[354813078,1734843859]]],[143,[143,[402984481,1734611076]]],[144,[402984481,1734881991]],[145,[354813078,1734882184]],[354813078,1734882184]]}" + "UIDisplayPrefs_354813078" "{\"nChatRoomListHeightPx\":72.00004577636719,\"bChatRoomListCollapsed\":true,\"bDontShowVoiceAlert\":false,\"nFriendsListSingleWindowWidthPx\":300,\"bFavoritesHintDismissed\":false,\"bRemotePlayLinkHintDismissed\":true,\"nChangeLogDismissed\":0,\"rtLastAckedNewEmoticons\":1660836941}" + "apps" + { + "2358720" + { + "DefaultLaunchOption" + { + "79d63e0f" "0" + } + } + "1144200" + { + "DefaultLaunchOption" + { + "3d0fe30a" "0" + } + } + "730" + { + "DefaultLaunchOption" + { + "69a88397" "0" + } + } + "289070" + { + "DefaultLaunchOption" + { + "db3de67d" "0" + } + } + "1030840" + { + "DefaultLaunchOption" + { + "ebbed379" "1" + } + } + } + "Deck_ConfiguratorInterstitialsVersionSeen_GamepadRecommended" "1" + "Deck_ConfiguratorInterstitialsCheckbox_GamepadRecommended" "0" + "Deck_ConfiguratorInterstitialApps_GamepadRecommended" "[2358720]" + "LaunchOptionTipsShown" "3" + "OverlaySavedDataV2_730_windows" "{\"version\":2,\"data\":[[\"FriendsList\",1]]}" + "spotlight_gameplaysession_store" "{\"730\":1732717481}" + "OverlaySavedDataV2_570_windows" "{\"version\":2,\"data\":[[\"GameOverview\",1],[\"FriendsList\",0]]}" + "deck_compatibility_feedback_ask" "[]" + "deck_compatibility_feedback_eligible_apps" "{}" + "OverlaySavedDataV2_1144200_webrequests" "{\"version\":1,\"data\":{\"activeWebPageRequestID\":0,\"rgRequests\":[]}}" + "OverlaySavedDataV2_1144200_windows" "{\"version\":2,\"data\":[[\"GameOverview\",1],[\"FriendsList\",1],[\"Browser\",0]]}" + "OverlaySavedDataV2_730_webrequests" "{\"version\":1,\"data\":{\"activeWebPageRequestID\":0,\"rgRequests\":[]}}" + "OverlaySavedDataV2_3097560_windows" "{\"version\":2,\"data\":[[\"GameOverview\",1],[\"FriendsList\",0]]}" + "user-collections" "{}" + "OverlaySavedDataV2_2001120_windows" "{\"version\":2,\"data\":[[\"GameOverview\",1],[\"FriendsList\",0]]}" + "TimesSeenStatusChangeCallout" "1" + "Deck_GuidedTourVersionSeen" "1" + "Deck_SeasonalSale" "{\"sale\":\"\",\"nextCheck\":\"2025-03-10T17:27:59.596Z\",\"deckImage\":\"\"}" + } + "system" + { + "PushToTalkKey" "0" + "InGameOverlayShowFPSContrast" "1" + "InGameOverlayShowFPSCorner" "1" + "InGameOverlayShortcutKey" "Shift KEY_BACKSLASH" + "UsePushToTalkFriendsUI" "0" + "UsePushToMute" "0" + "displayratesasbits" "0" + } + "CloudKey" "0100000072ad8c4e15c9385d5a3b8bf3feac084e6615f674c2348d82ec1b1899b94a59ab4b48a212" + "CloudKeyCRC" "1577639009" + "FavoriteServersLastUpdateTime" "1742712834" + "UserAppConfig" + { + "1905180" "00696e7465726e616c00016c616e677561676500656e676c697368000808" + "3097560" "00696e7465726e616c00016c616e677561676500656e676c697368000808" + "570" "00696e7465726e616c00016c616e677561676500736368696e657365000808" + "223850" "00696e7465726e616c00016c616e677561676500656e676c69736800016f7074696f6e616c646c63003430323239302c343936313031000808" + "10" "00696e7465726e616c00016c616e677561676500736368696e657365000808" + "70" "0055736572436f6e6669670001426574614b6579007075626c6963000808" + "1144200" "00696e7465726e616c00016c616e677561676500656e676c697368000808" + "993090" "00696e7465726e616c00016c616e677561676500656e676c6973680001426574614b65790062657461000808" + "289070" "00696e7465726e616c00016c616e677561676500736368696e657365000808" + "1030840" "00696e7465726e616c00016c616e677561676500736368696e657365000808" + "3424520" "00696e7465726e616c00016c616e677561676500736368696e657365000808" + "2001120" "00696e7465726e616c00016c616e677561676500736368696e657365000808" + "374320" "00696e7465726e616c00016c616e677561676500736368696e657365000808" + "550" "00696e7465726e616c00016c616e677561676500656e676c697368000808" + } + "RecentLocalPlayedGameIDs" "da02000000000000aec8df67aed4005626020000000000004259de670000000030b60500000000004863d86700000000e0881e00000000005d3fd56735b68e0f3a02000000000000672bc467000000000841340000000000f493bc67000000000a000000000000000f3bbb673922d60e42270f0000000000ea75b9677151633db8ba0f0000000000b5a9b86765616d20c0fd2300000000001b77b467747874007a1f160000000000f7f6a867ffffffffd8432f00000000008db7a867000200ff2e690400000000006d8f9267000000808875110000000000eca37a67000000006a6a0300000000008fa14667000000001c121d0000000000e79c146700756972" + "nettickets" + { + "730" "010000007f00d7f9ece1b540022811137f8a1073efe6d9bc83c14554429254ac246b9b3e5242ee2e98706ce763319727da587707df20c78ee21c9c1d5ff7a453fbcf10c6495a642ac741128312e7994f5a1b1fc1af6d57fc32085f49d5eb27f06b57a43d565e875be69cb5328aeedba2dad676406a45ec6810318396afb349bc8c196c17a330b920917f5f2c4204580185b2870343922c3779386816d0ed678a1d9781f4b89cd75a626eb51a83391273eed879866b827b92620c375dff29dd903302009210ee46018591700a273c07d0f851ac654d411c0ca2ff0d292031d148e4d4a2a4714e0aba8d8863ae719a87269e9109ce348a0f955a940fcbcf62f1ae53f84d5d70444b275dd501a44437edb58efc045422f00970c769ab2c8ac463878e171c2d25c2f4945e6baa99081aa4597e492845ad8e23072cdb03c4a75ecf6740675a2a9211afcfc5a5dc53efce4d1055ab0a1b7b6b0536f5e8f69f886a35bf7742ee1aef8156f3167ae54a62d7dcdfc6409a9b0f1620c30cfe9c2a25e69ca1876ed07b66ea71791ad77f83c3b887b99e8989d6169547d4bd07f51b238dfd5a7892367dc958e5806cf9f20188120ec27ef4ec11bf1fca84e3888896e6a162ec62318cfe7ab661ffee6d5ed170ca059e04dafae0b4152c4201f975779036e9d32a5861c1dfbc18e0ae505990b1048189bea2" + "3097560" "010000007f0058b27dd18e672b61057e90c96e216443d27b2ea30cc2aad542679af9c6e9ab4329a4692c448c7b125b42172e888cb6ff0379198221383e8ef8477061a48dabe66434c741108312e799c0118a2ffa88441ee85fe71c37876082fbacfac674c0b6c04d2d22276f5d17daa2dad676406a45ec6810565ee3afb32eebc7196c1521d7b2fb9a685a9c53234d1084c09f122e84393f71313b45dcef678e1a9f88feb19ad6586a61bd149a1402c222bddcca8d338dedb8fca2ddba567d7bc3886ffaec296efde2481e42bdeccabd8e174bbf572ce73ba617d4ff1dc1bc23067b35945a285a0567405a93a2ccddb829f8608e7d7c1b6c0cf39be59b" + "570" "010000007f002eb20ac7c39e7a6753c0865785610a13bf965cf27d6eeb3f45a4c653fafb6b1ab7afb3af441107775121fb02c8bf0da1b59215fd65b0206ce5b02b6bf1487b7c642ac741128312e799b611fd39b7711518bee1f182dcc70ed296418897056cf72a4aee7e8d534fd783a2dad676406a45ec6810ccdf8fafb3b468aa196c77a230b920917f5f2c4204580185b2870343922c3779386816d0ed678a1d9781f4b89cd75a626eb51a83391273eed879866b827bf15d110ad7a4cc9c5ed44fcf568e67c1d72f7c17118285d5dce9fc6e4a2ac194933cd724bdb8005784661560977360e73e6049497c2423de39781fae396a8407457c89fa" + "1449850" "010000007f00455981fb8baa0d3c1a1d9da4b74e6ea05e6b0b58a3058ae66e41fc42cd779397b5ac8ae5f2d0bf65e9ac50c42420ca7ae9f361a3c7ae915380f2f43a5df12e04642bc741118312e799ddfa7605ff456243f73cea71eee86a6177bcdf3ddb0796f3610b449c64c32f0ea2dad676406a45ec68103b0de3afb34336c7196c371832e9ab11e8cd0e7110591194d1fc694483283b7d35361bd1ee648d1d9f80ffba98d25d6d6ebd1c9c0b30e0b1e2e6555e06099fa1bdc167f47ede9e1dbb649c6908524c0867174b94592a8091adc1d32d2c7d71fb9960a3593bbf3809765f8388ad6d25968f99883f14c47899d27a4b6e9ac089851fe642" + "1144200" "010000007f00cd0e40c2bbe62ee40f2c017edcb6524cf2acad2a1b32a2a171d26180ab5592100a89da8935358d97e33ac81dd36598719290d750fffd1d78f24e51ea6e3ad801642bc741118312e79955adb73ccf09419be20d76ab8510568ddb7b794f6330beb47e98d95e02e12e89a2dad676406a45ec68109a6431afb3e2e111196c454d2fe9ab11e8cd0e7110591194d1fc694483283b7d35361bd1ee648d1d9f80ffba98d25d6d6ebd1c9c0b30e0b1e2e6555e06099f9a89039c2f5196091057b40d8e75cd2f7a7588daf2dc76ace36c830f95a1271042ee5fffee6112f98389b16090d5fa5924a0cdd24afd0dbb249a988ce0cd788c88872b6b" + "2001120" "010000007f00fab23fe21d145d7b33de24ede55f6b1cd21cc51bb764ffeab9c78f499cceea92429e8201fcbaf7d52bba8835a9e11ede231a5c842ba7b24415d4ab129cd21c80642bc741118312e7996211c81c69fb3204deff5338bcf96fddfbcb117ecf66e3ffb68d3797357a560ba2dad676406a45ec6810ebfc98afb39309b9196c2d3710e9ab11e8cd0e7110591194d1fc694483283b7d35361bd1ee648d1d9f80ffba98d25d6d6ebd1c9c0b30e0b1e2e6555e06099fc599c12f345b53aefec86ed5f3d5a50996cf9e1a97fa2604c9f58003c9e9b9aad855847c702b5cee1c5afc4620e1c2b12c7a6b2d5711b5156a73fa0374e3de848a096522" + "374320" "010000007f00c49a49152e7f0408d8c4f0cd0da284b7a24181d0f9a1b0db10c50174df57b4d3248f607488bf65e9c923730c6a967e2859378dd0008e7fad4d5bad29354a37b7642bc741118312e7995c39beeb5a906b7735e58718540480768b9655b581a3acce1f8fb9aa76e3084aa2dad676406a45ec681041ab93afb33954b6196c7d4a7ce9ab11e8cd0e7110591194d1fc694483283b7d35361bd1ee648d1d9f80ffba98d25d6d6ebd1c9c0b30e0b1e2e6555e06099fbfc4534ca2aa56ead030b57699efa5e69e4d133b57c43784e583347c7d0d9f8b96b221d3d2ff90e6eb0638794be2ea7b8fe1f2048fb4e6c05ff168229f9ea3823b04dcbc" + } + "depots" + { + "228985" + { + "CDN" + { + "dl.steam.clngaa.com" + { + "token" "?t=1729431186&k=aca12a2d3589416318ff080fc1fb3f11" + "Expires" "1729431186" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1729420393-4251011389425122186-0-32c977365620b9f1e6dd90463fc47f24" + "Expires" "1729423993" + } + } + } + "3036081" + { + "CDN" + { + "dl.steam.clngaa.com" + { + "token" "?t=1730012000&k=7605c61a9e6f3cd312e43360c7cdd4a9" + "Expires" "1730012000" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1740931873-1202605977532935035-0-a8ffd1dcd6e322c8fb0ee0cb3c39fd41" + "Expires" "1740935473" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1740942672&token=176b93e0712b930df196dc54d52b5ead52d18799" + "Expires" "1740942672" + } + } + } + "228983" + { + "CDN" + { + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1729420392-4987407919209794997-0-5949c1e5a4fe14f596895ec0b0f8cf1d" + "Expires" "1729423992" + } + "dl.steam.clngaa.com" + { + "token" "?t=1729431192&k=fbfefb540f5740b7abf7ffdf82557a6f" + "Expires" "1729431192" + } + } + } + "373301" + { + "CDN" + { + "dl.steam.clngaa.com" + { + "token" "?t=1741763601&k=3708525e144397b43ec84883c6396afa" + "Expires" "1741763601" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1741752798-8570919147982156938-0-c9ec187b0869ff94cc45c24258ee52a6" + "Expires" "1741756398" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1736422128&token=ead09f544f1ac931916b1ee25c48ac766379ce83" + "Expires" "1736422128" + } + } + } + "381451" + { + "CDN" + { + "dl.steam.clngaa.com" + { + "token" "?t=1735400519&k=da533c43a93cea5a148bc51fa18d5f2b" + "Expires" "1735400519" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1735389719-2899064216117588859-0-3f13c127ee34d629b24bf6777c3c4bfb" + "Expires" "1735393319" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1735400383&token=fd2c8297bae94d3afc06d8beac1a50f103e47023" + "Expires" "1735400383" + } + } + } + "381452" + { + "CDN" + { + "dl.steam.clngaa.com" + { + "token" "?t=1735400538&k=0ee31c65dae38a90bc06379cdf49c67d" + "Expires" "1735400538" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1735389583-4600358336250452110-0-f13ea63f9b8cad90cdc426e92aa5ae62" + "Expires" "1735393183" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1735400538&token=43d6e606809235c1585e67e426579cf3630a8348" + "Expires" "1735400538" + } + } + } + "381453" + { + "CDN" + { + "dl.steam.clngaa.com" + { + "token" "?t=1735400383&k=45e16e1868bcd8937836f454c862a350" + "Expires" "1735400383" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1735389761-5172732528735128054-0-0d91340f6c65f65f558243a0cbeac7a0" + "Expires" "1735393361" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1735400561&token=cc8a399f3df3506ca69700641dd9ff43122cdc67" + "Expires" "1735400561" + } + } + } + "381454" + { + "CDN" + { + "dl.steam.clngaa.com" + { + "token" "?t=1735400583&k=d7c3aaf74abf4339a6289476fb3e37a1" + "Expires" "1735400583" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1735389784-8564099164896470154-0-0f4c429afbc1547ff026f5dc00efeb4a" + "Expires" "1735393384" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1735400383&token=58dd717518aa38c8ceabfba887290be8916f1983" + "Expires" "1735400383" + } + } + } + "381455" + { + "CDN" + { + "dl.steam.clngaa.com" + { + "token" "?t=1741763598&k=683287f771a495fe969ff2bb328d6c23" + "Expires" "1741763598" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1736422132&token=13e7f497548291a45ca6abd51d84978c78a00b04" + "Expires" "1736422132" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1741752801-6917754963525095528-0-16295a9b873bef91f4f3d3810be9c6cd" + "Expires" "1741756401" + } + } + } + "373302" + { + "CDN" + { + "dl.steam.clngaa.com" + { + "token" "?t=1735400966&k=ca0a95ca46bbd3742ae9e08761542cc1" + "Expires" "1735400966" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1735400384&token=21a26f255cd40beafebd2ffd1edc16743817ccb4" + "Expires" "1735400384" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1733505547-3643966785173402602-0-043d4da6be30037aa78ef83ffee2a9f8" + "Expires" "1733509147" + } + } + } + "373303" + { + "CDN" + { + "dl.steam.clngaa.com" + { + "token" "?t=1741763599&k=e6bfe4f2e573ab6cdcdbaa6d9e732d7c" + "Expires" "1741763599" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1736422129&token=50686341a92c721f21c3799088020b2765c96c0e" + "Expires" "1736422129" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1741752806-886249664168448771-0-a2950d4f3ccf0feaa3f97a8f8254c66e" + "Expires" "1741756406" + } + } + } + "373305" + { + "CDN" + { + "dl.steam.clngaa.com" + { + "token" "?t=1735400384&k=6db731a0f871e25e76eab002a05f5458" + "Expires" "1735400384" + } + } + } + "373307" + { + "CDN" + { + "dl.steam.clngaa.com" + { + "token" "?t=1733516363&k=d77d3ced0366c882d310e79b615ff618" + "Expires" "1733516363" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1733505563-3446696013956284517-0-0bce149d6fde8e17e62a3bc810c6f02a" + "Expires" "1733509163" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1735400384&token=6afa0c005b304a254af2afbc82083893f3304a19" + "Expires" "1735400384" + } + } + } + "373309" + { + "CDN" + { + "dl.steam.clngaa.com" + { + "token" "?t=1739812981&k=66799d8a45a0bca13d4f74c835fe98e6" + "Expires" "1739812981" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1739802181-1603995952830878577-0-452743214a0e498deb598691f0d97930" + "Expires" "1739805781" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1739812981&token=78b5d55e49dff2528b27a701d993c3242c349587" + "Expires" "1739812981" + } + } + } + "570" + { + "CDN" + { + "dl.steam.clngaa.com" + { + "token" "?t=1739813039&k=77210a881c30b0c8a237215e242efc56" + "Expires" "1739813039" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1739813138&token=ed5103959c2c5aff0425a7458619a9940bdace7c" + "Expires" "1739813138" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1739802239-3252937456189695465-0-3bc3215e8f9dd70b79276989e8e23af2" + "Expires" "1739805839" + } + } + } + "732" + { + "CDN" + { + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1740700994-6127668355941106271-0-5c7c4c0d487d180407e7319deac489ee" + "Expires" "1740704594" + } + "dl.steam.clngaa.com" + { + "token" "?t=1741763626&k=3c590ace9a6f9ff4c71de71d497c9ec3" + "Expires" "1741763626" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1742030941&token=bc4e3f60a83842045a5672c570575e465a9ca113" + "Expires" "1742030941" + } + } + } + "735" + { + "CDN" + { + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1741752826-7015747874959121077-0-848fa335412ba809f83f2c7b5678af4f" + "Expires" "1741756426" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1732773188&token=9abe212012bc01512c20606f45dfd35a7c609644" + "Expires" "1732773188" + } + "dl.steam.clngaa.com" + { + "token" "?t=1742030942&k=16c244f9989606351535130ba1ffc066" + "Expires" "1742030942" + } + } + } + "731" + { + "CDN" + { + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1740711794&token=d199eb1ce41dbd9aa4818df2ae0d618ea195ff72" + "Expires" "1740711794" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1741752826-7115874193578946915-0-788d14083963c6a31cb042ef7fede8e0" + "Expires" "1741756426" + } + "dl.steam.clngaa.com" + { + "token" "?t=1742030941&k=548cd6559215e74fa1d7a02c3b1befdd" + "Expires" "1742030941" + } + } + } + "736" + { + "CDN" + { + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1731558341-6182020343655768032-0-62af55759c58a7209901e011e620bd82" + "Expires" "1731561941" + } + "dl.steam.clngaa.com" + { + "token" "?t=1741763626&k=811c467c813ee42cd36a0c142bdd1a00" + "Expires" "1741763626" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1742030942&token=1ac80f396e480cbe4634423881a09d6a9238159b" + "Expires" "1742030942" + } + } + } + "737" + { + "CDN" + { + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1732773189&token=0e38f8f2de52f96dc252529dc1982788b1fba3ac" + "Expires" "1732773189" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1741752827-8224561258982104579-0-cbdfb3f11ef6597c7f4cdfcdd3b16d03" + "Expires" "1741756427" + } + "dl.steam.clngaa.com" + { + "token" "?t=1742030942&k=f411ed516ed0f27003f506a030f5d5eb" + "Expires" "1742030942" + } + } + } + "738" + { + "CDN" + { + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1741795507-6931269623238379939-0-63d7189f8f967270506888009161bb54" + "Expires" "1741799107" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1742030942&token=bfb53e710345982757fffb36b31b300c84da207b" + "Expires" "1742030942" + } + "dl.steam.clngaa.com" + { + "token" "?t=1741763627&k=c4d52b70cf963609f8764434099c2d79" + "Expires" "1741763627" + } + } + } + "2347770" + { + "CDN" + { + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1742030943&token=b3bd4afd006455e8051552535ae8fce649d0d338" + "Expires" "1742030943" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1741795507-4649593336649906776-0-64b6a6ae964de582e53ebaa43f04f2ea" + "Expires" "1741799107" + } + "dl.steam.clngaa.com" + { + "token" "?t=1742030945&k=a803d6c3bd6d99296e808957e6c8e05a" + "Expires" "1742030945" + } + } + } + "2347779" + { + "CDN" + { + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1741795511-2364916250965319299-0-7ac1e365d0042b0fc22caf888865e39b" + "Expires" "1741799111" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1742030944&token=5ddc5a8e193f55137dc4594237fb7741e9936ad8" + "Expires" "1742030944" + } + "dl.steam.clngaa.com" + { + "token" "?t=1741763628&k=5c4d51955012aff379167a81b9e03dd3" + "Expires" "1741763628" + } + } + } + "2347771" + { + "CDN" + { + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1742030948&token=02b23986f2bdc9d59f2325c7d5665f5fe2471dcc" + "Expires" "1742030948" + } + "dl.steam.clngaa.com" + { + "token" "?t=1742030943&k=486e258c2d79b799d5a7b16395f0dbfa" + "Expires" "1742030943" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1741795509-7159746742528785006-0-078599af7812e43232c67b5b91591598" + "Expires" "1741799109" + } + } + } + "3097561" + { + "CDN" + { + "dl.steam.clngaa.com" + { + "token" "?t=1732773183&k=148cf35dff77e71e18c3833b6ad9b585" + "Expires" "1732773183" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1741809933&token=6f743018a78c9037126ce57c7f955231b4e5d1a5" + "Expires" "1741809933" + } + } + } + "1" + { + "CDN" + { + "dl.steam.clngaa.com" + { + "token" "?t=1732817735&k=aa690efc6dcd3f9eec3bf2b2fec036aa" + "Expires" "1732817735" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1732806945-2236317397039908214-0-7a575d5d80fc85d929927669c1e1e977" + "Expires" "1732810545" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1732817745&token=3e2f13304e98a8009e6ff06d0b84fa39067e02d9" + "Expires" "1732817745" + } + } + } + "3" + { + "CDN" + { + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1732817736&token=2efc00ba93b427c52a8054a9881db2eb83472bbd" + "Expires" "1732817736" + } + "dl.steam.clngaa.com" + { + "token" "?t=1732817770&k=d1d092cf77a6ec8ea1d2e4ed97dc33e9" + "Expires" "1732817770" + } + } + } + "2" + { + "CDN" + { + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1732806936-7780829432945790333-0-39e0a0ccf77205f173d6c226fe2c1b89" + "Expires" "1732810536" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1732817772&token=ead299d616e0357db194044f62c65cfe2d1a7da1" + "Expires" "1732817772" + } + "dl.steam.clngaa.com" + { + "token" "?t=1732817772&k=ca008c01a0388259d1d43a05c459a82d" + "Expires" "1732817772" + } + } + } + "77" + { + "CDN" + { + "dl.steam.clngaa.com" + { + "token" "?t=1732817736&k=425c6930b3cc877d4fbeeb7f2ccad2a3" + "Expires" "1732817736" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1732817779&token=6c9ab7668294b2e3c8b11c7a21d3993b435a70e8" + "Expires" "1732817779" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1732806979-8987735905651869476-0-5eaf0410bc73c84b891b8282e0da53aa" + "Expires" "1732810579" + } + } + } + "11" + { + "CDN" + { + "dl.steam.clngaa.com" + { + "token" "?t=1732817737&k=608a4387994d372268dbd62e1a9a5d54" + "Expires" "1732817737" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1732817788&token=599d16f05237d9d2b5c514e49c21f1230a03838b" + "Expires" "1732817788" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1732806988-5729555479297028810-0-afb34baf8fd1c7a4aa5fbd932cbad1fb" + "Expires" "1732810588" + } + } + } + "95" + { + "CDN" + { + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1732817738&token=53a0cfd07a4a15c5dbd9e62b648f61b07e530c2a" + "Expires" "1732817738" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1732807001-2365704775299085351-0-ddf04dd15a332107cabb4d0a16944d62" + "Expires" "1732810601" + } + "dl.steam.clngaa.com" + { + "token" "?t=1732817801&k=4c4ced8fb3b2b0c4eaf18b934126ecb0" + "Expires" "1732817801" + } + } + } + "17" + { + "CDN" + { + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1732806938-8863905137371698854-0-032df8f0b7a529ee549105e35944c894" + "Expires" "1732810538" + } + "dl.steam.clngaa.com" + { + "token" "?t=1732817824&k=a074227c3a38592d348f9c1d3b10c4d4" + "Expires" "1732817824" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1732817824&token=3edca1acc495f726f18066b25115b10362f9852b" + "Expires" "1732817824" + } + } + } + "1144201" + { + "CDN" + { + "dl.steam.clngaa.com" + { + "token" "?t=1735384923&k=03b126e65f4445bb750ace0b983cf803" + "Expires" "1735384923" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1740773411-2132845923395470335-0-83ed61c9a61b4d0d6a654d731b5e7b65" + "Expires" "1740777011" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1735385424&token=6a9e59b8c4ba0ba4acf0a5a1611cebceb6c08f62" + "Expires" "1735385424" + } + } + } + "223853" + { + "CDN" + { + "dl.steam.clngaa.com" + { + "token" "?t=1739454008&k=55f8ae31687e652e8098e0349329bc88" + "Expires" "1739454008" + } + } + } + "730" + { + "CDN" + { + "dl.steam.clngaa.com" + { + "token" "?t=1739821086&k=fd2fd5993817d39d0c71850fd7a25df8" + "Expires" "1739821086" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1739810288-4450735450043167096-0-3ad49377174e021259d34d338319528a" + "Expires" "1739813888" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1739821088&token=2258e70e876072f52b4a91e4159898f4b3416777" + "Expires" "1739821088" + } + } + } + "1030841" + { + "CDN" + { + "dl.steam.clngaa.com" + { + "token" "?t=1739823093&k=1db3c7e6143b454e21ac15c0fb6d037f" + "Expires" "1739823093" + } + "xz.pphimalayanrt.com" + { + "token" "?auth_key=1739812297-6056324081544814110-0-69aa9de2badb40a24a0cd6e64ff4417d" + "Expires" "1739815897" + } + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1739823097&token=98e22e10fb2c9d38ecdd4c81ee93966324a0584a" + "Expires" "1739823097" + } + } + } + "1523211" + { + "CDN" + { + "st.dl.eccdnx.com" + { + "token" "?expiration_time=1739823679&token=6bfe9051c85e3bbc3320f7cacfd9e86cb23d787a" + "Expires" "1739823679" + } + } + } + } + "apps" + { + "730" + { + "OverlayAppEnable" "1" + } + "1030840" + { + "OverlayAppEnable" "0" + } + } + "GameRecording" + { + "BackgroundRecordMode" "0" + } + "cache" + { + "cdk_268211603" "f71309b3dc79f2f7e438b0444cefd63ed254e2eb8d47f2005db000913f12089f5fe9fb2cfc8309400e131496198b5163159be07219aeaefa21d1d6308016e86d07fdee7c77e19c59955afa3f46f713db02a52ad3813a5a11ce806ac4506f383f1579cb5528af7ee4061b3939b5f4faefc944fdcb7c327ba10f2278248b1ba3929b19ddfade281a77a83fc568881af37ef692cab33f8d0dfa4393a2a0e11cc245518c7d0361a8afa443126d919ebafe6dab39010372f80835369fad8bd58268842714c9bfbb379626fbcebe133b1ee91d3c6cfde14f3aab7cba9ef8904d4445e9173cf575bff325d1b72653a537884ab5feeea880ccf0e7d95614de1eaa26d0159bd42ebcc98f1b89440b49895688f2975a1bdd713d536576616daa8e853120c89cb8fc8fb56569ca63a5cccffcfc5b3c275eee1c976bc1c8c8918e9431734b1a084df55e61ec6b0c43391b6e11142a00ac4a4abf1a920255a9d0bbd5c40735e1d16f1ff9c9bd3069aa2c48a2278a5c29f6306a7f87d79d8d8d8e1e18c92484789ed7b8bafa73a2097a272be7ff764911a3abc08eb6e6bad25dd57180d05014df3f5ba2241afc00e9649770354a6395c5fe4d956f2c8303534fc69384e9c73ab14ed69a1d4f63a3f355691e04d3b3b2153909c90640344f00165635dd6db4f12c0e3e3de0e5d0129000b765e59c2fe885ba925d6100d34fe374248bc918559408b737aee8820ca800441dd6546cfbe24ff43aaf919e9466e7894bf37a910c90cc" + } +} diff --git a/src-tauri/src/vdf/tests/loginusers.vdf b/src-tauri/src/vdf/tests/loginusers.vdf new file mode 100644 index 0000000..88684cd --- /dev/null +++ b/src-tauri/src/vdf/tests/loginusers.vdf @@ -0,0 +1,25 @@ +"users" +{ + "76561198315078806" + { + "AccountName" "_jerry_dota2" + "PersonaName" "Rop紫(已黑化)" + "RememberPassword" "1" + "WantsOfflineMode" "0" + "SkipOfflineModeWarning" "0" + "AllowAutoLogin" "1" + "MostRecent" "1" + "Timestamp" "1742706884" + } + "76561198107125441" + { + "AccountName" "_im_ai_" + "PersonaName" "Buongiorno" + "RememberPassword" "1" + "WantsOfflineMode" "0" + "SkipOfflineModeWarning" "0" + "AllowAutoLogin" "1" + "MostRecent" "0" + "Timestamp" "1739093763" + } +} diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 87c48c5..2e7d58a 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -42,9 +42,17 @@ }, "productName": "CS工具箱", "mainBinaryName": "cstb", - "version": "0.0.1", + "version": "0.0.4", "identifier": "upup.cool", - "plugins": {}, + "plugins": { + "deep-link": { + "desktop": { + "schemes": [ + "cstb" + ] + } + } + }, "app": { "macOSPrivateApi": true, "windows": [ @@ -69,4 +77,4 @@ "csp": null } } -} +} \ No newline at end of file diff --git a/src/app/(main)/console/cfgx/page.tsx b/src/app/(main)/console/cfgx/page.tsx index d1a56f1..38560f0 100644 --- a/src/app/(main)/console/cfgx/page.tsx +++ b/src/app/(main)/console/cfgx/page.tsx @@ -70,20 +70,20 @@ interface CfgxCardProps { function CfgxCard(props: CfgxCardProps) { return ( -
  • +
  • {props.title}

    - + {props.version} - + {props.author}
    -

    {props.description}

    +

    {props.description}

    {props.content} {props.alias_list && ( -

    +

    {props.alias_list.id} {props.alias_list.info} {props.alias_list.value}

    )} diff --git a/src/app/(main)/console/layout.tsx b/src/app/(main)/console/layout.tsx index 6189fbb..8ec77ed 100644 --- a/src/app/(main)/console/layout.tsx +++ b/src/app/(main)/console/layout.tsx @@ -11,7 +11,7 @@ export default function PreferenceLayout({ const pathname = usePathname() return ( - + { const fetchData = async () => { const sys = await allSysInfo() diff --git a/src/app/(main)/home/page.tsx b/src/app/(main)/home/page.tsx index 8a70f48..09c402d 100644 --- a/src/app/(main)/home/page.tsx +++ b/src/app/(main)/home/page.tsx @@ -7,7 +7,6 @@ import LaunchOption from "@/components/cstb/LaunchOption" import Notice from "@/components/cstb/Notice" import PowerPlan from "@/components/cstb/PowerPlan" import SmartTransfer from "@/components/cstb/SmartTranser" - const Home = () => { return (
    diff --git a/src/app/(main)/preference/general/page.tsx b/src/app/(main)/preference/general/page.tsx index 8f7bc65..83de0f2 100644 --- a/src/app/(main)/preference/general/page.tsx +++ b/src/app/(main)/preference/general/page.tsx @@ -1,18 +1,22 @@ "use client" -import { appStore } from "@/store/app" -import { useSnapshot } from "valtio" +import { useAppStore } from "@/store/app" +import { Switch } from "@heroui/react" export default function Page() { - void appStore.start() - const app = useSnapshot(appStore.state) + const app = useAppStore() return (
    -

    版本号:{app.version}

    -

    是否有更新:{app.hasUpdate ? "有" : "无"}

    -

    初始化:{app.inited ? "是" : "否"}

    -

    公告:{app.notice}

    -

    是否使用镜像源:{app.useMirror ? "是" : "否"}

    +

    版本号:{app.state.version}

    +

    是否有更新:{app.state.hasUpdate ? "有" : "无"}

    +

    是否使用镜像源:{app.state.useMirror ? "是" : "否"}

    + app.setAutoStart(e.target.checked)} + > + 开机自启动 {app.state.autoStart ? "开" : "关"} +
    ) } diff --git a/src/app/(main)/preference/layout.tsx b/src/app/(main)/preference/layout.tsx index 7e9958f..ec05683 100644 --- a/src/app/(main)/preference/layout.tsx +++ b/src/app/(main)/preference/layout.tsx @@ -25,26 +25,26 @@ export default function PreferenceLayout({ const pathname = usePathname() return ( - + router.push("/preference/general")} - className={cn(pathname === "/preference/general" && "bg-black/5")} + className={cn(pathname === "/preference/general" && "bg-black/5 dark:bg-white/5")} > 通用 router.push("/preference/path")} - className={cn(pathname === "/preference/path" && "bg-black/5")} + className={cn(pathname === "/preference/path" && "bg-black/5 dark:bg-white/5")} > 路径 router.push("/preference/replay")} - className={cn(pathname === "/preference/replay" && "bg-black/5")} + className={cn(pathname === "/preference/replay" && "bg-black/5 dark:bg-white/5")} > 录像 diff --git a/src/app/(main)/preference/path/page.tsx b/src/app/(main)/preference/path/page.tsx index 3af57bb..40d0d43 100644 --- a/src/app/(main)/preference/path/page.tsx +++ b/src/app/(main)/preference/path/page.tsx @@ -1,18 +1,16 @@ "use client" -import { currentUser, steamStore } from "@/store/steam" -import { useSnapshot } from "valtio" +import { useSteamStore } from "@/store/steam" export default function Page() { - void steamStore.start() - const steam = useSnapshot(steamStore.state) + const steam = useSteamStore() return (
    -

    Steam路径:{steam.dir}

    -

    游戏路径:{steam.csDir}

    -

    Steam路径有效:{steam.isDirValid ? "是" : "否"}

    -

    游戏路径有效:{steam.isCsDirValid ? "是" : "否"}

    -

    Steam账号:{currentUser().accountName}

    +

    Steam路径:{steam.state.steamDir}

    +

    游戏路径:{steam.state.cs2Dir}

    +

    Steam路径有效:{steam.state.steamDirValid ? "是" : "否"}

    +

    游戏路径有效:{steam.state.cs2DirValid ? "是" : "否"}

    +

    Steam账号:{steam.currentUser()?.account_name || " "}

    ) } diff --git a/src/app/(main)/tool/page.tsx b/src/app/(main)/tool/page.tsx index 894a47e..33b8ba1 100644 --- a/src/app/(main)/tool/page.tsx +++ b/src/app/(main)/tool/page.tsx @@ -1,4 +1,11 @@ "use client" + +import VideoSetting from "@/components/cstb/VideoSetting" + export default function Page() { - return
    Tool
    + return ( +
    + +
    + ) } diff --git a/src/app/(main)/users/layout.tsx b/src/app/(main)/users/layout.tsx new file mode 100644 index 0000000..d68f9e3 --- /dev/null +++ b/src/app/(main)/users/layout.tsx @@ -0,0 +1,48 @@ +"use client" +import SteamUsers from "@/components/cstb/SteamUsers" +// import { usePathname, useRouter } from "next/navigation" +// import { platform } from "@tauri-apps/plugin-os" + +export default function PreferenceLayout({ + children, +}: { children: React.ReactNode }) { + // const router = useRouter() + // const pathname = usePathname() + + return ( +
    + {/* + + router.push("/preference/general")} + className={cn(pathname === "/preference/general" && "bg-black/5")} + > + 通用 + + router.push("/preference/path")} + className={cn(pathname === "/preference/path" && "bg-black/5")} + > + 路径 + + + + + + 云同步 + + + + 保存 + + + + {children} + */} + {/* Steam用户区域 */} + +
    + ) +} diff --git a/src/app/layout.tsx b/src/app/layout.tsx index dae9ca6..db7e71d 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,12 +1,33 @@ -// "use client" +"use client" +import { useSteamStore } from "@/store/steam" +import { useEffect } from "react" import "./globals.css" import Providers from "./providers" +import { init } from "@/store" +import { useDebounce } from "ahooks" + +export default function RootLayout({ children }: { children: React.ReactNode }) { + useEffect(() => { + void init() + }) + + // 检测steam路径和游戏路径是否有效 + const steam = useSteamStore() + const debounceSteamDir = useDebounce(steam.state.steamDir, {wait: 500, leading: true, trailing: true, maxWait: 2500}) + const debounceCs2Dir = useDebounce(steam.state.cs2Dir, {wait: 500, leading: true, trailing: true, maxWait: 2500}) + const debounceSteamDirValid = useDebounce(steam.state.steamDirValid, {wait: 500, leading: true, trailing: true, maxWait: 2500}) + useEffect(() => { + void steam.checkSteamDirValid() + }, [debounceSteamDir]) + useEffect(() => { + void steam.checkCs2DirValid() + }, [debounceCs2Dir]) + useEffect(() => { + if (debounceSteamDirValid) { + void steam.getUsers() + } + }, [debounceSteamDirValid]) -export default function RootLayout({ - children, -}: { - children: React.ReactNode -}) { return ( diff --git a/src/app/page.tsx b/src/app/page.tsx index 9c09926..b27da4a 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,47 +1,26 @@ "use client" import Nav from "@/components/window/Nav" -import { Button } from "@heroui/react" -// import { open } from "@tauri-apps/plugin-dialog" -import { useRouter } from "next/navigation" -import React from "react" +import { Prepare } from "@/components/cstb/Prepare" +import { motion, AnimatePresence } from "framer-motion" const Home = () => { - const router = useRouter() - // const [file, setFile] = React.useState("") - - // const openFile = async () => { - // const filePath = await open({ - // multiple: true, - // directory: false, - // }) - - // setFile(filePath?.join("\n") || " ") - // } return ( <>