├── .github ├── FUNDING.yml └── workflows │ ├── build.yml │ └── rust_release.yml ├── .gitignore ├── .vscode └── extensions.json ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── README.md ├── assets └── icons │ ├── info.svg │ ├── logo.ico │ ├── logo.png │ ├── logo.svg │ ├── protected.svg │ └── unlocked.svg ├── build.rs ├── pv-unlocker.rc ├── src └── main.rs └── ui └── appwindow.slint /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | ko_fi: vadoola 3 | buy_me_a_coffee: vadoola 4 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | # .github/workflows/build.yml 2 | name: Build 3 | 4 | on: 5 | push: 6 | branches: [main] 7 | 8 | jobs: 9 | build: 10 | name: Build 11 | runs-on: ubuntu-latest 12 | #strategy: 13 | # fail-fast: false 14 | # matrix: 15 | # target: [x86_64-pc-windows-gnu, x86_64-unknown-linux-musl, x86_64-apple-darwin] 16 | steps: 17 | - uses: actions/checkout@master 18 | - name: Compile 19 | id: compile 20 | uses: rust-build/rust-build.action@v1.4.3 21 | with: 22 | #RUSTTARGET: x86_64-unknown-linux-musl 23 | RUSTTARGET: x86_64-pc-windows-gnu 24 | UPLOAD_MODE: none 25 | TOOLCHAIN_VERSION: stable 26 | - name: Upload artifact 27 | uses: actions/upload-artifact@v3 28 | with: 29 | name: Binary 30 | path: | 31 | ${{ steps.compile.outputs.BUILT_ARCHIVE }} 32 | ${{ steps.compile.outputs.BUILT_CHECKSUM }} -------------------------------------------------------------------------------- /.github/workflows/rust_release.yml: -------------------------------------------------------------------------------- 1 | # .github/workflows/release.yml 2 | 3 | on: 4 | release: 5 | types: [created] 6 | 7 | jobs: 8 | release: 9 | name: release ${{ matrix.target }} 10 | runs-on: ubuntu-latest 11 | strategy: 12 | fail-fast: false 13 | matrix: 14 | target: [x86_64-pc-windows-gnu, x86_64-unknown-linux-musl, x86_64-apple-darwin] 15 | steps: 16 | - uses: actions/checkout@master 17 | - name: Compile and release 18 | uses: rust-build/rust-build.action@v1.4.3 19 | env: 20 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 21 | with: 22 | RUSTTARGET: ${{ matrix.target }} 23 | EXTRA_FILES: "README.md LICENSE" 24 | TOOLCHAIN_VERSION: stable -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Generated by Cargo 2 | # will have compiled files and executables 3 | /target/ 4 | 5 | # These are backup files generated by rustfmt 6 | **/*.rs.bk 7 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "rust-lang.rust-analyzer", 4 | "vadimcn.vscode-lldb", 5 | "Slint.slint" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "ab_glyph" 7 | version = "0.2.22" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "b1061f3ff92c2f65800df1f12fc7b4ff44ee14783104187dd04dfee6f11b0fd2" 10 | dependencies = [ 11 | "ab_glyph_rasterizer", 12 | "owned_ttf_parser", 13 | ] 14 | 15 | [[package]] 16 | name = "ab_glyph_rasterizer" 17 | version = "0.1.8" 18 | source = "registry+https://github.com/rust-lang/crates.io-index" 19 | checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" 20 | 21 | [[package]] 22 | name = "ab_versions" 23 | version = "0.9.1" 24 | source = "git+https://github.com/Vadoola/ab_versions_rs.git#e69fb44ee8d43a5ee32d3c0f99d5b6fd1dd29c12" 25 | dependencies = [ 26 | "cfb", 27 | "rayon", 28 | "thiserror", 29 | ] 30 | 31 | [[package]] 32 | name = "accesskit" 33 | version = "0.11.2" 34 | source = "registry+https://github.com/rust-lang/crates.io-index" 35 | checksum = "76eb1adf08c5bcaa8490b9851fd53cca27fa9880076f178ea9d29f05196728a8" 36 | 37 | [[package]] 38 | name = "accesskit_consumer" 39 | version = "0.15.2" 40 | source = "registry+https://github.com/rust-lang/crates.io-index" 41 | checksum = "04bb4d9e4772fe0d47df57d0d5dbe5d85dd05e2f37ae1ddb6b105e76be58fb00" 42 | dependencies = [ 43 | "accesskit", 44 | ] 45 | 46 | [[package]] 47 | name = "accesskit_macos" 48 | version = "0.9.0" 49 | source = "registry+https://github.com/rust-lang/crates.io-index" 50 | checksum = "134d0acf6acb667c89d3332999b1a5df4edbc8d6113910f392ebb73f2b03bb56" 51 | dependencies = [ 52 | "accesskit", 53 | "accesskit_consumer", 54 | "objc2", 55 | "once_cell", 56 | ] 57 | 58 | [[package]] 59 | name = "accesskit_unix" 60 | version = "0.5.2" 61 | source = "registry+https://github.com/rust-lang/crates.io-index" 62 | checksum = "e084cb5168790c0c112626175412dc5ad127083441a8248ae49ddf6725519e83" 63 | dependencies = [ 64 | "accesskit", 65 | "accesskit_consumer", 66 | "async-channel", 67 | "atspi", 68 | "futures-lite", 69 | "serde", 70 | "zbus", 71 | ] 72 | 73 | [[package]] 74 | name = "accesskit_windows" 75 | version = "0.14.3" 76 | source = "registry+https://github.com/rust-lang/crates.io-index" 77 | checksum = "9eac0a7f2d7cd7a93b938af401d3d8e8b7094217989a7c25c55a953023436e31" 78 | dependencies = [ 79 | "accesskit", 80 | "accesskit_consumer", 81 | "arrayvec", 82 | "once_cell", 83 | "paste", 84 | "windows", 85 | ] 86 | 87 | [[package]] 88 | name = "accesskit_winit" 89 | version = "0.14.4" 90 | source = "registry+https://github.com/rust-lang/crates.io-index" 91 | checksum = "825d23acee1bd6d25cbaa3ca6ed6e73faf24122a774ec33d52c5c86c6ab423c0" 92 | dependencies = [ 93 | "accesskit", 94 | "accesskit_macos", 95 | "accesskit_unix", 96 | "accesskit_windows", 97 | "winit", 98 | ] 99 | 100 | [[package]] 101 | name = "adler" 102 | version = "1.0.2" 103 | source = "registry+https://github.com/rust-lang/crates.io-index" 104 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 105 | 106 | [[package]] 107 | name = "ahash" 108 | version = "0.8.3" 109 | source = "registry+https://github.com/rust-lang/crates.io-index" 110 | checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" 111 | dependencies = [ 112 | "cfg-if", 113 | "once_cell", 114 | "version_check", 115 | ] 116 | 117 | [[package]] 118 | name = "aho-corasick" 119 | version = "1.1.1" 120 | source = "registry+https://github.com/rust-lang/crates.io-index" 121 | checksum = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab" 122 | dependencies = [ 123 | "memchr", 124 | ] 125 | 126 | [[package]] 127 | name = "android-activity" 128 | version = "0.4.3" 129 | source = "registry+https://github.com/rust-lang/crates.io-index" 130 | checksum = "64529721f27c2314ced0890ce45e469574a73e5e6fdd6e9da1860eb29285f5e0" 131 | dependencies = [ 132 | "android-properties", 133 | "bitflags 1.3.2", 134 | "cc", 135 | "jni-sys", 136 | "libc", 137 | "log", 138 | "ndk", 139 | "ndk-context", 140 | "ndk-sys", 141 | "num_enum 0.6.1", 142 | ] 143 | 144 | [[package]] 145 | name = "android-properties" 146 | version = "0.2.2" 147 | source = "registry+https://github.com/rust-lang/crates.io-index" 148 | checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" 149 | 150 | [[package]] 151 | name = "anstream" 152 | version = "0.6.4" 153 | source = "registry+https://github.com/rust-lang/crates.io-index" 154 | checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" 155 | dependencies = [ 156 | "anstyle", 157 | "anstyle-parse", 158 | "anstyle-query", 159 | "anstyle-wincon", 160 | "colorchoice", 161 | "utf8parse", 162 | ] 163 | 164 | [[package]] 165 | name = "anstyle" 166 | version = "1.0.4" 167 | source = "registry+https://github.com/rust-lang/crates.io-index" 168 | checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" 169 | 170 | [[package]] 171 | name = "anstyle-parse" 172 | version = "0.2.2" 173 | source = "registry+https://github.com/rust-lang/crates.io-index" 174 | checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" 175 | dependencies = [ 176 | "utf8parse", 177 | ] 178 | 179 | [[package]] 180 | name = "anstyle-query" 181 | version = "1.0.0" 182 | source = "registry+https://github.com/rust-lang/crates.io-index" 183 | checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" 184 | dependencies = [ 185 | "windows-sys 0.48.0", 186 | ] 187 | 188 | [[package]] 189 | name = "anstyle-wincon" 190 | version = "3.0.1" 191 | source = "registry+https://github.com/rust-lang/crates.io-index" 192 | checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" 193 | dependencies = [ 194 | "anstyle", 195 | "windows-sys 0.48.0", 196 | ] 197 | 198 | [[package]] 199 | name = "arrayref" 200 | version = "0.3.7" 201 | source = "registry+https://github.com/rust-lang/crates.io-index" 202 | checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" 203 | 204 | [[package]] 205 | name = "arrayvec" 206 | version = "0.7.4" 207 | source = "registry+https://github.com/rust-lang/crates.io-index" 208 | checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" 209 | 210 | [[package]] 211 | name = "as-raw-xcb-connection" 212 | version = "1.0.0" 213 | source = "registry+https://github.com/rust-lang/crates.io-index" 214 | checksum = "2d5f312b0a56c5cdf967c0aeb67f6289603354951683bc97ddc595ab974ba9aa" 215 | 216 | [[package]] 217 | name = "ashpd" 218 | version = "0.6.2" 219 | source = "registry+https://github.com/rust-lang/crates.io-index" 220 | checksum = "f3affe251686bd936a0afb74b9693e8bf2f193d51da1b9a45d3f1303a9bd2cc7" 221 | dependencies = [ 222 | "async-std", 223 | "enumflags2", 224 | "futures-channel", 225 | "futures-util", 226 | "once_cell", 227 | "rand", 228 | "serde", 229 | "serde_repr", 230 | "url", 231 | "zbus", 232 | ] 233 | 234 | [[package]] 235 | name = "async-broadcast" 236 | version = "0.5.1" 237 | source = "registry+https://github.com/rust-lang/crates.io-index" 238 | checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" 239 | dependencies = [ 240 | "event-listener", 241 | "futures-core", 242 | ] 243 | 244 | [[package]] 245 | name = "async-channel" 246 | version = "1.9.0" 247 | source = "registry+https://github.com/rust-lang/crates.io-index" 248 | checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" 249 | dependencies = [ 250 | "concurrent-queue", 251 | "event-listener", 252 | "futures-core", 253 | ] 254 | 255 | [[package]] 256 | name = "async-executor" 257 | version = "1.5.4" 258 | source = "registry+https://github.com/rust-lang/crates.io-index" 259 | checksum = "2c1da3ae8dabd9c00f453a329dfe1fb28da3c0a72e2478cdcd93171740c20499" 260 | dependencies = [ 261 | "async-lock", 262 | "async-task", 263 | "concurrent-queue", 264 | "fastrand 2.0.1", 265 | "futures-lite", 266 | "slab", 267 | ] 268 | 269 | [[package]] 270 | name = "async-fs" 271 | version = "1.6.0" 272 | source = "registry+https://github.com/rust-lang/crates.io-index" 273 | checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" 274 | dependencies = [ 275 | "async-lock", 276 | "autocfg", 277 | "blocking", 278 | "futures-lite", 279 | ] 280 | 281 | [[package]] 282 | name = "async-global-executor" 283 | version = "2.3.1" 284 | source = "registry+https://github.com/rust-lang/crates.io-index" 285 | checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776" 286 | dependencies = [ 287 | "async-channel", 288 | "async-executor", 289 | "async-io", 290 | "async-lock", 291 | "blocking", 292 | "futures-lite", 293 | "once_cell", 294 | ] 295 | 296 | [[package]] 297 | name = "async-io" 298 | version = "1.13.0" 299 | source = "registry+https://github.com/rust-lang/crates.io-index" 300 | checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" 301 | dependencies = [ 302 | "async-lock", 303 | "autocfg", 304 | "cfg-if", 305 | "concurrent-queue", 306 | "futures-lite", 307 | "log", 308 | "parking", 309 | "polling", 310 | "rustix 0.37.27", 311 | "slab", 312 | "socket2", 313 | "waker-fn", 314 | ] 315 | 316 | [[package]] 317 | name = "async-lock" 318 | version = "2.8.0" 319 | source = "registry+https://github.com/rust-lang/crates.io-index" 320 | checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" 321 | dependencies = [ 322 | "event-listener", 323 | ] 324 | 325 | [[package]] 326 | name = "async-process" 327 | version = "1.7.0" 328 | source = "registry+https://github.com/rust-lang/crates.io-index" 329 | checksum = "7a9d28b1d97e08915212e2e45310d47854eafa69600756fc735fb788f75199c9" 330 | dependencies = [ 331 | "async-io", 332 | "async-lock", 333 | "autocfg", 334 | "blocking", 335 | "cfg-if", 336 | "event-listener", 337 | "futures-lite", 338 | "rustix 0.37.27", 339 | "signal-hook", 340 | "windows-sys 0.48.0", 341 | ] 342 | 343 | [[package]] 344 | name = "async-recursion" 345 | version = "1.0.5" 346 | source = "registry+https://github.com/rust-lang/crates.io-index" 347 | checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" 348 | dependencies = [ 349 | "proc-macro2", 350 | "quote", 351 | "syn 2.0.38", 352 | ] 353 | 354 | [[package]] 355 | name = "async-std" 356 | version = "1.12.0" 357 | source = "registry+https://github.com/rust-lang/crates.io-index" 358 | checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d" 359 | dependencies = [ 360 | "async-channel", 361 | "async-global-executor", 362 | "async-io", 363 | "async-lock", 364 | "crossbeam-utils", 365 | "futures-channel", 366 | "futures-core", 367 | "futures-io", 368 | "futures-lite", 369 | "gloo-timers", 370 | "kv-log-macro", 371 | "log", 372 | "memchr", 373 | "once_cell", 374 | "pin-project-lite", 375 | "pin-utils", 376 | "slab", 377 | "wasm-bindgen-futures", 378 | ] 379 | 380 | [[package]] 381 | name = "async-task" 382 | version = "4.4.1" 383 | source = "registry+https://github.com/rust-lang/crates.io-index" 384 | checksum = "b9441c6b2fe128a7c2bf680a44c34d0df31ce09e5b7e401fcca3faa483dbc921" 385 | 386 | [[package]] 387 | name = "async-trait" 388 | version = "0.1.73" 389 | source = "registry+https://github.com/rust-lang/crates.io-index" 390 | checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" 391 | dependencies = [ 392 | "proc-macro2", 393 | "quote", 394 | "syn 2.0.38", 395 | ] 396 | 397 | [[package]] 398 | name = "atomic-polyfill" 399 | version = "1.0.3" 400 | source = "registry+https://github.com/rust-lang/crates.io-index" 401 | checksum = "8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4" 402 | dependencies = [ 403 | "critical-section", 404 | ] 405 | 406 | [[package]] 407 | name = "atomic-waker" 408 | version = "1.1.2" 409 | source = "registry+https://github.com/rust-lang/crates.io-index" 410 | checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" 411 | 412 | [[package]] 413 | name = "atspi" 414 | version = "0.10.1" 415 | source = "registry+https://github.com/rust-lang/crates.io-index" 416 | checksum = "674e7a3376837b2e7d12d34d58ac47073c491dc3bf6f71a7adaf687d4d817faa" 417 | dependencies = [ 418 | "async-recursion", 419 | "async-trait", 420 | "atspi-macros", 421 | "enumflags2", 422 | "futures-lite", 423 | "serde", 424 | "tracing", 425 | "zbus", 426 | "zbus_names", 427 | ] 428 | 429 | [[package]] 430 | name = "atspi-macros" 431 | version = "0.2.0" 432 | source = "registry+https://github.com/rust-lang/crates.io-index" 433 | checksum = "97fb4870a32c0eaa17e35bca0e6b16020635157121fb7d45593d242c295bc768" 434 | dependencies = [ 435 | "quote", 436 | "syn 1.0.109", 437 | ] 438 | 439 | [[package]] 440 | name = "auto_enums" 441 | version = "0.8.2" 442 | source = "registry+https://github.com/rust-lang/crates.io-index" 443 | checksum = "dd4ba50b181a898ce52142184e3a46641002b3b190bf5ef827eb3c578fad4b70" 444 | dependencies = [ 445 | "derive_utils", 446 | "proc-macro2", 447 | "quote", 448 | "syn 2.0.38", 449 | ] 450 | 451 | [[package]] 452 | name = "autocfg" 453 | version = "1.1.0" 454 | source = "registry+https://github.com/rust-lang/crates.io-index" 455 | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" 456 | 457 | [[package]] 458 | name = "base64" 459 | version = "0.21.4" 460 | source = "registry+https://github.com/rust-lang/crates.io-index" 461 | checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" 462 | 463 | [[package]] 464 | name = "bindgen" 465 | version = "0.68.1" 466 | source = "registry+https://github.com/rust-lang/crates.io-index" 467 | checksum = "726e4313eb6ec35d2730258ad4e15b547ee75d6afaa1361a922e78e59b7d8078" 468 | dependencies = [ 469 | "bitflags 2.4.0", 470 | "cexpr", 471 | "clang-sys", 472 | "lazy_static", 473 | "lazycell", 474 | "log", 475 | "peeking_take_while", 476 | "prettyplease", 477 | "proc-macro2", 478 | "quote", 479 | "regex", 480 | "rustc-hash", 481 | "shlex", 482 | "syn 2.0.38", 483 | "which", 484 | ] 485 | 486 | [[package]] 487 | name = "bit_field" 488 | version = "0.10.2" 489 | source = "registry+https://github.com/rust-lang/crates.io-index" 490 | checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" 491 | 492 | [[package]] 493 | name = "bitflags" 494 | version = "1.3.2" 495 | source = "registry+https://github.com/rust-lang/crates.io-index" 496 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 497 | 498 | [[package]] 499 | name = "bitflags" 500 | version = "2.4.0" 501 | source = "registry+https://github.com/rust-lang/crates.io-index" 502 | checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" 503 | 504 | [[package]] 505 | name = "block" 506 | version = "0.1.6" 507 | source = "registry+https://github.com/rust-lang/crates.io-index" 508 | checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" 509 | 510 | [[package]] 511 | name = "block-buffer" 512 | version = "0.10.4" 513 | source = "registry+https://github.com/rust-lang/crates.io-index" 514 | checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" 515 | dependencies = [ 516 | "generic-array", 517 | ] 518 | 519 | [[package]] 520 | name = "block-sys" 521 | version = "0.1.0-beta.1" 522 | source = "registry+https://github.com/rust-lang/crates.io-index" 523 | checksum = "0fa55741ee90902547802152aaf3f8e5248aab7e21468089560d4c8840561146" 524 | dependencies = [ 525 | "objc-sys", 526 | ] 527 | 528 | [[package]] 529 | name = "block2" 530 | version = "0.2.0-alpha.6" 531 | source = "registry+https://github.com/rust-lang/crates.io-index" 532 | checksum = "8dd9e63c1744f755c2f60332b88de39d341e5e86239014ad839bd71c106dec42" 533 | dependencies = [ 534 | "block-sys", 535 | "objc2-encode", 536 | ] 537 | 538 | [[package]] 539 | name = "blocking" 540 | version = "1.4.0" 541 | source = "registry+https://github.com/rust-lang/crates.io-index" 542 | checksum = "94c4ef1f913d78636d78d538eec1f18de81e481f44b1be0a81060090530846e1" 543 | dependencies = [ 544 | "async-channel", 545 | "async-lock", 546 | "async-task", 547 | "fastrand 2.0.1", 548 | "futures-io", 549 | "futures-lite", 550 | "piper", 551 | "tracing", 552 | ] 553 | 554 | [[package]] 555 | name = "bumpalo" 556 | version = "3.14.0" 557 | source = "registry+https://github.com/rust-lang/crates.io-index" 558 | checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" 559 | 560 | [[package]] 561 | name = "by_address" 562 | version = "1.1.0" 563 | source = "registry+https://github.com/rust-lang/crates.io-index" 564 | checksum = "bf8dba2868114ed769a1f2590fc9ae5eb331175b44313b6c9b922f8f7ca813d0" 565 | 566 | [[package]] 567 | name = "bytemuck" 568 | version = "1.14.0" 569 | source = "registry+https://github.com/rust-lang/crates.io-index" 570 | checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" 571 | dependencies = [ 572 | "bytemuck_derive", 573 | ] 574 | 575 | [[package]] 576 | name = "bytemuck_derive" 577 | version = "1.5.0" 578 | source = "registry+https://github.com/rust-lang/crates.io-index" 579 | checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1" 580 | dependencies = [ 581 | "proc-macro2", 582 | "quote", 583 | "syn 2.0.38", 584 | ] 585 | 586 | [[package]] 587 | name = "byteorder" 588 | version = "1.5.0" 589 | source = "registry+https://github.com/rust-lang/crates.io-index" 590 | checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" 591 | 592 | [[package]] 593 | name = "calloop" 594 | version = "0.10.6" 595 | source = "registry+https://github.com/rust-lang/crates.io-index" 596 | checksum = "52e0d00eb1ea24371a97d2da6201c6747a633dc6dc1988ef503403b4c59504a8" 597 | dependencies = [ 598 | "bitflags 1.3.2", 599 | "log", 600 | "nix 0.25.1", 601 | "slotmap", 602 | "thiserror", 603 | "vec_map", 604 | ] 605 | 606 | [[package]] 607 | name = "calloop" 608 | version = "0.11.0" 609 | source = "registry+https://github.com/rust-lang/crates.io-index" 610 | checksum = "dea4bfce4c7fbd71e5bb8a7063b6cc7eed48c6d29ee9a08332a59e5d9d93e5c4" 611 | dependencies = [ 612 | "bitflags 1.3.2", 613 | "io-lifetimes", 614 | "log", 615 | "nix 0.26.4", 616 | "polling", 617 | "slab", 618 | "thiserror", 619 | ] 620 | 621 | [[package]] 622 | name = "cc" 623 | version = "1.0.83" 624 | source = "registry+https://github.com/rust-lang/crates.io-index" 625 | checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" 626 | dependencies = [ 627 | "jobserver", 628 | "libc", 629 | ] 630 | 631 | [[package]] 632 | name = "cexpr" 633 | version = "0.6.0" 634 | source = "registry+https://github.com/rust-lang/crates.io-index" 635 | checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" 636 | dependencies = [ 637 | "nom", 638 | ] 639 | 640 | [[package]] 641 | name = "cfb" 642 | version = "0.8.1" 643 | source = "registry+https://github.com/rust-lang/crates.io-index" 644 | checksum = "f3d9a1a046ad1c0410627f29da8dbdeee2c91fb046d0aed5381e5b558bcf3230" 645 | dependencies = [ 646 | "byteorder", 647 | "fnv", 648 | "uuid", 649 | ] 650 | 651 | [[package]] 652 | name = "cfg-if" 653 | version = "1.0.0" 654 | source = "registry+https://github.com/rust-lang/crates.io-index" 655 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 656 | 657 | [[package]] 658 | name = "cfg_aliases" 659 | version = "0.1.1" 660 | source = "registry+https://github.com/rust-lang/crates.io-index" 661 | checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" 662 | 663 | [[package]] 664 | name = "cgl" 665 | version = "0.3.2" 666 | source = "registry+https://github.com/rust-lang/crates.io-index" 667 | checksum = "0ced0551234e87afee12411d535648dd89d2e7f34c78b753395567aff3d447ff" 668 | dependencies = [ 669 | "libc", 670 | ] 671 | 672 | [[package]] 673 | name = "clang-sys" 674 | version = "1.6.1" 675 | source = "registry+https://github.com/rust-lang/crates.io-index" 676 | checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" 677 | dependencies = [ 678 | "glob", 679 | "libc", 680 | "libloading 0.7.4", 681 | ] 682 | 683 | [[package]] 684 | name = "clap" 685 | version = "4.4.6" 686 | source = "registry+https://github.com/rust-lang/crates.io-index" 687 | checksum = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956" 688 | dependencies = [ 689 | "clap_builder", 690 | "clap_derive", 691 | ] 692 | 693 | [[package]] 694 | name = "clap_builder" 695 | version = "4.4.6" 696 | source = "registry+https://github.com/rust-lang/crates.io-index" 697 | checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45" 698 | dependencies = [ 699 | "anstream", 700 | "anstyle", 701 | "clap_lex", 702 | "strsim", 703 | ] 704 | 705 | [[package]] 706 | name = "clap_derive" 707 | version = "4.4.2" 708 | source = "registry+https://github.com/rust-lang/crates.io-index" 709 | checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873" 710 | dependencies = [ 711 | "heck", 712 | "proc-macro2", 713 | "quote", 714 | "syn 2.0.38", 715 | ] 716 | 717 | [[package]] 718 | name = "clap_lex" 719 | version = "0.5.1" 720 | source = "registry+https://github.com/rust-lang/crates.io-index" 721 | checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961" 722 | 723 | [[package]] 724 | name = "clipboard-win" 725 | version = "3.1.1" 726 | source = "registry+https://github.com/rust-lang/crates.io-index" 727 | checksum = "9fdf5e01086b6be750428ba4a40619f847eb2e95756eee84b18e06e5f0b50342" 728 | dependencies = [ 729 | "lazy-bytes-cast", 730 | "winapi", 731 | ] 732 | 733 | [[package]] 734 | name = "clru" 735 | version = "0.6.1" 736 | source = "registry+https://github.com/rust-lang/crates.io-index" 737 | checksum = "b8191fa7302e03607ff0e237d4246cc043ff5b3cb9409d995172ba3bea16b807" 738 | 739 | [[package]] 740 | name = "cocoa" 741 | version = "0.24.1" 742 | source = "registry+https://github.com/rust-lang/crates.io-index" 743 | checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a" 744 | dependencies = [ 745 | "bitflags 1.3.2", 746 | "block", 747 | "cocoa-foundation", 748 | "core-foundation", 749 | "core-graphics 0.22.3", 750 | "foreign-types 0.3.2", 751 | "libc", 752 | "objc", 753 | ] 754 | 755 | [[package]] 756 | name = "cocoa" 757 | version = "0.25.0" 758 | source = "registry+https://github.com/rust-lang/crates.io-index" 759 | checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c" 760 | dependencies = [ 761 | "bitflags 1.3.2", 762 | "block", 763 | "cocoa-foundation", 764 | "core-foundation", 765 | "core-graphics 0.23.1", 766 | "foreign-types 0.5.0", 767 | "libc", 768 | "objc", 769 | ] 770 | 771 | [[package]] 772 | name = "cocoa-foundation" 773 | version = "0.1.2" 774 | source = "registry+https://github.com/rust-lang/crates.io-index" 775 | checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" 776 | dependencies = [ 777 | "bitflags 1.3.2", 778 | "block", 779 | "core-foundation", 780 | "core-graphics-types", 781 | "libc", 782 | "objc", 783 | ] 784 | 785 | [[package]] 786 | name = "codemap" 787 | version = "0.1.3" 788 | source = "registry+https://github.com/rust-lang/crates.io-index" 789 | checksum = "b9e769b5c8c8283982a987c6e948e540254f1058d5a74b8794914d4ef5fc2a24" 790 | 791 | [[package]] 792 | name = "codemap-diagnostic" 793 | version = "0.1.2" 794 | source = "registry+https://github.com/rust-lang/crates.io-index" 795 | checksum = "cc20770be05b566a963bf91505e60412c4a2d016d1ef95c5512823bb085a8122" 796 | dependencies = [ 797 | "codemap", 798 | "termcolor", 799 | ] 800 | 801 | [[package]] 802 | name = "color_quant" 803 | version = "1.1.0" 804 | source = "registry+https://github.com/rust-lang/crates.io-index" 805 | checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" 806 | 807 | [[package]] 808 | name = "colorchoice" 809 | version = "1.0.0" 810 | source = "registry+https://github.com/rust-lang/crates.io-index" 811 | checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" 812 | 813 | [[package]] 814 | name = "concat-string" 815 | version = "1.0.1" 816 | source = "registry+https://github.com/rust-lang/crates.io-index" 817 | checksum = "7439becb5fafc780b6f4de382b1a7a3e70234afe783854a4702ee8adbb838609" 818 | 819 | [[package]] 820 | name = "concurrent-queue" 821 | version = "2.3.0" 822 | source = "registry+https://github.com/rust-lang/crates.io-index" 823 | checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400" 824 | dependencies = [ 825 | "crossbeam-utils", 826 | ] 827 | 828 | [[package]] 829 | name = "const-field-offset" 830 | version = "0.1.3" 831 | source = "registry+https://github.com/rust-lang/crates.io-index" 832 | checksum = "6304465f16f463cddc572b737c3df93576edd3a6b53f057bd8beeb29f4ef8dfd" 833 | dependencies = [ 834 | "const-field-offset-macro", 835 | "field-offset", 836 | ] 837 | 838 | [[package]] 839 | name = "const-field-offset-macro" 840 | version = "0.1.3" 841 | source = "registry+https://github.com/rust-lang/crates.io-index" 842 | checksum = "57aaaad9185d3bcb3afe63549d8ba60b2fb0ea8dc2da83f62dd56805edf56fd1" 843 | dependencies = [ 844 | "proc-macro2", 845 | "quote", 846 | "syn 2.0.38", 847 | ] 848 | 849 | [[package]] 850 | name = "convert_case" 851 | version = "0.4.0" 852 | source = "registry+https://github.com/rust-lang/crates.io-index" 853 | checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" 854 | 855 | [[package]] 856 | name = "copypasta" 857 | version = "0.8.2" 858 | source = "registry+https://github.com/rust-lang/crates.io-index" 859 | checksum = "133fc8675ee3a4ec9aa513584deda9aa0faeda3586b87f7f0f2ba082c66fb172" 860 | dependencies = [ 861 | "clipboard-win", 862 | "objc", 863 | "objc-foundation", 864 | "objc_id", 865 | "smithay-clipboard", 866 | "x11-clipboard", 867 | ] 868 | 869 | [[package]] 870 | name = "core-foundation" 871 | version = "0.9.3" 872 | source = "registry+https://github.com/rust-lang/crates.io-index" 873 | checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" 874 | dependencies = [ 875 | "core-foundation-sys", 876 | "libc", 877 | ] 878 | 879 | [[package]] 880 | name = "core-foundation-sys" 881 | version = "0.8.4" 882 | source = "registry+https://github.com/rust-lang/crates.io-index" 883 | checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" 884 | 885 | [[package]] 886 | name = "core-graphics" 887 | version = "0.22.3" 888 | source = "registry+https://github.com/rust-lang/crates.io-index" 889 | checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" 890 | dependencies = [ 891 | "bitflags 1.3.2", 892 | "core-foundation", 893 | "core-graphics-types", 894 | "foreign-types 0.3.2", 895 | "libc", 896 | ] 897 | 898 | [[package]] 899 | name = "core-graphics" 900 | version = "0.23.1" 901 | source = "registry+https://github.com/rust-lang/crates.io-index" 902 | checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212" 903 | dependencies = [ 904 | "bitflags 1.3.2", 905 | "core-foundation", 906 | "core-graphics-types", 907 | "foreign-types 0.5.0", 908 | "libc", 909 | ] 910 | 911 | [[package]] 912 | name = "core-graphics-types" 913 | version = "0.1.2" 914 | source = "registry+https://github.com/rust-lang/crates.io-index" 915 | checksum = "2bb142d41022986c1d8ff29103a1411c8a3dfad3552f87a4f8dc50d61d4f4e33" 916 | dependencies = [ 917 | "bitflags 1.3.2", 918 | "core-foundation", 919 | "libc", 920 | ] 921 | 922 | [[package]] 923 | name = "core-text" 924 | version = "19.2.0" 925 | source = "registry+https://github.com/rust-lang/crates.io-index" 926 | checksum = "99d74ada66e07c1cefa18f8abfba765b486f250de2e4a999e5727fc0dd4b4a25" 927 | dependencies = [ 928 | "core-foundation", 929 | "core-graphics 0.22.3", 930 | "foreign-types 0.3.2", 931 | "libc", 932 | ] 933 | 934 | [[package]] 935 | name = "countme" 936 | version = "3.0.1" 937 | source = "registry+https://github.com/rust-lang/crates.io-index" 938 | checksum = "7704b5fdd17b18ae31c4c1da5a2e0305a2bf17b5249300a9ee9ed7b72114c636" 939 | 940 | [[package]] 941 | name = "cpp" 942 | version = "0.5.9" 943 | source = "registry+https://github.com/rust-lang/crates.io-index" 944 | checksum = "bfa65869ef853e45c60e9828aa08cdd1398cb6e13f3911d9cb2a079b144fcd64" 945 | dependencies = [ 946 | "cpp_macros", 947 | ] 948 | 949 | [[package]] 950 | name = "cpp_build" 951 | version = "0.5.9" 952 | source = "registry+https://github.com/rust-lang/crates.io-index" 953 | checksum = "0e361fae2caf9758164b24da3eedd7f7d7451be30d90d8e7b5d2be29a2f0cf5b" 954 | dependencies = [ 955 | "cc", 956 | "cpp_common", 957 | "lazy_static", 958 | "proc-macro2", 959 | "regex", 960 | "syn 2.0.38", 961 | "unicode-xid", 962 | ] 963 | 964 | [[package]] 965 | name = "cpp_common" 966 | version = "0.5.9" 967 | source = "registry+https://github.com/rust-lang/crates.io-index" 968 | checksum = "3e1a2532e4ed4ea13031c13bc7bc0dbca4aae32df48e9d77f0d1e743179f2ea1" 969 | dependencies = [ 970 | "lazy_static", 971 | "proc-macro2", 972 | "syn 2.0.38", 973 | ] 974 | 975 | [[package]] 976 | name = "cpp_macros" 977 | version = "0.5.9" 978 | source = "registry+https://github.com/rust-lang/crates.io-index" 979 | checksum = "47ec9cc90633446f779ef481a9ce5a0077107dd5b87016440448d908625a83fd" 980 | dependencies = [ 981 | "aho-corasick", 982 | "byteorder", 983 | "cpp_common", 984 | "lazy_static", 985 | "proc-macro2", 986 | "quote", 987 | "syn 2.0.38", 988 | ] 989 | 990 | [[package]] 991 | name = "cpufeatures" 992 | version = "0.2.9" 993 | source = "registry+https://github.com/rust-lang/crates.io-index" 994 | checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" 995 | dependencies = [ 996 | "libc", 997 | ] 998 | 999 | [[package]] 1000 | name = "crc32fast" 1001 | version = "1.3.2" 1002 | source = "registry+https://github.com/rust-lang/crates.io-index" 1003 | checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" 1004 | dependencies = [ 1005 | "cfg-if", 1006 | ] 1007 | 1008 | [[package]] 1009 | name = "critical-section" 1010 | version = "1.1.2" 1011 | source = "registry+https://github.com/rust-lang/crates.io-index" 1012 | checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216" 1013 | 1014 | [[package]] 1015 | name = "crossbeam-deque" 1016 | version = "0.8.3" 1017 | source = "registry+https://github.com/rust-lang/crates.io-index" 1018 | checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" 1019 | dependencies = [ 1020 | "cfg-if", 1021 | "crossbeam-epoch", 1022 | "crossbeam-utils", 1023 | ] 1024 | 1025 | [[package]] 1026 | name = "crossbeam-epoch" 1027 | version = "0.9.15" 1028 | source = "registry+https://github.com/rust-lang/crates.io-index" 1029 | checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" 1030 | dependencies = [ 1031 | "autocfg", 1032 | "cfg-if", 1033 | "crossbeam-utils", 1034 | "memoffset 0.9.0", 1035 | "scopeguard", 1036 | ] 1037 | 1038 | [[package]] 1039 | name = "crossbeam-utils" 1040 | version = "0.8.16" 1041 | source = "registry+https://github.com/rust-lang/crates.io-index" 1042 | checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" 1043 | dependencies = [ 1044 | "cfg-if", 1045 | ] 1046 | 1047 | [[package]] 1048 | name = "crunchy" 1049 | version = "0.2.2" 1050 | source = "registry+https://github.com/rust-lang/crates.io-index" 1051 | checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" 1052 | 1053 | [[package]] 1054 | name = "crypto-common" 1055 | version = "0.1.6" 1056 | source = "registry+https://github.com/rust-lang/crates.io-index" 1057 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 1058 | dependencies = [ 1059 | "generic-array", 1060 | "typenum", 1061 | ] 1062 | 1063 | [[package]] 1064 | name = "css-color-parser2" 1065 | version = "1.0.1" 1066 | source = "registry+https://github.com/rust-lang/crates.io-index" 1067 | checksum = "cf8ed1639f4b56ec6f31d007ff66ce4a13099dce5a9995d48368a30d62bf04bd" 1068 | dependencies = [ 1069 | "lazy_static", 1070 | ] 1071 | 1072 | [[package]] 1073 | name = "ctor" 1074 | version = "0.2.5" 1075 | source = "registry+https://github.com/rust-lang/crates.io-index" 1076 | checksum = "37e366bff8cd32dd8754b0991fb66b279dc48f598c3a18914852a6673deef583" 1077 | dependencies = [ 1078 | "quote", 1079 | "syn 2.0.38", 1080 | ] 1081 | 1082 | [[package]] 1083 | name = "data-url" 1084 | version = "0.2.0" 1085 | source = "registry+https://github.com/rust-lang/crates.io-index" 1086 | checksum = "8d7439c3735f405729d52c3fbbe4de140eaf938a1fe47d227c27f8254d4302a5" 1087 | 1088 | [[package]] 1089 | name = "deranged" 1090 | version = "0.3.8" 1091 | source = "registry+https://github.com/rust-lang/crates.io-index" 1092 | checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" 1093 | 1094 | [[package]] 1095 | name = "derivative" 1096 | version = "2.2.0" 1097 | source = "registry+https://github.com/rust-lang/crates.io-index" 1098 | checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" 1099 | dependencies = [ 1100 | "proc-macro2", 1101 | "quote", 1102 | "syn 1.0.109", 1103 | ] 1104 | 1105 | [[package]] 1106 | name = "derive_more" 1107 | version = "0.99.17" 1108 | source = "registry+https://github.com/rust-lang/crates.io-index" 1109 | checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" 1110 | dependencies = [ 1111 | "convert_case", 1112 | "proc-macro2", 1113 | "quote", 1114 | "rustc_version", 1115 | "syn 1.0.109", 1116 | ] 1117 | 1118 | [[package]] 1119 | name = "derive_utils" 1120 | version = "0.13.2" 1121 | source = "registry+https://github.com/rust-lang/crates.io-index" 1122 | checksum = "9abcad25e9720609ccb3dcdb795d845e37d8ce34183330a9f48b03a1a71c8e21" 1123 | dependencies = [ 1124 | "proc-macro2", 1125 | "quote", 1126 | "syn 2.0.38", 1127 | ] 1128 | 1129 | [[package]] 1130 | name = "digest" 1131 | version = "0.10.7" 1132 | source = "registry+https://github.com/rust-lang/crates.io-index" 1133 | checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" 1134 | dependencies = [ 1135 | "block-buffer", 1136 | "crypto-common", 1137 | ] 1138 | 1139 | [[package]] 1140 | name = "dispatch" 1141 | version = "0.2.0" 1142 | source = "registry+https://github.com/rust-lang/crates.io-index" 1143 | checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" 1144 | 1145 | [[package]] 1146 | name = "dlib" 1147 | version = "0.5.2" 1148 | source = "registry+https://github.com/rust-lang/crates.io-index" 1149 | checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" 1150 | dependencies = [ 1151 | "libloading 0.8.1", 1152 | ] 1153 | 1154 | [[package]] 1155 | name = "downcast-rs" 1156 | version = "1.2.0" 1157 | source = "registry+https://github.com/rust-lang/crates.io-index" 1158 | checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" 1159 | 1160 | [[package]] 1161 | name = "drm" 1162 | version = "0.9.0" 1163 | source = "registry+https://github.com/rust-lang/crates.io-index" 1164 | checksum = "edf9159ef4bcecd0c5e4cbeb573b8d0037493403d542780dba5d840bbf9df56f" 1165 | dependencies = [ 1166 | "bitflags 1.3.2", 1167 | "bytemuck", 1168 | "drm-ffi", 1169 | "drm-fourcc", 1170 | "nix 0.26.4", 1171 | ] 1172 | 1173 | [[package]] 1174 | name = "drm-ffi" 1175 | version = "0.5.0" 1176 | source = "registry+https://github.com/rust-lang/crates.io-index" 1177 | checksum = "1352481b7b90e27a8a1bf8ef6b33cf18b98dba7c410e75c24bb3eef2f0d8d525" 1178 | dependencies = [ 1179 | "drm-sys", 1180 | "nix 0.26.4", 1181 | ] 1182 | 1183 | [[package]] 1184 | name = "drm-fourcc" 1185 | version = "2.2.0" 1186 | source = "registry+https://github.com/rust-lang/crates.io-index" 1187 | checksum = "0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4" 1188 | 1189 | [[package]] 1190 | name = "drm-sys" 1191 | version = "0.4.0" 1192 | source = "registry+https://github.com/rust-lang/crates.io-index" 1193 | checksum = "1369f1679d6b706d234c4c1e0613c415c2c74b598a09ad28080ba2474b72e42d" 1194 | dependencies = [ 1195 | "libc", 1196 | ] 1197 | 1198 | [[package]] 1199 | name = "dunce" 1200 | version = "1.0.4" 1201 | source = "registry+https://github.com/rust-lang/crates.io-index" 1202 | checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" 1203 | 1204 | [[package]] 1205 | name = "dwrote" 1206 | version = "0.11.0" 1207 | source = "registry+https://github.com/rust-lang/crates.io-index" 1208 | checksum = "439a1c2ba5611ad3ed731280541d36d2e9c4ac5e7fb818a27b604bdc5a6aa65b" 1209 | dependencies = [ 1210 | "lazy_static", 1211 | "libc", 1212 | "serde", 1213 | "serde_derive", 1214 | "winapi", 1215 | "wio", 1216 | ] 1217 | 1218 | [[package]] 1219 | name = "either" 1220 | version = "1.9.0" 1221 | source = "registry+https://github.com/rust-lang/crates.io-index" 1222 | checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" 1223 | 1224 | [[package]] 1225 | name = "enumflags2" 1226 | version = "0.7.8" 1227 | source = "registry+https://github.com/rust-lang/crates.io-index" 1228 | checksum = "5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939" 1229 | dependencies = [ 1230 | "enumflags2_derive", 1231 | "serde", 1232 | ] 1233 | 1234 | [[package]] 1235 | name = "enumflags2_derive" 1236 | version = "0.7.8" 1237 | source = "registry+https://github.com/rust-lang/crates.io-index" 1238 | checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246" 1239 | dependencies = [ 1240 | "proc-macro2", 1241 | "quote", 1242 | "syn 2.0.38", 1243 | ] 1244 | 1245 | [[package]] 1246 | name = "equivalent" 1247 | version = "1.0.1" 1248 | source = "registry+https://github.com/rust-lang/crates.io-index" 1249 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 1250 | 1251 | [[package]] 1252 | name = "errno" 1253 | version = "0.3.4" 1254 | source = "registry+https://github.com/rust-lang/crates.io-index" 1255 | checksum = "add4f07d43996f76ef320709726a556a9d4f965d9410d8d0271132d2f8293480" 1256 | dependencies = [ 1257 | "errno-dragonfly", 1258 | "libc", 1259 | "windows-sys 0.48.0", 1260 | ] 1261 | 1262 | [[package]] 1263 | name = "errno-dragonfly" 1264 | version = "0.1.2" 1265 | source = "registry+https://github.com/rust-lang/crates.io-index" 1266 | checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" 1267 | dependencies = [ 1268 | "cc", 1269 | "libc", 1270 | ] 1271 | 1272 | [[package]] 1273 | name = "euclid" 1274 | version = "0.22.9" 1275 | source = "registry+https://github.com/rust-lang/crates.io-index" 1276 | checksum = "87f253bc5c813ca05792837a0ff4b3a580336b224512d48f7eda1d7dd9210787" 1277 | dependencies = [ 1278 | "num-traits", 1279 | ] 1280 | 1281 | [[package]] 1282 | name = "event-listener" 1283 | version = "2.5.3" 1284 | source = "registry+https://github.com/rust-lang/crates.io-index" 1285 | checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" 1286 | 1287 | [[package]] 1288 | name = "exr" 1289 | version = "1.71.0" 1290 | source = "registry+https://github.com/rust-lang/crates.io-index" 1291 | checksum = "832a761f35ab3e6664babfbdc6cef35a4860e816ec3916dcfd0882954e98a8a8" 1292 | dependencies = [ 1293 | "bit_field", 1294 | "flume", 1295 | "half", 1296 | "lebe", 1297 | "miniz_oxide", 1298 | "rayon-core", 1299 | "smallvec", 1300 | "zune-inflate", 1301 | ] 1302 | 1303 | [[package]] 1304 | name = "fastrand" 1305 | version = "1.9.0" 1306 | source = "registry+https://github.com/rust-lang/crates.io-index" 1307 | checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" 1308 | dependencies = [ 1309 | "instant", 1310 | ] 1311 | 1312 | [[package]] 1313 | name = "fastrand" 1314 | version = "2.0.1" 1315 | source = "registry+https://github.com/rust-lang/crates.io-index" 1316 | checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" 1317 | 1318 | [[package]] 1319 | name = "fdeflate" 1320 | version = "0.3.0" 1321 | source = "registry+https://github.com/rust-lang/crates.io-index" 1322 | checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10" 1323 | dependencies = [ 1324 | "simd-adler32", 1325 | ] 1326 | 1327 | [[package]] 1328 | name = "femtovg" 1329 | version = "0.7.1" 1330 | source = "registry+https://github.com/rust-lang/crates.io-index" 1331 | checksum = "5a3a2d0ff0df09856a5c1c89cc83863a1f0f994c55452186621bb57a01f270b3" 1332 | dependencies = [ 1333 | "bitflags 2.4.0", 1334 | "fnv", 1335 | "generational-arena", 1336 | "glow", 1337 | "image", 1338 | "imgref", 1339 | "lru", 1340 | "rgb", 1341 | "rustybuzz", 1342 | "unicode-bidi", 1343 | "unicode-segmentation", 1344 | "wasm-bindgen", 1345 | "web-sys", 1346 | ] 1347 | 1348 | [[package]] 1349 | name = "field-offset" 1350 | version = "0.3.6" 1351 | source = "registry+https://github.com/rust-lang/crates.io-index" 1352 | checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" 1353 | dependencies = [ 1354 | "memoffset 0.9.0", 1355 | "rustc_version", 1356 | ] 1357 | 1358 | [[package]] 1359 | name = "filetime" 1360 | version = "0.2.22" 1361 | source = "registry+https://github.com/rust-lang/crates.io-index" 1362 | checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" 1363 | dependencies = [ 1364 | "cfg-if", 1365 | "libc", 1366 | "redox_syscall", 1367 | "windows-sys 0.48.0", 1368 | ] 1369 | 1370 | [[package]] 1371 | name = "find-winsdk" 1372 | version = "0.2.0" 1373 | source = "registry+https://github.com/rust-lang/crates.io-index" 1374 | checksum = "a8cbf17b871570c1f8612b763bac3e86290602bcf5dc3c5ce657e0e1e9071d9e" 1375 | dependencies = [ 1376 | "serde", 1377 | "serde_derive", 1378 | "winreg", 1379 | ] 1380 | 1381 | [[package]] 1382 | name = "flate2" 1383 | version = "1.0.27" 1384 | source = "registry+https://github.com/rust-lang/crates.io-index" 1385 | checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010" 1386 | dependencies = [ 1387 | "crc32fast", 1388 | "miniz_oxide", 1389 | ] 1390 | 1391 | [[package]] 1392 | name = "float-cmp" 1393 | version = "0.9.0" 1394 | source = "registry+https://github.com/rust-lang/crates.io-index" 1395 | checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" 1396 | 1397 | [[package]] 1398 | name = "flume" 1399 | version = "0.11.0" 1400 | source = "registry+https://github.com/rust-lang/crates.io-index" 1401 | checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181" 1402 | dependencies = [ 1403 | "spin 0.9.8", 1404 | ] 1405 | 1406 | [[package]] 1407 | name = "fnv" 1408 | version = "1.0.7" 1409 | source = "registry+https://github.com/rust-lang/crates.io-index" 1410 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 1411 | 1412 | [[package]] 1413 | name = "fontconfig-parser" 1414 | version = "0.5.3" 1415 | source = "registry+https://github.com/rust-lang/crates.io-index" 1416 | checksum = "674e258f4b5d2dcd63888c01c68413c51f565e8af99d2f7701c7b81d79ef41c4" 1417 | dependencies = [ 1418 | "roxmltree", 1419 | ] 1420 | 1421 | [[package]] 1422 | name = "fontdb" 1423 | version = "0.14.1" 1424 | source = "registry+https://github.com/rust-lang/crates.io-index" 1425 | checksum = "af8d8cbea8f21307d7e84bca254772981296f058a1d36b461bf4d83a7499fc9e" 1426 | dependencies = [ 1427 | "fontconfig-parser", 1428 | "log", 1429 | "memmap2 0.6.2", 1430 | "slotmap", 1431 | "tinyvec", 1432 | "ttf-parser 0.19.2", 1433 | ] 1434 | 1435 | [[package]] 1436 | name = "fontdue" 1437 | version = "0.7.3" 1438 | source = "registry+https://github.com/rust-lang/crates.io-index" 1439 | checksum = "0793f5137567643cf65ea42043a538804ff0fbf288649e2141442b602d81f9bc" 1440 | dependencies = [ 1441 | "hashbrown 0.13.2", 1442 | "ttf-parser 0.15.2", 1443 | ] 1444 | 1445 | [[package]] 1446 | name = "foreign-types" 1447 | version = "0.3.2" 1448 | source = "registry+https://github.com/rust-lang/crates.io-index" 1449 | checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 1450 | dependencies = [ 1451 | "foreign-types-shared 0.1.1", 1452 | ] 1453 | 1454 | [[package]] 1455 | name = "foreign-types" 1456 | version = "0.5.0" 1457 | source = "registry+https://github.com/rust-lang/crates.io-index" 1458 | checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" 1459 | dependencies = [ 1460 | "foreign-types-macros", 1461 | "foreign-types-shared 0.3.1", 1462 | ] 1463 | 1464 | [[package]] 1465 | name = "foreign-types-macros" 1466 | version = "0.2.3" 1467 | source = "registry+https://github.com/rust-lang/crates.io-index" 1468 | checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" 1469 | dependencies = [ 1470 | "proc-macro2", 1471 | "quote", 1472 | "syn 2.0.38", 1473 | ] 1474 | 1475 | [[package]] 1476 | name = "foreign-types-shared" 1477 | version = "0.1.1" 1478 | source = "registry+https://github.com/rust-lang/crates.io-index" 1479 | checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 1480 | 1481 | [[package]] 1482 | name = "foreign-types-shared" 1483 | version = "0.3.1" 1484 | source = "registry+https://github.com/rust-lang/crates.io-index" 1485 | checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" 1486 | 1487 | [[package]] 1488 | name = "form_urlencoded" 1489 | version = "1.2.0" 1490 | source = "registry+https://github.com/rust-lang/crates.io-index" 1491 | checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" 1492 | dependencies = [ 1493 | "percent-encoding", 1494 | ] 1495 | 1496 | [[package]] 1497 | name = "futures-channel" 1498 | version = "0.3.28" 1499 | source = "registry+https://github.com/rust-lang/crates.io-index" 1500 | checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" 1501 | dependencies = [ 1502 | "futures-core", 1503 | ] 1504 | 1505 | [[package]] 1506 | name = "futures-core" 1507 | version = "0.3.28" 1508 | source = "registry+https://github.com/rust-lang/crates.io-index" 1509 | checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" 1510 | 1511 | [[package]] 1512 | name = "futures-io" 1513 | version = "0.3.28" 1514 | source = "registry+https://github.com/rust-lang/crates.io-index" 1515 | checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" 1516 | 1517 | [[package]] 1518 | name = "futures-lite" 1519 | version = "1.13.0" 1520 | source = "registry+https://github.com/rust-lang/crates.io-index" 1521 | checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" 1522 | dependencies = [ 1523 | "fastrand 1.9.0", 1524 | "futures-core", 1525 | "futures-io", 1526 | "memchr", 1527 | "parking", 1528 | "pin-project-lite", 1529 | "waker-fn", 1530 | ] 1531 | 1532 | [[package]] 1533 | name = "futures-macro" 1534 | version = "0.3.28" 1535 | source = "registry+https://github.com/rust-lang/crates.io-index" 1536 | checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" 1537 | dependencies = [ 1538 | "proc-macro2", 1539 | "quote", 1540 | "syn 2.0.38", 1541 | ] 1542 | 1543 | [[package]] 1544 | name = "futures-sink" 1545 | version = "0.3.28" 1546 | source = "registry+https://github.com/rust-lang/crates.io-index" 1547 | checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" 1548 | 1549 | [[package]] 1550 | name = "futures-task" 1551 | version = "0.3.28" 1552 | source = "registry+https://github.com/rust-lang/crates.io-index" 1553 | checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" 1554 | 1555 | [[package]] 1556 | name = "futures-util" 1557 | version = "0.3.28" 1558 | source = "registry+https://github.com/rust-lang/crates.io-index" 1559 | checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" 1560 | dependencies = [ 1561 | "futures-core", 1562 | "futures-io", 1563 | "futures-macro", 1564 | "futures-sink", 1565 | "futures-task", 1566 | "memchr", 1567 | "pin-project-lite", 1568 | "pin-utils", 1569 | "slab", 1570 | ] 1571 | 1572 | [[package]] 1573 | name = "gbm" 1574 | version = "0.12.0" 1575 | source = "registry+https://github.com/rust-lang/crates.io-index" 1576 | checksum = "f2ec389cda876966cf824111bf6e533fb934c711d473498279964a990853b3c6" 1577 | dependencies = [ 1578 | "bitflags 1.3.2", 1579 | "drm", 1580 | "drm-fourcc", 1581 | "gbm-sys", 1582 | "libc", 1583 | ] 1584 | 1585 | [[package]] 1586 | name = "gbm-sys" 1587 | version = "0.2.2" 1588 | source = "registry+https://github.com/rust-lang/crates.io-index" 1589 | checksum = "b63eba9b9b7a231514482deb08759301c9f9f049ac6869403f381834ebfeaf67" 1590 | dependencies = [ 1591 | "libc", 1592 | ] 1593 | 1594 | [[package]] 1595 | name = "generational-arena" 1596 | version = "0.2.9" 1597 | source = "registry+https://github.com/rust-lang/crates.io-index" 1598 | checksum = "877e94aff08e743b651baaea359664321055749b398adff8740a7399af7796e7" 1599 | dependencies = [ 1600 | "cfg-if", 1601 | ] 1602 | 1603 | [[package]] 1604 | name = "generic-array" 1605 | version = "0.14.7" 1606 | source = "registry+https://github.com/rust-lang/crates.io-index" 1607 | checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" 1608 | dependencies = [ 1609 | "typenum", 1610 | "version_check", 1611 | ] 1612 | 1613 | [[package]] 1614 | name = "gethostname" 1615 | version = "0.2.3" 1616 | source = "registry+https://github.com/rust-lang/crates.io-index" 1617 | checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e" 1618 | dependencies = [ 1619 | "libc", 1620 | "winapi", 1621 | ] 1622 | 1623 | [[package]] 1624 | name = "gethostname" 1625 | version = "0.3.0" 1626 | source = "registry+https://github.com/rust-lang/crates.io-index" 1627 | checksum = "bb65d4ba3173c56a500b555b532f72c42e8d1fe64962b518897f8959fae2c177" 1628 | dependencies = [ 1629 | "libc", 1630 | "winapi", 1631 | ] 1632 | 1633 | [[package]] 1634 | name = "getrandom" 1635 | version = "0.2.10" 1636 | source = "registry+https://github.com/rust-lang/crates.io-index" 1637 | checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" 1638 | dependencies = [ 1639 | "cfg-if", 1640 | "libc", 1641 | "wasi", 1642 | ] 1643 | 1644 | [[package]] 1645 | name = "gif" 1646 | version = "0.12.0" 1647 | source = "registry+https://github.com/rust-lang/crates.io-index" 1648 | checksum = "80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045" 1649 | dependencies = [ 1650 | "color_quant", 1651 | "weezl", 1652 | ] 1653 | 1654 | [[package]] 1655 | name = "gl_generator" 1656 | version = "0.14.0" 1657 | source = "registry+https://github.com/rust-lang/crates.io-index" 1658 | checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d" 1659 | dependencies = [ 1660 | "khronos_api", 1661 | "log", 1662 | "xml-rs", 1663 | ] 1664 | 1665 | [[package]] 1666 | name = "glob" 1667 | version = "0.3.1" 1668 | source = "registry+https://github.com/rust-lang/crates.io-index" 1669 | checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" 1670 | 1671 | [[package]] 1672 | name = "gloo-timers" 1673 | version = "0.2.6" 1674 | source = "registry+https://github.com/rust-lang/crates.io-index" 1675 | checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" 1676 | dependencies = [ 1677 | "futures-channel", 1678 | "futures-core", 1679 | "js-sys", 1680 | "wasm-bindgen", 1681 | ] 1682 | 1683 | [[package]] 1684 | name = "glow" 1685 | version = "0.12.3" 1686 | source = "registry+https://github.com/rust-lang/crates.io-index" 1687 | checksum = "ca0fe580e4b60a8ab24a868bc08e2f03cbcb20d3d676601fa909386713333728" 1688 | dependencies = [ 1689 | "js-sys", 1690 | "slotmap", 1691 | "wasm-bindgen", 1692 | "web-sys", 1693 | ] 1694 | 1695 | [[package]] 1696 | name = "glutin" 1697 | version = "0.30.10" 1698 | source = "registry+https://github.com/rust-lang/crates.io-index" 1699 | checksum = "8fc93b03242719b8ad39fb26ed2b01737144ce7bd4bfc7adadcef806596760fe" 1700 | dependencies = [ 1701 | "bitflags 1.3.2", 1702 | "cfg_aliases", 1703 | "cgl", 1704 | "core-foundation", 1705 | "dispatch", 1706 | "glutin_egl_sys", 1707 | "glutin_glx_sys", 1708 | "glutin_wgl_sys", 1709 | "libloading 0.7.4", 1710 | "objc2", 1711 | "once_cell", 1712 | "raw-window-handle", 1713 | "wayland-sys 0.30.1", 1714 | "windows-sys 0.45.0", 1715 | "x11-dl", 1716 | ] 1717 | 1718 | [[package]] 1719 | name = "glutin-winit" 1720 | version = "0.3.0" 1721 | source = "registry+https://github.com/rust-lang/crates.io-index" 1722 | checksum = "629a873fc04062830bfe8f97c03773bcd7b371e23bcc465d0a61448cd1588fa4" 1723 | dependencies = [ 1724 | "cfg_aliases", 1725 | "glutin", 1726 | "raw-window-handle", 1727 | "winit", 1728 | ] 1729 | 1730 | [[package]] 1731 | name = "glutin_egl_sys" 1732 | version = "0.5.1" 1733 | source = "registry+https://github.com/rust-lang/crates.io-index" 1734 | checksum = "af784eb26c5a68ec85391268e074f0aa618c096eadb5d6330b0911cf34fe57c5" 1735 | dependencies = [ 1736 | "gl_generator", 1737 | "windows-sys 0.45.0", 1738 | ] 1739 | 1740 | [[package]] 1741 | name = "glutin_glx_sys" 1742 | version = "0.4.0" 1743 | source = "registry+https://github.com/rust-lang/crates.io-index" 1744 | checksum = "1b53cb5fe568964aa066a3ba91eac5ecbac869fb0842cd0dc9e412434f1a1494" 1745 | dependencies = [ 1746 | "gl_generator", 1747 | "x11-dl", 1748 | ] 1749 | 1750 | [[package]] 1751 | name = "glutin_wgl_sys" 1752 | version = "0.4.0" 1753 | source = "registry+https://github.com/rust-lang/crates.io-index" 1754 | checksum = "ef89398e90033fc6bc65e9bd42fd29bbbfd483bda5b56dc5562f455550618165" 1755 | dependencies = [ 1756 | "gl_generator", 1757 | ] 1758 | 1759 | [[package]] 1760 | name = "half" 1761 | version = "2.2.1" 1762 | source = "registry+https://github.com/rust-lang/crates.io-index" 1763 | checksum = "02b4af3693f1b705df946e9fe5631932443781d0aabb423b62fcd4d73f6d2fd0" 1764 | dependencies = [ 1765 | "crunchy", 1766 | ] 1767 | 1768 | [[package]] 1769 | name = "hashbrown" 1770 | version = "0.12.3" 1771 | source = "registry+https://github.com/rust-lang/crates.io-index" 1772 | checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 1773 | 1774 | [[package]] 1775 | name = "hashbrown" 1776 | version = "0.13.2" 1777 | source = "registry+https://github.com/rust-lang/crates.io-index" 1778 | checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" 1779 | dependencies = [ 1780 | "ahash", 1781 | ] 1782 | 1783 | [[package]] 1784 | name = "hashbrown" 1785 | version = "0.14.1" 1786 | source = "registry+https://github.com/rust-lang/crates.io-index" 1787 | checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" 1788 | 1789 | [[package]] 1790 | name = "heck" 1791 | version = "0.4.1" 1792 | source = "registry+https://github.com/rust-lang/crates.io-index" 1793 | checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" 1794 | 1795 | [[package]] 1796 | name = "hermit-abi" 1797 | version = "0.3.3" 1798 | source = "registry+https://github.com/rust-lang/crates.io-index" 1799 | checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" 1800 | 1801 | [[package]] 1802 | name = "hex" 1803 | version = "0.4.3" 1804 | source = "registry+https://github.com/rust-lang/crates.io-index" 1805 | checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" 1806 | 1807 | [[package]] 1808 | name = "home" 1809 | version = "0.5.5" 1810 | source = "registry+https://github.com/rust-lang/crates.io-index" 1811 | checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" 1812 | dependencies = [ 1813 | "windows-sys 0.48.0", 1814 | ] 1815 | 1816 | [[package]] 1817 | name = "i-slint-backend-linuxkms" 1818 | version = "1.2.2" 1819 | source = "registry+https://github.com/rust-lang/crates.io-index" 1820 | checksum = "0e321d0f8d12509ec2ed5b5aba4996922606686ac3d86d70ba126cba1b4e4563" 1821 | dependencies = [ 1822 | "calloop 0.11.0", 1823 | "drm", 1824 | "gbm", 1825 | "glutin", 1826 | "i-slint-common", 1827 | "i-slint-core", 1828 | "i-slint-renderer-femtovg", 1829 | "input", 1830 | "libseat", 1831 | "nix 0.27.1", 1832 | "raw-window-handle", 1833 | "xkbcommon", 1834 | ] 1835 | 1836 | [[package]] 1837 | name = "i-slint-backend-qt" 1838 | version = "1.2.2" 1839 | source = "registry+https://github.com/rust-lang/crates.io-index" 1840 | checksum = "0f1ce3687c329341842f79c31c95d7bcf49b6fda7fd19b09e0b5d7fb33b9d6b2" 1841 | dependencies = [ 1842 | "const-field-offset", 1843 | "cpp", 1844 | "cpp_build", 1845 | "i-slint-common", 1846 | "i-slint-core", 1847 | "i-slint-core-macros", 1848 | "lyon_path", 1849 | "once_cell", 1850 | "pin-project", 1851 | "pin-weak", 1852 | "qttypes", 1853 | "vtable", 1854 | ] 1855 | 1856 | [[package]] 1857 | name = "i-slint-backend-selector" 1858 | version = "1.2.2" 1859 | source = "registry+https://github.com/rust-lang/crates.io-index" 1860 | checksum = "e7382cc01e9c9ef607debe1e4af7e1c6af78720a258fd18d8e32761b8593c5db" 1861 | dependencies = [ 1862 | "cfg-if", 1863 | "i-slint-backend-linuxkms", 1864 | "i-slint-backend-qt", 1865 | "i-slint-backend-winit", 1866 | "i-slint-core", 1867 | ] 1868 | 1869 | [[package]] 1870 | name = "i-slint-backend-winit" 1871 | version = "1.2.2" 1872 | source = "registry+https://github.com/rust-lang/crates.io-index" 1873 | checksum = "f8c0f3f01e2c678d24b81914a38e53d3b660a0ef13831acb59c71bd7c95ed0cb" 1874 | dependencies = [ 1875 | "accesskit", 1876 | "accesskit_winit", 1877 | "bytemuck", 1878 | "cfg-if", 1879 | "cfg_aliases", 1880 | "cocoa 0.24.1", 1881 | "const-field-offset", 1882 | "copypasta", 1883 | "derive_more", 1884 | "glutin", 1885 | "glutin-winit", 1886 | "i-slint-common", 1887 | "i-slint-core", 1888 | "i-slint-core-macros", 1889 | "i-slint-renderer-femtovg", 1890 | "i-slint-renderer-skia", 1891 | "imgref", 1892 | "instant", 1893 | "lyon_path", 1894 | "once_cell", 1895 | "pin-weak", 1896 | "raw-window-handle", 1897 | "rgb", 1898 | "scoped-tls-hkt", 1899 | "scopeguard", 1900 | "send_wrapper", 1901 | "softbuffer", 1902 | "vtable", 1903 | "wasm-bindgen", 1904 | "web-sys", 1905 | "winit", 1906 | ] 1907 | 1908 | [[package]] 1909 | name = "i-slint-common" 1910 | version = "1.2.2" 1911 | source = "registry+https://github.com/rust-lang/crates.io-index" 1912 | checksum = "e7daf484e68bf27e06b7501767c6e66063c0f85948e57a6de679b53d2d9d2044" 1913 | dependencies = [ 1914 | "cfg-if", 1915 | "derive_more", 1916 | "fontdb", 1917 | "libloading 0.8.1", 1918 | ] 1919 | 1920 | [[package]] 1921 | name = "i-slint-compiler" 1922 | version = "1.2.2" 1923 | source = "registry+https://github.com/rust-lang/crates.io-index" 1924 | checksum = "8b99172cc43ca17a78e96e3f8f13699d9fc1c00474d2d87bc57c0f7e816c4a48" 1925 | dependencies = [ 1926 | "by_address", 1927 | "codemap", 1928 | "codemap-diagnostic", 1929 | "css-color-parser2", 1930 | "derive_more", 1931 | "dunce", 1932 | "fontdue", 1933 | "i-slint-common", 1934 | "image", 1935 | "itertools", 1936 | "linked_hash_set", 1937 | "lyon_extra", 1938 | "lyon_path", 1939 | "num_enum 0.7.0", 1940 | "once_cell", 1941 | "proc-macro2", 1942 | "quote", 1943 | "resvg", 1944 | "rowan", 1945 | "smol_str", 1946 | "strum", 1947 | "thiserror", 1948 | "url", 1949 | ] 1950 | 1951 | [[package]] 1952 | name = "i-slint-core" 1953 | version = "1.2.2" 1954 | source = "registry+https://github.com/rust-lang/crates.io-index" 1955 | checksum = "b62e590bb3d6009447a52760e9343c25a3bf7a8a7b0ad7ab5a77c5324fcaa957" 1956 | dependencies = [ 1957 | "auto_enums", 1958 | "bytemuck", 1959 | "cfg-if", 1960 | "clru", 1961 | "const-field-offset", 1962 | "derive_more", 1963 | "euclid", 1964 | "fontdue", 1965 | "i-slint-common", 1966 | "i-slint-core-macros", 1967 | "image", 1968 | "instant", 1969 | "integer-sqrt", 1970 | "lyon_algorithms", 1971 | "lyon_extra", 1972 | "lyon_geom", 1973 | "lyon_path", 1974 | "num-traits", 1975 | "once_cell", 1976 | "pin-project", 1977 | "pin-weak", 1978 | "portable-atomic", 1979 | "resvg", 1980 | "rgb", 1981 | "rustybuzz", 1982 | "scoped-tls-hkt", 1983 | "scopeguard", 1984 | "slab", 1985 | "static_assertions", 1986 | "strum", 1987 | "unicode-linebreak", 1988 | "unicode-script", 1989 | "unicode-segmentation", 1990 | "vtable", 1991 | "wasm-bindgen", 1992 | "web-sys", 1993 | ] 1994 | 1995 | [[package]] 1996 | name = "i-slint-core-macros" 1997 | version = "1.2.2" 1998 | source = "registry+https://github.com/rust-lang/crates.io-index" 1999 | checksum = "62a416f1e9fc42c2bf1f171e5be38a8155850fcd390fce300869bcc9d6c9c117" 2000 | dependencies = [ 2001 | "quote", 2002 | "syn 2.0.38", 2003 | ] 2004 | 2005 | [[package]] 2006 | name = "i-slint-renderer-femtovg" 2007 | version = "1.2.2" 2008 | source = "registry+https://github.com/rust-lang/crates.io-index" 2009 | checksum = "9e99a941fca00b96a7756d56e4bc5e2876283f34c693eabc73585c0b91ab84f0" 2010 | dependencies = [ 2011 | "cfg-if", 2012 | "const-field-offset", 2013 | "core-foundation", 2014 | "core-text", 2015 | "derive_more", 2016 | "dwrote", 2017 | "femtovg", 2018 | "glow", 2019 | "i-slint-common", 2020 | "i-slint-core", 2021 | "i-slint-core-macros", 2022 | "imgref", 2023 | "instant", 2024 | "lyon_path", 2025 | "once_cell", 2026 | "pin-weak", 2027 | "raw-window-handle", 2028 | "rgb", 2029 | "scoped-tls-hkt", 2030 | "ttf-parser 0.18.1", 2031 | "unicode-script", 2032 | "unicode-segmentation", 2033 | "vtable", 2034 | "wasm-bindgen", 2035 | "web-sys", 2036 | "winapi", 2037 | ] 2038 | 2039 | [[package]] 2040 | name = "i-slint-renderer-skia" 2041 | version = "1.2.2" 2042 | source = "registry+https://github.com/rust-lang/crates.io-index" 2043 | checksum = "9f617268cfee53e1fa3fcab8f6ab2775deacfce74057386c4ad39ef2647f8db6" 2044 | dependencies = [ 2045 | "cfg-if", 2046 | "cfg_aliases", 2047 | "cocoa 0.24.1", 2048 | "const-field-offset", 2049 | "core-foundation", 2050 | "core-graphics-types", 2051 | "derive_more", 2052 | "foreign-types 0.3.2", 2053 | "glow", 2054 | "glutin", 2055 | "i-slint-common", 2056 | "i-slint-core", 2057 | "i-slint-core-macros", 2058 | "instant", 2059 | "lyon_path", 2060 | "metal", 2061 | "objc", 2062 | "once_cell", 2063 | "pin-weak", 2064 | "raw-window-handle", 2065 | "scoped-tls-hkt", 2066 | "skia-safe", 2067 | "unicode-segmentation", 2068 | "vtable", 2069 | "winapi", 2070 | "winit", 2071 | "wio", 2072 | ] 2073 | 2074 | [[package]] 2075 | name = "idna" 2076 | version = "0.4.0" 2077 | source = "registry+https://github.com/rust-lang/crates.io-index" 2078 | checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" 2079 | dependencies = [ 2080 | "unicode-bidi", 2081 | "unicode-normalization", 2082 | ] 2083 | 2084 | [[package]] 2085 | name = "image" 2086 | version = "0.24.7" 2087 | source = "registry+https://github.com/rust-lang/crates.io-index" 2088 | checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711" 2089 | dependencies = [ 2090 | "bytemuck", 2091 | "byteorder", 2092 | "color_quant", 2093 | "exr", 2094 | "gif", 2095 | "jpeg-decoder", 2096 | "num-rational", 2097 | "num-traits", 2098 | "png", 2099 | "qoi", 2100 | "tiff", 2101 | ] 2102 | 2103 | [[package]] 2104 | name = "imagesize" 2105 | version = "0.12.0" 2106 | source = "registry+https://github.com/rust-lang/crates.io-index" 2107 | checksum = "029d73f573d8e8d63e6d5020011d3255b28c3ba85d6cf870a07184ed23de9284" 2108 | 2109 | [[package]] 2110 | name = "imgref" 2111 | version = "1.9.4" 2112 | source = "registry+https://github.com/rust-lang/crates.io-index" 2113 | checksum = "b2cf49df1085dcfb171460e4592597b84abe50d900fb83efb6e41b20fefd6c2c" 2114 | 2115 | [[package]] 2116 | name = "indexmap" 2117 | version = "2.0.2" 2118 | source = "registry+https://github.com/rust-lang/crates.io-index" 2119 | checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897" 2120 | dependencies = [ 2121 | "equivalent", 2122 | "hashbrown 0.14.1", 2123 | ] 2124 | 2125 | [[package]] 2126 | name = "input" 2127 | version = "0.8.3" 2128 | source = "registry+https://github.com/rust-lang/crates.io-index" 2129 | checksum = "e6e74cd82cedcd66db78742a8337bdc48f188c4d2c12742cbc5cd85113f0b059" 2130 | dependencies = [ 2131 | "bitflags 1.3.2", 2132 | "input-sys", 2133 | "io-lifetimes", 2134 | "libc", 2135 | "log", 2136 | "udev", 2137 | ] 2138 | 2139 | [[package]] 2140 | name = "input-sys" 2141 | version = "1.17.0" 2142 | source = "registry+https://github.com/rust-lang/crates.io-index" 2143 | checksum = "05f6c2a17e8aba7217660e32863af87b0febad811d4b8620ef76b386603fddc2" 2144 | dependencies = [ 2145 | "libc", 2146 | ] 2147 | 2148 | [[package]] 2149 | name = "instant" 2150 | version = "0.1.12" 2151 | source = "registry+https://github.com/rust-lang/crates.io-index" 2152 | checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" 2153 | dependencies = [ 2154 | "cfg-if", 2155 | "js-sys", 2156 | "wasm-bindgen", 2157 | "web-sys", 2158 | ] 2159 | 2160 | [[package]] 2161 | name = "integer-sqrt" 2162 | version = "0.1.5" 2163 | source = "registry+https://github.com/rust-lang/crates.io-index" 2164 | checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" 2165 | dependencies = [ 2166 | "num-traits", 2167 | ] 2168 | 2169 | [[package]] 2170 | name = "io-lifetimes" 2171 | version = "1.0.11" 2172 | source = "registry+https://github.com/rust-lang/crates.io-index" 2173 | checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" 2174 | dependencies = [ 2175 | "hermit-abi", 2176 | "libc", 2177 | "windows-sys 0.48.0", 2178 | ] 2179 | 2180 | [[package]] 2181 | name = "itertools" 2182 | version = "0.11.0" 2183 | source = "registry+https://github.com/rust-lang/crates.io-index" 2184 | checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" 2185 | dependencies = [ 2186 | "either", 2187 | ] 2188 | 2189 | [[package]] 2190 | name = "itoa" 2191 | version = "1.0.9" 2192 | source = "registry+https://github.com/rust-lang/crates.io-index" 2193 | checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" 2194 | 2195 | [[package]] 2196 | name = "jni-sys" 2197 | version = "0.3.0" 2198 | source = "registry+https://github.com/rust-lang/crates.io-index" 2199 | checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" 2200 | 2201 | [[package]] 2202 | name = "jobserver" 2203 | version = "0.1.26" 2204 | source = "registry+https://github.com/rust-lang/crates.io-index" 2205 | checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" 2206 | dependencies = [ 2207 | "libc", 2208 | ] 2209 | 2210 | [[package]] 2211 | name = "jpeg-decoder" 2212 | version = "0.3.0" 2213 | source = "registry+https://github.com/rust-lang/crates.io-index" 2214 | checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e" 2215 | dependencies = [ 2216 | "rayon", 2217 | ] 2218 | 2219 | [[package]] 2220 | name = "js-sys" 2221 | version = "0.3.64" 2222 | source = "registry+https://github.com/rust-lang/crates.io-index" 2223 | checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" 2224 | dependencies = [ 2225 | "wasm-bindgen", 2226 | ] 2227 | 2228 | [[package]] 2229 | name = "khronos_api" 2230 | version = "3.1.0" 2231 | source = "registry+https://github.com/rust-lang/crates.io-index" 2232 | checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" 2233 | 2234 | [[package]] 2235 | name = "kurbo" 2236 | version = "0.9.5" 2237 | source = "registry+https://github.com/rust-lang/crates.io-index" 2238 | checksum = "bd85a5776cd9500c2e2059c8c76c3b01528566b7fcbaf8098b55a33fc298849b" 2239 | dependencies = [ 2240 | "arrayvec", 2241 | ] 2242 | 2243 | [[package]] 2244 | name = "kv-log-macro" 2245 | version = "1.0.7" 2246 | source = "registry+https://github.com/rust-lang/crates.io-index" 2247 | checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" 2248 | dependencies = [ 2249 | "log", 2250 | ] 2251 | 2252 | [[package]] 2253 | name = "lazy-bytes-cast" 2254 | version = "5.0.1" 2255 | source = "registry+https://github.com/rust-lang/crates.io-index" 2256 | checksum = "10257499f089cd156ad82d0a9cd57d9501fa2c989068992a97eb3c27836f206b" 2257 | 2258 | [[package]] 2259 | name = "lazy_static" 2260 | version = "1.4.0" 2261 | source = "registry+https://github.com/rust-lang/crates.io-index" 2262 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 2263 | 2264 | [[package]] 2265 | name = "lazycell" 2266 | version = "1.3.0" 2267 | source = "registry+https://github.com/rust-lang/crates.io-index" 2268 | checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" 2269 | 2270 | [[package]] 2271 | name = "lebe" 2272 | version = "0.5.2" 2273 | source = "registry+https://github.com/rust-lang/crates.io-index" 2274 | checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" 2275 | 2276 | [[package]] 2277 | name = "libc" 2278 | version = "0.2.148" 2279 | source = "registry+https://github.com/rust-lang/crates.io-index" 2280 | checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" 2281 | 2282 | [[package]] 2283 | name = "libloading" 2284 | version = "0.7.4" 2285 | source = "registry+https://github.com/rust-lang/crates.io-index" 2286 | checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" 2287 | dependencies = [ 2288 | "cfg-if", 2289 | "winapi", 2290 | ] 2291 | 2292 | [[package]] 2293 | name = "libloading" 2294 | version = "0.8.1" 2295 | source = "registry+https://github.com/rust-lang/crates.io-index" 2296 | checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" 2297 | dependencies = [ 2298 | "cfg-if", 2299 | "windows-sys 0.48.0", 2300 | ] 2301 | 2302 | [[package]] 2303 | name = "libm" 2304 | version = "0.2.7" 2305 | source = "registry+https://github.com/rust-lang/crates.io-index" 2306 | checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" 2307 | 2308 | [[package]] 2309 | name = "libseat" 2310 | version = "0.2.1" 2311 | source = "registry+https://github.com/rust-lang/crates.io-index" 2312 | checksum = "54a0adf8d8607a73a5b74cbe4132f57cb349e4bf860103cd089461bbcbc9907e" 2313 | dependencies = [ 2314 | "cc", 2315 | "errno", 2316 | "libseat-sys", 2317 | "log", 2318 | "pkg-config", 2319 | ] 2320 | 2321 | [[package]] 2322 | name = "libseat-sys" 2323 | version = "0.1.7" 2324 | source = "registry+https://github.com/rust-lang/crates.io-index" 2325 | checksum = "3671cb5e03871f1d6bf0b3b5daa9275549e348fa6359e0f9adb910ca163d4c34" 2326 | dependencies = [ 2327 | "pkg-config", 2328 | ] 2329 | 2330 | [[package]] 2331 | name = "libudev-sys" 2332 | version = "0.1.4" 2333 | source = "registry+https://github.com/rust-lang/crates.io-index" 2334 | checksum = "3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324" 2335 | dependencies = [ 2336 | "libc", 2337 | "pkg-config", 2338 | ] 2339 | 2340 | [[package]] 2341 | name = "linked-hash-map" 2342 | version = "0.5.6" 2343 | source = "registry+https://github.com/rust-lang/crates.io-index" 2344 | checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" 2345 | 2346 | [[package]] 2347 | name = "linked_hash_set" 2348 | version = "0.1.4" 2349 | source = "registry+https://github.com/rust-lang/crates.io-index" 2350 | checksum = "47186c6da4d81ca383c7c47c1bfc80f4b95f4720514d860a5407aaf4233f9588" 2351 | dependencies = [ 2352 | "linked-hash-map", 2353 | ] 2354 | 2355 | [[package]] 2356 | name = "linux-raw-sys" 2357 | version = "0.3.8" 2358 | source = "registry+https://github.com/rust-lang/crates.io-index" 2359 | checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" 2360 | 2361 | [[package]] 2362 | name = "linux-raw-sys" 2363 | version = "0.4.8" 2364 | source = "registry+https://github.com/rust-lang/crates.io-index" 2365 | checksum = "3852614a3bd9ca9804678ba6be5e3b8ce76dfc902cae004e3e0c44051b6e88db" 2366 | 2367 | [[package]] 2368 | name = "lock_api" 2369 | version = "0.4.10" 2370 | source = "registry+https://github.com/rust-lang/crates.io-index" 2371 | checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" 2372 | dependencies = [ 2373 | "autocfg", 2374 | "scopeguard", 2375 | ] 2376 | 2377 | [[package]] 2378 | name = "log" 2379 | version = "0.4.20" 2380 | source = "registry+https://github.com/rust-lang/crates.io-index" 2381 | checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" 2382 | dependencies = [ 2383 | "value-bag", 2384 | ] 2385 | 2386 | [[package]] 2387 | name = "lru" 2388 | version = "0.10.1" 2389 | source = "registry+https://github.com/rust-lang/crates.io-index" 2390 | checksum = "718e8fae447df0c7e1ba7f5189829e63fd536945c8988d61444c19039f16b670" 2391 | 2392 | [[package]] 2393 | name = "lyon_algorithms" 2394 | version = "1.0.3" 2395 | source = "registry+https://github.com/rust-lang/crates.io-index" 2396 | checksum = "00a0349cd8f0270781bb93a824b63df6178e3b4a27794e7be3ce3763f5a44d6e" 2397 | dependencies = [ 2398 | "lyon_path", 2399 | "num-traits", 2400 | ] 2401 | 2402 | [[package]] 2403 | name = "lyon_extra" 2404 | version = "1.0.1" 2405 | source = "registry+https://github.com/rust-lang/crates.io-index" 2406 | checksum = "b9ce2ae38f2480094ec1f0d5df51a75581fa84f0e8f32a0edb1d264630c99f3b" 2407 | dependencies = [ 2408 | "lyon_path", 2409 | ] 2410 | 2411 | [[package]] 2412 | name = "lyon_geom" 2413 | version = "1.0.4" 2414 | source = "registry+https://github.com/rust-lang/crates.io-index" 2415 | checksum = "74df1ff0a0147282eb10699537a03baa7d31972b58984a1d44ce0624043fe8ad" 2416 | dependencies = [ 2417 | "arrayvec", 2418 | "euclid", 2419 | "num-traits", 2420 | ] 2421 | 2422 | [[package]] 2423 | name = "lyon_path" 2424 | version = "1.0.4" 2425 | source = "registry+https://github.com/rust-lang/crates.io-index" 2426 | checksum = "ca507745ba7ccbc76e5c44e7b63b1a29d2b0d6126f375806a5bbaf657c7d6c45" 2427 | dependencies = [ 2428 | "lyon_geom", 2429 | "num-traits", 2430 | ] 2431 | 2432 | [[package]] 2433 | name = "malloc_buf" 2434 | version = "0.0.6" 2435 | source = "registry+https://github.com/rust-lang/crates.io-index" 2436 | checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" 2437 | dependencies = [ 2438 | "libc", 2439 | ] 2440 | 2441 | [[package]] 2442 | name = "memchr" 2443 | version = "2.6.4" 2444 | source = "registry+https://github.com/rust-lang/crates.io-index" 2445 | checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" 2446 | 2447 | [[package]] 2448 | name = "memmap2" 2449 | version = "0.5.10" 2450 | source = "registry+https://github.com/rust-lang/crates.io-index" 2451 | checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" 2452 | dependencies = [ 2453 | "libc", 2454 | ] 2455 | 2456 | [[package]] 2457 | name = "memmap2" 2458 | version = "0.6.2" 2459 | source = "registry+https://github.com/rust-lang/crates.io-index" 2460 | checksum = "6d28bba84adfe6646737845bc5ebbfa2c08424eb1c37e94a1fd2a82adb56a872" 2461 | dependencies = [ 2462 | "libc", 2463 | ] 2464 | 2465 | [[package]] 2466 | name = "memmap2" 2467 | version = "0.7.1" 2468 | source = "registry+https://github.com/rust-lang/crates.io-index" 2469 | checksum = "f49388d20533534cd19360ad3d6a7dadc885944aa802ba3995040c5ec11288c6" 2470 | dependencies = [ 2471 | "libc", 2472 | ] 2473 | 2474 | [[package]] 2475 | name = "memoffset" 2476 | version = "0.6.5" 2477 | source = "registry+https://github.com/rust-lang/crates.io-index" 2478 | checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" 2479 | dependencies = [ 2480 | "autocfg", 2481 | ] 2482 | 2483 | [[package]] 2484 | name = "memoffset" 2485 | version = "0.7.1" 2486 | source = "registry+https://github.com/rust-lang/crates.io-index" 2487 | checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" 2488 | dependencies = [ 2489 | "autocfg", 2490 | ] 2491 | 2492 | [[package]] 2493 | name = "memoffset" 2494 | version = "0.9.0" 2495 | source = "registry+https://github.com/rust-lang/crates.io-index" 2496 | checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" 2497 | dependencies = [ 2498 | "autocfg", 2499 | ] 2500 | 2501 | [[package]] 2502 | name = "metal" 2503 | version = "0.24.0" 2504 | source = "registry+https://github.com/rust-lang/crates.io-index" 2505 | checksum = "de11355d1f6781482d027a3b4d4de7825dcedb197bf573e0596d00008402d060" 2506 | dependencies = [ 2507 | "bitflags 1.3.2", 2508 | "block", 2509 | "core-graphics-types", 2510 | "foreign-types 0.3.2", 2511 | "log", 2512 | "objc", 2513 | ] 2514 | 2515 | [[package]] 2516 | name = "minimal-lexical" 2517 | version = "0.2.1" 2518 | source = "registry+https://github.com/rust-lang/crates.io-index" 2519 | checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" 2520 | 2521 | [[package]] 2522 | name = "miniz_oxide" 2523 | version = "0.7.1" 2524 | source = "registry+https://github.com/rust-lang/crates.io-index" 2525 | checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" 2526 | dependencies = [ 2527 | "adler", 2528 | "simd-adler32", 2529 | ] 2530 | 2531 | [[package]] 2532 | name = "mio" 2533 | version = "0.8.8" 2534 | source = "registry+https://github.com/rust-lang/crates.io-index" 2535 | checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" 2536 | dependencies = [ 2537 | "libc", 2538 | "log", 2539 | "wasi", 2540 | "windows-sys 0.48.0", 2541 | ] 2542 | 2543 | [[package]] 2544 | name = "ndk" 2545 | version = "0.7.0" 2546 | source = "registry+https://github.com/rust-lang/crates.io-index" 2547 | checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0" 2548 | dependencies = [ 2549 | "bitflags 1.3.2", 2550 | "jni-sys", 2551 | "ndk-sys", 2552 | "num_enum 0.5.11", 2553 | "raw-window-handle", 2554 | "thiserror", 2555 | ] 2556 | 2557 | [[package]] 2558 | name = "ndk-context" 2559 | version = "0.1.1" 2560 | source = "registry+https://github.com/rust-lang/crates.io-index" 2561 | checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" 2562 | 2563 | [[package]] 2564 | name = "ndk-sys" 2565 | version = "0.4.1+23.1.7779620" 2566 | source = "registry+https://github.com/rust-lang/crates.io-index" 2567 | checksum = "3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3" 2568 | dependencies = [ 2569 | "jni-sys", 2570 | ] 2571 | 2572 | [[package]] 2573 | name = "nix" 2574 | version = "0.24.3" 2575 | source = "registry+https://github.com/rust-lang/crates.io-index" 2576 | checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" 2577 | dependencies = [ 2578 | "bitflags 1.3.2", 2579 | "cfg-if", 2580 | "libc", 2581 | "memoffset 0.6.5", 2582 | ] 2583 | 2584 | [[package]] 2585 | name = "nix" 2586 | version = "0.25.1" 2587 | source = "registry+https://github.com/rust-lang/crates.io-index" 2588 | checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4" 2589 | dependencies = [ 2590 | "autocfg", 2591 | "bitflags 1.3.2", 2592 | "cfg-if", 2593 | "libc", 2594 | "memoffset 0.6.5", 2595 | ] 2596 | 2597 | [[package]] 2598 | name = "nix" 2599 | version = "0.26.4" 2600 | source = "registry+https://github.com/rust-lang/crates.io-index" 2601 | checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" 2602 | dependencies = [ 2603 | "bitflags 1.3.2", 2604 | "cfg-if", 2605 | "libc", 2606 | "memoffset 0.7.1", 2607 | "pin-utils", 2608 | ] 2609 | 2610 | [[package]] 2611 | name = "nix" 2612 | version = "0.27.1" 2613 | source = "registry+https://github.com/rust-lang/crates.io-index" 2614 | checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" 2615 | dependencies = [ 2616 | "bitflags 2.4.0", 2617 | "cfg-if", 2618 | "libc", 2619 | ] 2620 | 2621 | [[package]] 2622 | name = "nom" 2623 | version = "7.1.3" 2624 | source = "registry+https://github.com/rust-lang/crates.io-index" 2625 | checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" 2626 | dependencies = [ 2627 | "memchr", 2628 | "minimal-lexical", 2629 | ] 2630 | 2631 | [[package]] 2632 | name = "num-integer" 2633 | version = "0.1.45" 2634 | source = "registry+https://github.com/rust-lang/crates.io-index" 2635 | checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" 2636 | dependencies = [ 2637 | "autocfg", 2638 | "num-traits", 2639 | ] 2640 | 2641 | [[package]] 2642 | name = "num-rational" 2643 | version = "0.4.1" 2644 | source = "registry+https://github.com/rust-lang/crates.io-index" 2645 | checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" 2646 | dependencies = [ 2647 | "autocfg", 2648 | "num-integer", 2649 | "num-traits", 2650 | ] 2651 | 2652 | [[package]] 2653 | name = "num-traits" 2654 | version = "0.2.16" 2655 | source = "registry+https://github.com/rust-lang/crates.io-index" 2656 | checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" 2657 | dependencies = [ 2658 | "autocfg", 2659 | "libm", 2660 | ] 2661 | 2662 | [[package]] 2663 | name = "num_enum" 2664 | version = "0.5.11" 2665 | source = "registry+https://github.com/rust-lang/crates.io-index" 2666 | checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" 2667 | dependencies = [ 2668 | "num_enum_derive 0.5.11", 2669 | ] 2670 | 2671 | [[package]] 2672 | name = "num_enum" 2673 | version = "0.6.1" 2674 | source = "registry+https://github.com/rust-lang/crates.io-index" 2675 | checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" 2676 | dependencies = [ 2677 | "num_enum_derive 0.6.1", 2678 | ] 2679 | 2680 | [[package]] 2681 | name = "num_enum" 2682 | version = "0.7.0" 2683 | source = "registry+https://github.com/rust-lang/crates.io-index" 2684 | checksum = "70bf6736f74634d299d00086f02986875b3c2d924781a6a2cb6c201e73da0ceb" 2685 | dependencies = [ 2686 | "num_enum_derive 0.7.0", 2687 | ] 2688 | 2689 | [[package]] 2690 | name = "num_enum_derive" 2691 | version = "0.5.11" 2692 | source = "registry+https://github.com/rust-lang/crates.io-index" 2693 | checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" 2694 | dependencies = [ 2695 | "proc-macro-crate", 2696 | "proc-macro2", 2697 | "quote", 2698 | "syn 1.0.109", 2699 | ] 2700 | 2701 | [[package]] 2702 | name = "num_enum_derive" 2703 | version = "0.6.1" 2704 | source = "registry+https://github.com/rust-lang/crates.io-index" 2705 | checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" 2706 | dependencies = [ 2707 | "proc-macro-crate", 2708 | "proc-macro2", 2709 | "quote", 2710 | "syn 2.0.38", 2711 | ] 2712 | 2713 | [[package]] 2714 | name = "num_enum_derive" 2715 | version = "0.7.0" 2716 | source = "registry+https://github.com/rust-lang/crates.io-index" 2717 | checksum = "56ea360eafe1022f7cc56cd7b869ed57330fb2453d0c7831d99b74c65d2f5597" 2718 | dependencies = [ 2719 | "proc-macro-crate", 2720 | "proc-macro2", 2721 | "quote", 2722 | "syn 2.0.38", 2723 | ] 2724 | 2725 | [[package]] 2726 | name = "num_threads" 2727 | version = "0.1.6" 2728 | source = "registry+https://github.com/rust-lang/crates.io-index" 2729 | checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" 2730 | dependencies = [ 2731 | "libc", 2732 | ] 2733 | 2734 | [[package]] 2735 | name = "objc" 2736 | version = "0.2.7" 2737 | source = "registry+https://github.com/rust-lang/crates.io-index" 2738 | checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" 2739 | dependencies = [ 2740 | "malloc_buf", 2741 | "objc_exception", 2742 | ] 2743 | 2744 | [[package]] 2745 | name = "objc-foundation" 2746 | version = "0.1.1" 2747 | source = "registry+https://github.com/rust-lang/crates.io-index" 2748 | checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" 2749 | dependencies = [ 2750 | "block", 2751 | "objc", 2752 | "objc_id", 2753 | ] 2754 | 2755 | [[package]] 2756 | name = "objc-sys" 2757 | version = "0.2.0-beta.2" 2758 | source = "registry+https://github.com/rust-lang/crates.io-index" 2759 | checksum = "df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7" 2760 | 2761 | [[package]] 2762 | name = "objc2" 2763 | version = "0.3.0-beta.3.patch-leaks.3" 2764 | source = "registry+https://github.com/rust-lang/crates.io-index" 2765 | checksum = "7e01640f9f2cb1220bbe80325e179e532cb3379ebcd1bf2279d703c19fe3a468" 2766 | dependencies = [ 2767 | "block2", 2768 | "objc-sys", 2769 | "objc2-encode", 2770 | ] 2771 | 2772 | [[package]] 2773 | name = "objc2-encode" 2774 | version = "2.0.0-pre.2" 2775 | source = "registry+https://github.com/rust-lang/crates.io-index" 2776 | checksum = "abfcac41015b00a120608fdaa6938c44cb983fee294351cc4bac7638b4e50512" 2777 | dependencies = [ 2778 | "objc-sys", 2779 | ] 2780 | 2781 | [[package]] 2782 | name = "objc_exception" 2783 | version = "0.1.2" 2784 | source = "registry+https://github.com/rust-lang/crates.io-index" 2785 | checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" 2786 | dependencies = [ 2787 | "cc", 2788 | ] 2789 | 2790 | [[package]] 2791 | name = "objc_id" 2792 | version = "0.1.1" 2793 | source = "registry+https://github.com/rust-lang/crates.io-index" 2794 | checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" 2795 | dependencies = [ 2796 | "objc", 2797 | ] 2798 | 2799 | [[package]] 2800 | name = "once_cell" 2801 | version = "1.18.0" 2802 | source = "registry+https://github.com/rust-lang/crates.io-index" 2803 | checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" 2804 | dependencies = [ 2805 | "atomic-polyfill", 2806 | "critical-section", 2807 | ] 2808 | 2809 | [[package]] 2810 | name = "orbclient" 2811 | version = "0.3.46" 2812 | source = "registry+https://github.com/rust-lang/crates.io-index" 2813 | checksum = "8378ac0dfbd4e7895f2d2c1f1345cab3836910baf3a300b000d04250f0c8428f" 2814 | dependencies = [ 2815 | "redox_syscall", 2816 | ] 2817 | 2818 | [[package]] 2819 | name = "ordered-stream" 2820 | version = "0.2.0" 2821 | source = "registry+https://github.com/rust-lang/crates.io-index" 2822 | checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" 2823 | dependencies = [ 2824 | "futures-core", 2825 | "pin-project-lite", 2826 | ] 2827 | 2828 | [[package]] 2829 | name = "owned_ttf_parser" 2830 | version = "0.19.0" 2831 | source = "registry+https://github.com/rust-lang/crates.io-index" 2832 | checksum = "706de7e2214113d63a8238d1910463cfce781129a6f263d13fdb09ff64355ba4" 2833 | dependencies = [ 2834 | "ttf-parser 0.19.2", 2835 | ] 2836 | 2837 | [[package]] 2838 | name = "parking" 2839 | version = "2.1.1" 2840 | source = "registry+https://github.com/rust-lang/crates.io-index" 2841 | checksum = "e52c774a4c39359c1d1c52e43f73dd91a75a614652c825408eec30c95a9b2067" 2842 | 2843 | [[package]] 2844 | name = "paste" 2845 | version = "1.0.14" 2846 | source = "registry+https://github.com/rust-lang/crates.io-index" 2847 | checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" 2848 | 2849 | [[package]] 2850 | name = "peeking_take_while" 2851 | version = "0.1.2" 2852 | source = "registry+https://github.com/rust-lang/crates.io-index" 2853 | checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" 2854 | 2855 | [[package]] 2856 | name = "percent-encoding" 2857 | version = "2.3.0" 2858 | source = "registry+https://github.com/rust-lang/crates.io-index" 2859 | checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" 2860 | 2861 | [[package]] 2862 | name = "pico-args" 2863 | version = "0.5.0" 2864 | source = "registry+https://github.com/rust-lang/crates.io-index" 2865 | checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" 2866 | 2867 | [[package]] 2868 | name = "pin-project" 2869 | version = "1.1.3" 2870 | source = "registry+https://github.com/rust-lang/crates.io-index" 2871 | checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" 2872 | dependencies = [ 2873 | "pin-project-internal", 2874 | ] 2875 | 2876 | [[package]] 2877 | name = "pin-project-internal" 2878 | version = "1.1.3" 2879 | source = "registry+https://github.com/rust-lang/crates.io-index" 2880 | checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" 2881 | dependencies = [ 2882 | "proc-macro2", 2883 | "quote", 2884 | "syn 2.0.38", 2885 | ] 2886 | 2887 | [[package]] 2888 | name = "pin-project-lite" 2889 | version = "0.2.13" 2890 | source = "registry+https://github.com/rust-lang/crates.io-index" 2891 | checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" 2892 | 2893 | [[package]] 2894 | name = "pin-utils" 2895 | version = "0.1.0" 2896 | source = "registry+https://github.com/rust-lang/crates.io-index" 2897 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 2898 | 2899 | [[package]] 2900 | name = "pin-weak" 2901 | version = "1.1.0" 2902 | source = "registry+https://github.com/rust-lang/crates.io-index" 2903 | checksum = "b330c9d1b92dfe68442ca20b009c717d5f0b1e3cf4965e62f704c3c6e95a1305" 2904 | 2905 | [[package]] 2906 | name = "piper" 2907 | version = "0.2.1" 2908 | source = "registry+https://github.com/rust-lang/crates.io-index" 2909 | checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" 2910 | dependencies = [ 2911 | "atomic-waker", 2912 | "fastrand 2.0.1", 2913 | "futures-io", 2914 | ] 2915 | 2916 | [[package]] 2917 | name = "pkg-config" 2918 | version = "0.3.27" 2919 | source = "registry+https://github.com/rust-lang/crates.io-index" 2920 | checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" 2921 | 2922 | [[package]] 2923 | name = "png" 2924 | version = "0.17.10" 2925 | source = "registry+https://github.com/rust-lang/crates.io-index" 2926 | checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64" 2927 | dependencies = [ 2928 | "bitflags 1.3.2", 2929 | "crc32fast", 2930 | "fdeflate", 2931 | "flate2", 2932 | "miniz_oxide", 2933 | ] 2934 | 2935 | [[package]] 2936 | name = "polling" 2937 | version = "2.8.0" 2938 | source = "registry+https://github.com/rust-lang/crates.io-index" 2939 | checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" 2940 | dependencies = [ 2941 | "autocfg", 2942 | "bitflags 1.3.2", 2943 | "cfg-if", 2944 | "concurrent-queue", 2945 | "libc", 2946 | "log", 2947 | "pin-project-lite", 2948 | "windows-sys 0.48.0", 2949 | ] 2950 | 2951 | [[package]] 2952 | name = "pollster" 2953 | version = "0.3.0" 2954 | source = "registry+https://github.com/rust-lang/crates.io-index" 2955 | checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" 2956 | 2957 | [[package]] 2958 | name = "portable-atomic" 2959 | version = "1.4.3" 2960 | source = "registry+https://github.com/rust-lang/crates.io-index" 2961 | checksum = "31114a898e107c51bb1609ffaf55a0e011cf6a4d7f1170d0015a165082c0338b" 2962 | dependencies = [ 2963 | "critical-section", 2964 | ] 2965 | 2966 | [[package]] 2967 | name = "ppv-lite86" 2968 | version = "0.2.17" 2969 | source = "registry+https://github.com/rust-lang/crates.io-index" 2970 | checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" 2971 | 2972 | [[package]] 2973 | name = "prettyplease" 2974 | version = "0.2.15" 2975 | source = "registry+https://github.com/rust-lang/crates.io-index" 2976 | checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" 2977 | dependencies = [ 2978 | "proc-macro2", 2979 | "syn 2.0.38", 2980 | ] 2981 | 2982 | [[package]] 2983 | name = "proc-macro-crate" 2984 | version = "1.3.1" 2985 | source = "registry+https://github.com/rust-lang/crates.io-index" 2986 | checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" 2987 | dependencies = [ 2988 | "once_cell", 2989 | "toml_edit", 2990 | ] 2991 | 2992 | [[package]] 2993 | name = "proc-macro2" 2994 | version = "1.0.67" 2995 | source = "registry+https://github.com/rust-lang/crates.io-index" 2996 | checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" 2997 | dependencies = [ 2998 | "unicode-ident", 2999 | ] 3000 | 3001 | [[package]] 3002 | name = "pv-unlocker" 3003 | version = "0.8.0" 3004 | dependencies = [ 3005 | "ab_versions", 3006 | "clap", 3007 | "log", 3008 | "rayon", 3009 | "rfd", 3010 | "simplelog", 3011 | "slint", 3012 | "slint-build", 3013 | "wild", 3014 | "windres", 3015 | ] 3016 | 3017 | [[package]] 3018 | name = "qoi" 3019 | version = "0.4.1" 3020 | source = "registry+https://github.com/rust-lang/crates.io-index" 3021 | checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001" 3022 | dependencies = [ 3023 | "bytemuck", 3024 | ] 3025 | 3026 | [[package]] 3027 | name = "qttypes" 3028 | version = "0.2.9" 3029 | source = "registry+https://github.com/rust-lang/crates.io-index" 3030 | checksum = "116e96ef85a287acd172c5ed017ef56ee1d9e4f016558e8fc1625925f3f77468" 3031 | dependencies = [ 3032 | "cpp", 3033 | "cpp_build", 3034 | "semver", 3035 | ] 3036 | 3037 | [[package]] 3038 | name = "quick-xml" 3039 | version = "0.28.2" 3040 | source = "registry+https://github.com/rust-lang/crates.io-index" 3041 | checksum = "0ce5e73202a820a31f8a0ee32ada5e21029c81fd9e3ebf668a40832e4219d9d1" 3042 | dependencies = [ 3043 | "memchr", 3044 | ] 3045 | 3046 | [[package]] 3047 | name = "quote" 3048 | version = "1.0.33" 3049 | source = "registry+https://github.com/rust-lang/crates.io-index" 3050 | checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" 3051 | dependencies = [ 3052 | "proc-macro2", 3053 | ] 3054 | 3055 | [[package]] 3056 | name = "rand" 3057 | version = "0.8.5" 3058 | source = "registry+https://github.com/rust-lang/crates.io-index" 3059 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 3060 | dependencies = [ 3061 | "libc", 3062 | "rand_chacha", 3063 | "rand_core", 3064 | ] 3065 | 3066 | [[package]] 3067 | name = "rand_chacha" 3068 | version = "0.3.1" 3069 | source = "registry+https://github.com/rust-lang/crates.io-index" 3070 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 3071 | dependencies = [ 3072 | "ppv-lite86", 3073 | "rand_core", 3074 | ] 3075 | 3076 | [[package]] 3077 | name = "rand_core" 3078 | version = "0.6.4" 3079 | source = "registry+https://github.com/rust-lang/crates.io-index" 3080 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 3081 | dependencies = [ 3082 | "getrandom", 3083 | ] 3084 | 3085 | [[package]] 3086 | name = "raw-window-handle" 3087 | version = "0.5.2" 3088 | source = "registry+https://github.com/rust-lang/crates.io-index" 3089 | checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" 3090 | 3091 | [[package]] 3092 | name = "rayon" 3093 | version = "1.8.0" 3094 | source = "registry+https://github.com/rust-lang/crates.io-index" 3095 | checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" 3096 | dependencies = [ 3097 | "either", 3098 | "rayon-core", 3099 | ] 3100 | 3101 | [[package]] 3102 | name = "rayon-core" 3103 | version = "1.12.0" 3104 | source = "registry+https://github.com/rust-lang/crates.io-index" 3105 | checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" 3106 | dependencies = [ 3107 | "crossbeam-deque", 3108 | "crossbeam-utils", 3109 | ] 3110 | 3111 | [[package]] 3112 | name = "rctree" 3113 | version = "0.5.0" 3114 | source = "registry+https://github.com/rust-lang/crates.io-index" 3115 | checksum = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f" 3116 | 3117 | [[package]] 3118 | name = "redox_syscall" 3119 | version = "0.3.5" 3120 | source = "registry+https://github.com/rust-lang/crates.io-index" 3121 | checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" 3122 | dependencies = [ 3123 | "bitflags 1.3.2", 3124 | ] 3125 | 3126 | [[package]] 3127 | name = "regex" 3128 | version = "1.9.6" 3129 | source = "registry+https://github.com/rust-lang/crates.io-index" 3130 | checksum = "ebee201405406dbf528b8b672104ae6d6d63e6d118cb10e4d51abbc7b58044ff" 3131 | dependencies = [ 3132 | "aho-corasick", 3133 | "memchr", 3134 | "regex-automata", 3135 | "regex-syntax", 3136 | ] 3137 | 3138 | [[package]] 3139 | name = "regex-automata" 3140 | version = "0.3.9" 3141 | source = "registry+https://github.com/rust-lang/crates.io-index" 3142 | checksum = "59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9" 3143 | dependencies = [ 3144 | "aho-corasick", 3145 | "memchr", 3146 | "regex-syntax", 3147 | ] 3148 | 3149 | [[package]] 3150 | name = "regex-syntax" 3151 | version = "0.7.5" 3152 | source = "registry+https://github.com/rust-lang/crates.io-index" 3153 | checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" 3154 | 3155 | [[package]] 3156 | name = "resvg" 3157 | version = "0.34.1" 3158 | source = "registry+https://github.com/rust-lang/crates.io-index" 3159 | checksum = "b0e3d65cea36eefb28a020edb6e66341764e00cd4b426e0c1f0599b1adaa78f5" 3160 | dependencies = [ 3161 | "log", 3162 | "pico-args", 3163 | "rgb", 3164 | "svgtypes", 3165 | "tiny-skia 0.10.0", 3166 | "usvg", 3167 | ] 3168 | 3169 | [[package]] 3170 | name = "rfd" 3171 | version = "0.12.0" 3172 | source = "registry+https://github.com/rust-lang/crates.io-index" 3173 | checksum = "241a0deb168c88050d872294f7b3106c1dfa8740942bcc97bc91b98e97b5c501" 3174 | dependencies = [ 3175 | "ashpd", 3176 | "async-io", 3177 | "block", 3178 | "dispatch", 3179 | "futures-util", 3180 | "js-sys", 3181 | "log", 3182 | "objc", 3183 | "objc-foundation", 3184 | "objc_id", 3185 | "pollster", 3186 | "raw-window-handle", 3187 | "urlencoding", 3188 | "wasm-bindgen", 3189 | "wasm-bindgen-futures", 3190 | "web-sys", 3191 | "windows-sys 0.48.0", 3192 | ] 3193 | 3194 | [[package]] 3195 | name = "rgb" 3196 | version = "0.8.36" 3197 | source = "registry+https://github.com/rust-lang/crates.io-index" 3198 | checksum = "20ec2d3e3fc7a92ced357df9cebd5a10b6fb2aa1ee797bf7e9ce2f17dffc8f59" 3199 | dependencies = [ 3200 | "bytemuck", 3201 | ] 3202 | 3203 | [[package]] 3204 | name = "ring" 3205 | version = "0.16.20" 3206 | source = "registry+https://github.com/rust-lang/crates.io-index" 3207 | checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" 3208 | dependencies = [ 3209 | "cc", 3210 | "libc", 3211 | "once_cell", 3212 | "spin 0.5.2", 3213 | "untrusted", 3214 | "web-sys", 3215 | "winapi", 3216 | ] 3217 | 3218 | [[package]] 3219 | name = "rowan" 3220 | version = "0.15.13" 3221 | source = "registry+https://github.com/rust-lang/crates.io-index" 3222 | checksum = "906057e449592587bf6724f00155bf82a6752c868d78a8fb3aa41f4e6357cfe8" 3223 | dependencies = [ 3224 | "countme", 3225 | "hashbrown 0.12.3", 3226 | "memoffset 0.9.0", 3227 | "rustc-hash", 3228 | "text-size", 3229 | ] 3230 | 3231 | [[package]] 3232 | name = "roxmltree" 3233 | version = "0.18.1" 3234 | source = "registry+https://github.com/rust-lang/crates.io-index" 3235 | checksum = "862340e351ce1b271a378ec53f304a5558f7db87f3769dc655a8f6ecbb68b302" 3236 | dependencies = [ 3237 | "xmlparser", 3238 | ] 3239 | 3240 | [[package]] 3241 | name = "rustc-hash" 3242 | version = "1.1.0" 3243 | source = "registry+https://github.com/rust-lang/crates.io-index" 3244 | checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" 3245 | 3246 | [[package]] 3247 | name = "rustc_version" 3248 | version = "0.4.0" 3249 | source = "registry+https://github.com/rust-lang/crates.io-index" 3250 | checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" 3251 | dependencies = [ 3252 | "semver", 3253 | ] 3254 | 3255 | [[package]] 3256 | name = "rustix" 3257 | version = "0.37.27" 3258 | source = "registry+https://github.com/rust-lang/crates.io-index" 3259 | checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" 3260 | dependencies = [ 3261 | "bitflags 1.3.2", 3262 | "errno", 3263 | "io-lifetimes", 3264 | "libc", 3265 | "linux-raw-sys 0.3.8", 3266 | "windows-sys 0.48.0", 3267 | ] 3268 | 3269 | [[package]] 3270 | name = "rustix" 3271 | version = "0.38.17" 3272 | source = "registry+https://github.com/rust-lang/crates.io-index" 3273 | checksum = "f25469e9ae0f3d0047ca8b93fc56843f38e6774f0914a107ff8b41be8be8e0b7" 3274 | dependencies = [ 3275 | "bitflags 2.4.0", 3276 | "errno", 3277 | "libc", 3278 | "linux-raw-sys 0.4.8", 3279 | "windows-sys 0.48.0", 3280 | ] 3281 | 3282 | [[package]] 3283 | name = "rustls" 3284 | version = "0.21.7" 3285 | source = "registry+https://github.com/rust-lang/crates.io-index" 3286 | checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" 3287 | dependencies = [ 3288 | "log", 3289 | "ring", 3290 | "rustls-webpki", 3291 | "sct", 3292 | ] 3293 | 3294 | [[package]] 3295 | name = "rustls-webpki" 3296 | version = "0.101.6" 3297 | source = "registry+https://github.com/rust-lang/crates.io-index" 3298 | checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe" 3299 | dependencies = [ 3300 | "ring", 3301 | "untrusted", 3302 | ] 3303 | 3304 | [[package]] 3305 | name = "rustversion" 3306 | version = "1.0.14" 3307 | source = "registry+https://github.com/rust-lang/crates.io-index" 3308 | checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" 3309 | 3310 | [[package]] 3311 | name = "rustybuzz" 3312 | version = "0.7.0" 3313 | source = "registry+https://github.com/rust-lang/crates.io-index" 3314 | checksum = "162bdf42e261bee271b3957691018634488084ef577dddeb6420a9684cab2a6a" 3315 | dependencies = [ 3316 | "bitflags 1.3.2", 3317 | "bytemuck", 3318 | "smallvec", 3319 | "ttf-parser 0.18.1", 3320 | "unicode-bidi-mirroring", 3321 | "unicode-ccc", 3322 | "unicode-general-category", 3323 | "unicode-script", 3324 | ] 3325 | 3326 | [[package]] 3327 | name = "ryu" 3328 | version = "1.0.15" 3329 | source = "registry+https://github.com/rust-lang/crates.io-index" 3330 | checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" 3331 | 3332 | [[package]] 3333 | name = "scoped-tls" 3334 | version = "1.0.1" 3335 | source = "registry+https://github.com/rust-lang/crates.io-index" 3336 | checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" 3337 | 3338 | [[package]] 3339 | name = "scoped-tls-hkt" 3340 | version = "0.1.4" 3341 | source = "registry+https://github.com/rust-lang/crates.io-index" 3342 | checksum = "3ddc765d3410d9f6c6ca071bf0b67f6b01e3ec4595dc3892f02677e75819dddc" 3343 | 3344 | [[package]] 3345 | name = "scopeguard" 3346 | version = "1.2.0" 3347 | source = "registry+https://github.com/rust-lang/crates.io-index" 3348 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 3349 | 3350 | [[package]] 3351 | name = "sct" 3352 | version = "0.7.0" 3353 | source = "registry+https://github.com/rust-lang/crates.io-index" 3354 | checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" 3355 | dependencies = [ 3356 | "ring", 3357 | "untrusted", 3358 | ] 3359 | 3360 | [[package]] 3361 | name = "sctk-adwaita" 3362 | version = "0.5.4" 3363 | source = "registry+https://github.com/rust-lang/crates.io-index" 3364 | checksum = "cda4e97be1fd174ccc2aae81c8b694e803fa99b34e8fd0f057a9d70698e3ed09" 3365 | dependencies = [ 3366 | "ab_glyph", 3367 | "log", 3368 | "memmap2 0.5.10", 3369 | "smithay-client-toolkit", 3370 | "tiny-skia 0.8.4", 3371 | ] 3372 | 3373 | [[package]] 3374 | name = "semver" 3375 | version = "1.0.19" 3376 | source = "registry+https://github.com/rust-lang/crates.io-index" 3377 | checksum = "ad977052201c6de01a8ef2aa3378c4bd23217a056337d1d6da40468d267a4fb0" 3378 | 3379 | [[package]] 3380 | name = "send_wrapper" 3381 | version = "0.6.0" 3382 | source = "registry+https://github.com/rust-lang/crates.io-index" 3383 | checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" 3384 | 3385 | [[package]] 3386 | name = "serde" 3387 | version = "1.0.188" 3388 | source = "registry+https://github.com/rust-lang/crates.io-index" 3389 | checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" 3390 | dependencies = [ 3391 | "serde_derive", 3392 | ] 3393 | 3394 | [[package]] 3395 | name = "serde_derive" 3396 | version = "1.0.188" 3397 | source = "registry+https://github.com/rust-lang/crates.io-index" 3398 | checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" 3399 | dependencies = [ 3400 | "proc-macro2", 3401 | "quote", 3402 | "syn 2.0.38", 3403 | ] 3404 | 3405 | [[package]] 3406 | name = "serde_json" 3407 | version = "1.0.107" 3408 | source = "registry+https://github.com/rust-lang/crates.io-index" 3409 | checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65" 3410 | dependencies = [ 3411 | "itoa", 3412 | "ryu", 3413 | "serde", 3414 | ] 3415 | 3416 | [[package]] 3417 | name = "serde_repr" 3418 | version = "0.1.16" 3419 | source = "registry+https://github.com/rust-lang/crates.io-index" 3420 | checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" 3421 | dependencies = [ 3422 | "proc-macro2", 3423 | "quote", 3424 | "syn 2.0.38", 3425 | ] 3426 | 3427 | [[package]] 3428 | name = "serde_spanned" 3429 | version = "0.6.3" 3430 | source = "registry+https://github.com/rust-lang/crates.io-index" 3431 | checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" 3432 | dependencies = [ 3433 | "serde", 3434 | ] 3435 | 3436 | [[package]] 3437 | name = "sha1" 3438 | version = "0.10.6" 3439 | source = "registry+https://github.com/rust-lang/crates.io-index" 3440 | checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" 3441 | dependencies = [ 3442 | "cfg-if", 3443 | "cpufeatures", 3444 | "digest", 3445 | ] 3446 | 3447 | [[package]] 3448 | name = "shlex" 3449 | version = "1.3.0" 3450 | source = "registry+https://github.com/rust-lang/crates.io-index" 3451 | checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 3452 | 3453 | [[package]] 3454 | name = "signal-hook" 3455 | version = "0.3.17" 3456 | source = "registry+https://github.com/rust-lang/crates.io-index" 3457 | checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" 3458 | dependencies = [ 3459 | "libc", 3460 | "signal-hook-registry", 3461 | ] 3462 | 3463 | [[package]] 3464 | name = "signal-hook-registry" 3465 | version = "1.4.1" 3466 | source = "registry+https://github.com/rust-lang/crates.io-index" 3467 | checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" 3468 | dependencies = [ 3469 | "libc", 3470 | ] 3471 | 3472 | [[package]] 3473 | name = "simd-adler32" 3474 | version = "0.3.7" 3475 | source = "registry+https://github.com/rust-lang/crates.io-index" 3476 | checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" 3477 | 3478 | [[package]] 3479 | name = "simplecss" 3480 | version = "0.2.1" 3481 | source = "registry+https://github.com/rust-lang/crates.io-index" 3482 | checksum = "a11be7c62927d9427e9f40f3444d5499d868648e2edbc4e2116de69e7ec0e89d" 3483 | dependencies = [ 3484 | "log", 3485 | ] 3486 | 3487 | [[package]] 3488 | name = "simplelog" 3489 | version = "0.12.1" 3490 | source = "registry+https://github.com/rust-lang/crates.io-index" 3491 | checksum = "acee08041c5de3d5048c8b3f6f13fafb3026b24ba43c6a695a0c76179b844369" 3492 | dependencies = [ 3493 | "log", 3494 | "termcolor", 3495 | "time", 3496 | ] 3497 | 3498 | [[package]] 3499 | name = "siphasher" 3500 | version = "0.3.11" 3501 | source = "registry+https://github.com/rust-lang/crates.io-index" 3502 | checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" 3503 | 3504 | [[package]] 3505 | name = "skia-bindings" 3506 | version = "0.66.3" 3507 | source = "registry+https://github.com/rust-lang/crates.io-index" 3508 | checksum = "2a42e3db408fbe7beafeadcaf5309c59eb99cc80979cab1b49e2a47539adf8ab" 3509 | dependencies = [ 3510 | "bindgen", 3511 | "cc", 3512 | "flate2", 3513 | "heck", 3514 | "lazy_static", 3515 | "regex", 3516 | "serde_json", 3517 | "tar", 3518 | "toml", 3519 | "ureq", 3520 | ] 3521 | 3522 | [[package]] 3523 | name = "skia-safe" 3524 | version = "0.66.3" 3525 | source = "registry+https://github.com/rust-lang/crates.io-index" 3526 | checksum = "6d03680a0ce867756947f2d5fa92078915342f81996c43b61847fed565068f75" 3527 | dependencies = [ 3528 | "bitflags 2.4.0", 3529 | "lazy_static", 3530 | "skia-bindings", 3531 | "winapi", 3532 | "wio", 3533 | ] 3534 | 3535 | [[package]] 3536 | name = "slab" 3537 | version = "0.4.9" 3538 | source = "registry+https://github.com/rust-lang/crates.io-index" 3539 | checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 3540 | dependencies = [ 3541 | "autocfg", 3542 | ] 3543 | 3544 | [[package]] 3545 | name = "slint" 3546 | version = "1.2.2" 3547 | source = "registry+https://github.com/rust-lang/crates.io-index" 3548 | checksum = "c9a6f76430dde7dc57d374c37aa3103532813cc275a94b515b5907e91dd19334" 3549 | dependencies = [ 3550 | "const-field-offset", 3551 | "i-slint-backend-selector", 3552 | "i-slint-core", 3553 | "i-slint-renderer-femtovg", 3554 | "num-traits", 3555 | "once_cell", 3556 | "pin-weak", 3557 | "slint-macros", 3558 | "vtable", 3559 | ] 3560 | 3561 | [[package]] 3562 | name = "slint-build" 3563 | version = "1.2.2" 3564 | source = "registry+https://github.com/rust-lang/crates.io-index" 3565 | checksum = "c6edc7309a89f14c685086544ea3dbd7668ccdeb03d774f06879f38237e55815" 3566 | dependencies = [ 3567 | "i-slint-compiler", 3568 | "spin_on", 3569 | "thiserror", 3570 | "toml_edit", 3571 | ] 3572 | 3573 | [[package]] 3574 | name = "slint-macros" 3575 | version = "1.2.2" 3576 | source = "registry+https://github.com/rust-lang/crates.io-index" 3577 | checksum = "33f96e5ea0574ac69b773b159d43124f7a329107cf60c11516e63d38c2d8c89c" 3578 | dependencies = [ 3579 | "i-slint-compiler", 3580 | "proc-macro2", 3581 | "quote", 3582 | "spin_on", 3583 | ] 3584 | 3585 | [[package]] 3586 | name = "slotmap" 3587 | version = "1.0.6" 3588 | source = "registry+https://github.com/rust-lang/crates.io-index" 3589 | checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342" 3590 | dependencies = [ 3591 | "version_check", 3592 | ] 3593 | 3594 | [[package]] 3595 | name = "smallvec" 3596 | version = "1.11.1" 3597 | source = "registry+https://github.com/rust-lang/crates.io-index" 3598 | checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" 3599 | 3600 | [[package]] 3601 | name = "smithay-client-toolkit" 3602 | version = "0.16.1" 3603 | source = "registry+https://github.com/rust-lang/crates.io-index" 3604 | checksum = "870427e30b8f2cbe64bf43ec4b86e88fe39b0a84b3f15efd9c9c2d020bc86eb9" 3605 | dependencies = [ 3606 | "bitflags 1.3.2", 3607 | "calloop 0.10.6", 3608 | "dlib", 3609 | "lazy_static", 3610 | "log", 3611 | "memmap2 0.5.10", 3612 | "nix 0.24.3", 3613 | "pkg-config", 3614 | "wayland-client 0.29.5", 3615 | "wayland-cursor", 3616 | "wayland-protocols", 3617 | ] 3618 | 3619 | [[package]] 3620 | name = "smithay-clipboard" 3621 | version = "0.6.6" 3622 | source = "registry+https://github.com/rust-lang/crates.io-index" 3623 | checksum = "0a345c870a1fae0b1b779085e81b51e614767c239e93503588e54c5b17f4b0e8" 3624 | dependencies = [ 3625 | "smithay-client-toolkit", 3626 | "wayland-client 0.29.5", 3627 | ] 3628 | 3629 | [[package]] 3630 | name = "smol_str" 3631 | version = "0.2.0" 3632 | source = "registry+https://github.com/rust-lang/crates.io-index" 3633 | checksum = "74212e6bbe9a4352329b2f68ba3130c15a3f26fe88ff22dbdc6cdd58fa85e99c" 3634 | dependencies = [ 3635 | "serde", 3636 | ] 3637 | 3638 | [[package]] 3639 | name = "socket2" 3640 | version = "0.4.9" 3641 | source = "registry+https://github.com/rust-lang/crates.io-index" 3642 | checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" 3643 | dependencies = [ 3644 | "libc", 3645 | "winapi", 3646 | ] 3647 | 3648 | [[package]] 3649 | name = "softbuffer" 3650 | version = "0.3.1" 3651 | source = "registry+https://github.com/rust-lang/crates.io-index" 3652 | checksum = "8bd56fe5e6c6f1881aad2bd37acaef4ac4a3689c970dfcbd87a36a6e60210ec8" 3653 | dependencies = [ 3654 | "as-raw-xcb-connection", 3655 | "bytemuck", 3656 | "cfg_aliases", 3657 | "cocoa 0.25.0", 3658 | "core-graphics 0.23.1", 3659 | "drm", 3660 | "drm-sys", 3661 | "fastrand 2.0.1", 3662 | "foreign-types 0.5.0", 3663 | "js-sys", 3664 | "log", 3665 | "memmap2 0.7.1", 3666 | "nix 0.26.4", 3667 | "objc", 3668 | "raw-window-handle", 3669 | "redox_syscall", 3670 | "tiny-xlib", 3671 | "wasm-bindgen", 3672 | "wayland-backend", 3673 | "wayland-client 0.30.2", 3674 | "wayland-sys 0.30.1", 3675 | "web-sys", 3676 | "windows-sys 0.48.0", 3677 | "x11rb 0.12.0", 3678 | ] 3679 | 3680 | [[package]] 3681 | name = "spin" 3682 | version = "0.5.2" 3683 | source = "registry+https://github.com/rust-lang/crates.io-index" 3684 | checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" 3685 | 3686 | [[package]] 3687 | name = "spin" 3688 | version = "0.9.8" 3689 | source = "registry+https://github.com/rust-lang/crates.io-index" 3690 | checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" 3691 | dependencies = [ 3692 | "lock_api", 3693 | ] 3694 | 3695 | [[package]] 3696 | name = "spin_on" 3697 | version = "0.1.1" 3698 | source = "registry+https://github.com/rust-lang/crates.io-index" 3699 | checksum = "076e103ed41b9864aa838287efe5f4e3a7a0362dd00671ae62a212e5e4612da2" 3700 | dependencies = [ 3701 | "pin-utils", 3702 | ] 3703 | 3704 | [[package]] 3705 | name = "stable_deref_trait" 3706 | version = "1.2.0" 3707 | source = "registry+https://github.com/rust-lang/crates.io-index" 3708 | checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 3709 | 3710 | [[package]] 3711 | name = "static_assertions" 3712 | version = "1.1.0" 3713 | source = "registry+https://github.com/rust-lang/crates.io-index" 3714 | checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" 3715 | 3716 | [[package]] 3717 | name = "strict-num" 3718 | version = "0.1.1" 3719 | source = "registry+https://github.com/rust-lang/crates.io-index" 3720 | checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" 3721 | dependencies = [ 3722 | "float-cmp", 3723 | ] 3724 | 3725 | [[package]] 3726 | name = "strsim" 3727 | version = "0.10.0" 3728 | source = "registry+https://github.com/rust-lang/crates.io-index" 3729 | checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" 3730 | 3731 | [[package]] 3732 | name = "strum" 3733 | version = "0.25.0" 3734 | source = "registry+https://github.com/rust-lang/crates.io-index" 3735 | checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" 3736 | dependencies = [ 3737 | "strum_macros", 3738 | ] 3739 | 3740 | [[package]] 3741 | name = "strum_macros" 3742 | version = "0.25.2" 3743 | source = "registry+https://github.com/rust-lang/crates.io-index" 3744 | checksum = "ad8d03b598d3d0fff69bf533ee3ef19b8eeb342729596df84bcc7e1f96ec4059" 3745 | dependencies = [ 3746 | "heck", 3747 | "proc-macro2", 3748 | "quote", 3749 | "rustversion", 3750 | "syn 2.0.38", 3751 | ] 3752 | 3753 | [[package]] 3754 | name = "svgtypes" 3755 | version = "0.11.0" 3756 | source = "registry+https://github.com/rust-lang/crates.io-index" 3757 | checksum = "ed4b0611e7f3277f68c0fa18e385d9e2d26923691379690039548f867cef02a7" 3758 | dependencies = [ 3759 | "kurbo", 3760 | "siphasher", 3761 | ] 3762 | 3763 | [[package]] 3764 | name = "syn" 3765 | version = "1.0.109" 3766 | source = "registry+https://github.com/rust-lang/crates.io-index" 3767 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 3768 | dependencies = [ 3769 | "proc-macro2", 3770 | "quote", 3771 | "unicode-ident", 3772 | ] 3773 | 3774 | [[package]] 3775 | name = "syn" 3776 | version = "2.0.38" 3777 | source = "registry+https://github.com/rust-lang/crates.io-index" 3778 | checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" 3779 | dependencies = [ 3780 | "proc-macro2", 3781 | "quote", 3782 | "unicode-ident", 3783 | ] 3784 | 3785 | [[package]] 3786 | name = "tar" 3787 | version = "0.4.40" 3788 | source = "registry+https://github.com/rust-lang/crates.io-index" 3789 | checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" 3790 | dependencies = [ 3791 | "filetime", 3792 | "libc", 3793 | "xattr", 3794 | ] 3795 | 3796 | [[package]] 3797 | name = "tempfile" 3798 | version = "3.8.0" 3799 | source = "registry+https://github.com/rust-lang/crates.io-index" 3800 | checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" 3801 | dependencies = [ 3802 | "cfg-if", 3803 | "fastrand 2.0.1", 3804 | "redox_syscall", 3805 | "rustix 0.38.17", 3806 | "windows-sys 0.48.0", 3807 | ] 3808 | 3809 | [[package]] 3810 | name = "termcolor" 3811 | version = "1.1.3" 3812 | source = "registry+https://github.com/rust-lang/crates.io-index" 3813 | checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" 3814 | dependencies = [ 3815 | "winapi-util", 3816 | ] 3817 | 3818 | [[package]] 3819 | name = "text-size" 3820 | version = "1.1.1" 3821 | source = "registry+https://github.com/rust-lang/crates.io-index" 3822 | checksum = "f18aa187839b2bdb1ad2fa35ead8c4c2976b64e4363c386d45ac0f7ee85c9233" 3823 | 3824 | [[package]] 3825 | name = "thiserror" 3826 | version = "1.0.49" 3827 | source = "registry+https://github.com/rust-lang/crates.io-index" 3828 | checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4" 3829 | dependencies = [ 3830 | "thiserror-impl", 3831 | ] 3832 | 3833 | [[package]] 3834 | name = "thiserror-impl" 3835 | version = "1.0.49" 3836 | source = "registry+https://github.com/rust-lang/crates.io-index" 3837 | checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" 3838 | dependencies = [ 3839 | "proc-macro2", 3840 | "quote", 3841 | "syn 2.0.38", 3842 | ] 3843 | 3844 | [[package]] 3845 | name = "tiff" 3846 | version = "0.9.0" 3847 | source = "registry+https://github.com/rust-lang/crates.io-index" 3848 | checksum = "6d172b0f4d3fba17ba89811858b9d3d97f928aece846475bbda076ca46736211" 3849 | dependencies = [ 3850 | "flate2", 3851 | "jpeg-decoder", 3852 | "weezl", 3853 | ] 3854 | 3855 | [[package]] 3856 | name = "time" 3857 | version = "0.3.29" 3858 | source = "registry+https://github.com/rust-lang/crates.io-index" 3859 | checksum = "426f806f4089c493dcac0d24c29c01e2c38baf8e30f1b716ee37e83d200b18fe" 3860 | dependencies = [ 3861 | "deranged", 3862 | "itoa", 3863 | "libc", 3864 | "num_threads", 3865 | "serde", 3866 | "time-core", 3867 | "time-macros", 3868 | ] 3869 | 3870 | [[package]] 3871 | name = "time-core" 3872 | version = "0.1.2" 3873 | source = "registry+https://github.com/rust-lang/crates.io-index" 3874 | checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" 3875 | 3876 | [[package]] 3877 | name = "time-macros" 3878 | version = "0.2.15" 3879 | source = "registry+https://github.com/rust-lang/crates.io-index" 3880 | checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" 3881 | dependencies = [ 3882 | "time-core", 3883 | ] 3884 | 3885 | [[package]] 3886 | name = "tiny-skia" 3887 | version = "0.8.4" 3888 | source = "registry+https://github.com/rust-lang/crates.io-index" 3889 | checksum = "df8493a203431061e901613751931f047d1971337153f96d0e5e363d6dbf6a67" 3890 | dependencies = [ 3891 | "arrayref", 3892 | "arrayvec", 3893 | "bytemuck", 3894 | "cfg-if", 3895 | "png", 3896 | "tiny-skia-path 0.8.4", 3897 | ] 3898 | 3899 | [[package]] 3900 | name = "tiny-skia" 3901 | version = "0.10.0" 3902 | source = "registry+https://github.com/rust-lang/crates.io-index" 3903 | checksum = "7db11798945fa5c3e5490c794ccca7c6de86d3afdd54b4eb324109939c6f37bc" 3904 | dependencies = [ 3905 | "arrayref", 3906 | "arrayvec", 3907 | "bytemuck", 3908 | "cfg-if", 3909 | "log", 3910 | "png", 3911 | "tiny-skia-path 0.10.0", 3912 | ] 3913 | 3914 | [[package]] 3915 | name = "tiny-skia-path" 3916 | version = "0.8.4" 3917 | source = "registry+https://github.com/rust-lang/crates.io-index" 3918 | checksum = "adbfb5d3f3dd57a0e11d12f4f13d4ebbbc1b5c15b7ab0a156d030b21da5f677c" 3919 | dependencies = [ 3920 | "arrayref", 3921 | "bytemuck", 3922 | "strict-num", 3923 | ] 3924 | 3925 | [[package]] 3926 | name = "tiny-skia-path" 3927 | version = "0.10.0" 3928 | source = "registry+https://github.com/rust-lang/crates.io-index" 3929 | checksum = "2f60aa35c89ac2687ace1a2556eaaea68e8c0d47408a2e3e7f5c98a489e7281c" 3930 | dependencies = [ 3931 | "arrayref", 3932 | "bytemuck", 3933 | "strict-num", 3934 | ] 3935 | 3936 | [[package]] 3937 | name = "tiny-xlib" 3938 | version = "0.2.2" 3939 | source = "registry+https://github.com/rust-lang/crates.io-index" 3940 | checksum = "d4098d49269baa034a8d1eae9bd63e9fa532148d772121dace3bcd6a6c98eb6d" 3941 | dependencies = [ 3942 | "as-raw-xcb-connection", 3943 | "ctor", 3944 | "libloading 0.8.1", 3945 | "tracing", 3946 | ] 3947 | 3948 | [[package]] 3949 | name = "tinyvec" 3950 | version = "1.6.0" 3951 | source = "registry+https://github.com/rust-lang/crates.io-index" 3952 | checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" 3953 | dependencies = [ 3954 | "tinyvec_macros", 3955 | ] 3956 | 3957 | [[package]] 3958 | name = "tinyvec_macros" 3959 | version = "0.1.1" 3960 | source = "registry+https://github.com/rust-lang/crates.io-index" 3961 | checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 3962 | 3963 | [[package]] 3964 | name = "toml" 3965 | version = "0.7.8" 3966 | source = "registry+https://github.com/rust-lang/crates.io-index" 3967 | checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" 3968 | dependencies = [ 3969 | "serde", 3970 | "serde_spanned", 3971 | "toml_datetime", 3972 | "toml_edit", 3973 | ] 3974 | 3975 | [[package]] 3976 | name = "toml_datetime" 3977 | version = "0.6.3" 3978 | source = "registry+https://github.com/rust-lang/crates.io-index" 3979 | checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" 3980 | dependencies = [ 3981 | "serde", 3982 | ] 3983 | 3984 | [[package]] 3985 | name = "toml_edit" 3986 | version = "0.19.15" 3987 | source = "registry+https://github.com/rust-lang/crates.io-index" 3988 | checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" 3989 | dependencies = [ 3990 | "indexmap", 3991 | "serde", 3992 | "serde_spanned", 3993 | "toml_datetime", 3994 | "winnow", 3995 | ] 3996 | 3997 | [[package]] 3998 | name = "tracing" 3999 | version = "0.1.37" 4000 | source = "registry+https://github.com/rust-lang/crates.io-index" 4001 | checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" 4002 | dependencies = [ 4003 | "cfg-if", 4004 | "pin-project-lite", 4005 | "tracing-attributes", 4006 | "tracing-core", 4007 | ] 4008 | 4009 | [[package]] 4010 | name = "tracing-attributes" 4011 | version = "0.1.26" 4012 | source = "registry+https://github.com/rust-lang/crates.io-index" 4013 | checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" 4014 | dependencies = [ 4015 | "proc-macro2", 4016 | "quote", 4017 | "syn 2.0.38", 4018 | ] 4019 | 4020 | [[package]] 4021 | name = "tracing-core" 4022 | version = "0.1.31" 4023 | source = "registry+https://github.com/rust-lang/crates.io-index" 4024 | checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" 4025 | dependencies = [ 4026 | "once_cell", 4027 | ] 4028 | 4029 | [[package]] 4030 | name = "ttf-parser" 4031 | version = "0.15.2" 4032 | source = "registry+https://github.com/rust-lang/crates.io-index" 4033 | checksum = "7b3e06c9b9d80ed6b745c7159c40b311ad2916abb34a49e9be2653b90db0d8dd" 4034 | 4035 | [[package]] 4036 | name = "ttf-parser" 4037 | version = "0.18.1" 4038 | source = "registry+https://github.com/rust-lang/crates.io-index" 4039 | checksum = "0609f771ad9c6155384897e1df4d948e692667cc0588548b68eb44d052b27633" 4040 | 4041 | [[package]] 4042 | name = "ttf-parser" 4043 | version = "0.19.2" 4044 | source = "registry+https://github.com/rust-lang/crates.io-index" 4045 | checksum = "49d64318d8311fc2668e48b63969f4343e0a85c4a109aa8460d6672e364b8bd1" 4046 | 4047 | [[package]] 4048 | name = "typenum" 4049 | version = "1.17.0" 4050 | source = "registry+https://github.com/rust-lang/crates.io-index" 4051 | checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" 4052 | 4053 | [[package]] 4054 | name = "udev" 4055 | version = "0.7.0" 4056 | source = "registry+https://github.com/rust-lang/crates.io-index" 4057 | checksum = "4ebdbbd670373442a12fe9ef7aeb53aec4147a5a27a00bbc3ab639f08f48191a" 4058 | dependencies = [ 4059 | "libc", 4060 | "libudev-sys", 4061 | "pkg-config", 4062 | ] 4063 | 4064 | [[package]] 4065 | name = "uds_windows" 4066 | version = "1.0.2" 4067 | source = "registry+https://github.com/rust-lang/crates.io-index" 4068 | checksum = "ce65604324d3cce9b966701489fbd0cf318cb1f7bd9dd07ac9a4ee6fb791930d" 4069 | dependencies = [ 4070 | "tempfile", 4071 | "winapi", 4072 | ] 4073 | 4074 | [[package]] 4075 | name = "unicode-bidi" 4076 | version = "0.3.13" 4077 | source = "registry+https://github.com/rust-lang/crates.io-index" 4078 | checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" 4079 | 4080 | [[package]] 4081 | name = "unicode-bidi-mirroring" 4082 | version = "0.1.0" 4083 | source = "registry+https://github.com/rust-lang/crates.io-index" 4084 | checksum = "56d12260fb92d52f9008be7e4bca09f584780eb2266dc8fecc6a192bec561694" 4085 | 4086 | [[package]] 4087 | name = "unicode-ccc" 4088 | version = "0.1.2" 4089 | source = "registry+https://github.com/rust-lang/crates.io-index" 4090 | checksum = "cc2520efa644f8268dce4dcd3050eaa7fc044fca03961e9998ac7e2e92b77cf1" 4091 | 4092 | [[package]] 4093 | name = "unicode-general-category" 4094 | version = "0.6.0" 4095 | source = "registry+https://github.com/rust-lang/crates.io-index" 4096 | checksum = "2281c8c1d221438e373249e065ca4989c4c36952c211ff21a0ee91c44a3869e7" 4097 | 4098 | [[package]] 4099 | name = "unicode-ident" 4100 | version = "1.0.12" 4101 | source = "registry+https://github.com/rust-lang/crates.io-index" 4102 | checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" 4103 | 4104 | [[package]] 4105 | name = "unicode-linebreak" 4106 | version = "0.1.5" 4107 | source = "registry+https://github.com/rust-lang/crates.io-index" 4108 | checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" 4109 | 4110 | [[package]] 4111 | name = "unicode-normalization" 4112 | version = "0.1.22" 4113 | source = "registry+https://github.com/rust-lang/crates.io-index" 4114 | checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" 4115 | dependencies = [ 4116 | "tinyvec", 4117 | ] 4118 | 4119 | [[package]] 4120 | name = "unicode-script" 4121 | version = "0.5.5" 4122 | source = "registry+https://github.com/rust-lang/crates.io-index" 4123 | checksum = "7d817255e1bed6dfd4ca47258685d14d2bdcfbc64fdc9e3819bd5848057b8ecc" 4124 | 4125 | [[package]] 4126 | name = "unicode-segmentation" 4127 | version = "1.10.1" 4128 | source = "registry+https://github.com/rust-lang/crates.io-index" 4129 | checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" 4130 | 4131 | [[package]] 4132 | name = "unicode-vo" 4133 | version = "0.1.0" 4134 | source = "registry+https://github.com/rust-lang/crates.io-index" 4135 | checksum = "b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94" 4136 | 4137 | [[package]] 4138 | name = "unicode-xid" 4139 | version = "0.2.4" 4140 | source = "registry+https://github.com/rust-lang/crates.io-index" 4141 | checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" 4142 | 4143 | [[package]] 4144 | name = "untrusted" 4145 | version = "0.7.1" 4146 | source = "registry+https://github.com/rust-lang/crates.io-index" 4147 | checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" 4148 | 4149 | [[package]] 4150 | name = "ureq" 4151 | version = "2.8.0" 4152 | source = "registry+https://github.com/rust-lang/crates.io-index" 4153 | checksum = "f5ccd538d4a604753ebc2f17cd9946e89b77bf87f6a8e2309667c6f2e87855e3" 4154 | dependencies = [ 4155 | "base64", 4156 | "flate2", 4157 | "log", 4158 | "once_cell", 4159 | "rustls", 4160 | "rustls-webpki", 4161 | "url", 4162 | "webpki-roots", 4163 | ] 4164 | 4165 | [[package]] 4166 | name = "url" 4167 | version = "2.4.1" 4168 | source = "registry+https://github.com/rust-lang/crates.io-index" 4169 | checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" 4170 | dependencies = [ 4171 | "form_urlencoded", 4172 | "idna", 4173 | "percent-encoding", 4174 | "serde", 4175 | ] 4176 | 4177 | [[package]] 4178 | name = "urlencoding" 4179 | version = "2.1.3" 4180 | source = "registry+https://github.com/rust-lang/crates.io-index" 4181 | checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" 4182 | 4183 | [[package]] 4184 | name = "usvg" 4185 | version = "0.34.1" 4186 | source = "registry+https://github.com/rust-lang/crates.io-index" 4187 | checksum = "d2304b933107198a910c1f3219acb65246f2b148f862703cffd51c6e62156abe" 4188 | dependencies = [ 4189 | "base64", 4190 | "log", 4191 | "pico-args", 4192 | "usvg-parser", 4193 | "usvg-text-layout", 4194 | "usvg-tree", 4195 | "xmlwriter", 4196 | ] 4197 | 4198 | [[package]] 4199 | name = "usvg-parser" 4200 | version = "0.34.0" 4201 | source = "registry+https://github.com/rust-lang/crates.io-index" 4202 | checksum = "12b940fea80394e3b14cb21c83fa1b8f8a41023c25929bba68bb84a76193ebed" 4203 | dependencies = [ 4204 | "data-url", 4205 | "flate2", 4206 | "imagesize", 4207 | "kurbo", 4208 | "log", 4209 | "roxmltree", 4210 | "simplecss", 4211 | "siphasher", 4212 | "svgtypes", 4213 | "usvg-tree", 4214 | ] 4215 | 4216 | [[package]] 4217 | name = "usvg-text-layout" 4218 | version = "0.34.0" 4219 | source = "registry+https://github.com/rust-lang/crates.io-index" 4220 | checksum = "69dfd6119f431aa7e969b4a69f9cc8b9ae37b8ae85bb26780ccfa3beaf8b71eb" 4221 | dependencies = [ 4222 | "fontdb", 4223 | "kurbo", 4224 | "log", 4225 | "rustybuzz", 4226 | "unicode-bidi", 4227 | "unicode-script", 4228 | "unicode-vo", 4229 | "usvg-tree", 4230 | ] 4231 | 4232 | [[package]] 4233 | name = "usvg-tree" 4234 | version = "0.34.0" 4235 | source = "registry+https://github.com/rust-lang/crates.io-index" 4236 | checksum = "3185eb13b6e3d3cf1817d29612251cc308d5a7e5e6235362e67efe832435c6d9" 4237 | dependencies = [ 4238 | "rctree", 4239 | "strict-num", 4240 | "svgtypes", 4241 | "tiny-skia-path 0.10.0", 4242 | ] 4243 | 4244 | [[package]] 4245 | name = "utf8parse" 4246 | version = "0.2.1" 4247 | source = "registry+https://github.com/rust-lang/crates.io-index" 4248 | checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" 4249 | 4250 | [[package]] 4251 | name = "uuid" 4252 | version = "1.4.1" 4253 | source = "registry+https://github.com/rust-lang/crates.io-index" 4254 | checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" 4255 | 4256 | [[package]] 4257 | name = "value-bag" 4258 | version = "1.4.1" 4259 | source = "registry+https://github.com/rust-lang/crates.io-index" 4260 | checksum = "d92ccd67fb88503048c01b59152a04effd0782d035a83a6d256ce6085f08f4a3" 4261 | 4262 | [[package]] 4263 | name = "vec_map" 4264 | version = "0.8.2" 4265 | source = "registry+https://github.com/rust-lang/crates.io-index" 4266 | checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" 4267 | 4268 | [[package]] 4269 | name = "version_check" 4270 | version = "0.9.4" 4271 | source = "registry+https://github.com/rust-lang/crates.io-index" 4272 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 4273 | 4274 | [[package]] 4275 | name = "vtable" 4276 | version = "0.1.11" 4277 | source = "registry+https://github.com/rust-lang/crates.io-index" 4278 | checksum = "9f4c7506238561777a1861d3dc3c0001877c475187e7bc4392ea87ebf631fd9c" 4279 | dependencies = [ 4280 | "const-field-offset", 4281 | "portable-atomic", 4282 | "stable_deref_trait", 4283 | "vtable-macro", 4284 | ] 4285 | 4286 | [[package]] 4287 | name = "vtable-macro" 4288 | version = "0.1.10" 4289 | source = "registry+https://github.com/rust-lang/crates.io-index" 4290 | checksum = "6b2b8eecdb8e4284adf5546fc518f048f6dc33e7203dbe36fa93a4add39b31f6" 4291 | dependencies = [ 4292 | "proc-macro2", 4293 | "quote", 4294 | "syn 2.0.38", 4295 | ] 4296 | 4297 | [[package]] 4298 | name = "waker-fn" 4299 | version = "1.1.1" 4300 | source = "registry+https://github.com/rust-lang/crates.io-index" 4301 | checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" 4302 | 4303 | [[package]] 4304 | name = "wasi" 4305 | version = "0.11.0+wasi-snapshot-preview1" 4306 | source = "registry+https://github.com/rust-lang/crates.io-index" 4307 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 4308 | 4309 | [[package]] 4310 | name = "wasm-bindgen" 4311 | version = "0.2.87" 4312 | source = "registry+https://github.com/rust-lang/crates.io-index" 4313 | checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" 4314 | dependencies = [ 4315 | "cfg-if", 4316 | "wasm-bindgen-macro", 4317 | ] 4318 | 4319 | [[package]] 4320 | name = "wasm-bindgen-backend" 4321 | version = "0.2.87" 4322 | source = "registry+https://github.com/rust-lang/crates.io-index" 4323 | checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" 4324 | dependencies = [ 4325 | "bumpalo", 4326 | "log", 4327 | "once_cell", 4328 | "proc-macro2", 4329 | "quote", 4330 | "syn 2.0.38", 4331 | "wasm-bindgen-shared", 4332 | ] 4333 | 4334 | [[package]] 4335 | name = "wasm-bindgen-futures" 4336 | version = "0.4.37" 4337 | source = "registry+https://github.com/rust-lang/crates.io-index" 4338 | checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" 4339 | dependencies = [ 4340 | "cfg-if", 4341 | "js-sys", 4342 | "wasm-bindgen", 4343 | "web-sys", 4344 | ] 4345 | 4346 | [[package]] 4347 | name = "wasm-bindgen-macro" 4348 | version = "0.2.87" 4349 | source = "registry+https://github.com/rust-lang/crates.io-index" 4350 | checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" 4351 | dependencies = [ 4352 | "quote", 4353 | "wasm-bindgen-macro-support", 4354 | ] 4355 | 4356 | [[package]] 4357 | name = "wasm-bindgen-macro-support" 4358 | version = "0.2.87" 4359 | source = "registry+https://github.com/rust-lang/crates.io-index" 4360 | checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" 4361 | dependencies = [ 4362 | "proc-macro2", 4363 | "quote", 4364 | "syn 2.0.38", 4365 | "wasm-bindgen-backend", 4366 | "wasm-bindgen-shared", 4367 | ] 4368 | 4369 | [[package]] 4370 | name = "wasm-bindgen-shared" 4371 | version = "0.2.87" 4372 | source = "registry+https://github.com/rust-lang/crates.io-index" 4373 | checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" 4374 | 4375 | [[package]] 4376 | name = "wayland-backend" 4377 | version = "0.1.2" 4378 | source = "registry+https://github.com/rust-lang/crates.io-index" 4379 | checksum = "41b48e27457e8da3b2260ac60d0a94512f5cba36448679f3747c0865b7893ed8" 4380 | dependencies = [ 4381 | "cc", 4382 | "downcast-rs", 4383 | "io-lifetimes", 4384 | "nix 0.26.4", 4385 | "scoped-tls", 4386 | "smallvec", 4387 | "wayland-sys 0.30.1", 4388 | ] 4389 | 4390 | [[package]] 4391 | name = "wayland-client" 4392 | version = "0.29.5" 4393 | source = "registry+https://github.com/rust-lang/crates.io-index" 4394 | checksum = "3f3b068c05a039c9f755f881dc50f01732214f5685e379829759088967c46715" 4395 | dependencies = [ 4396 | "bitflags 1.3.2", 4397 | "downcast-rs", 4398 | "libc", 4399 | "nix 0.24.3", 4400 | "scoped-tls", 4401 | "wayland-commons", 4402 | "wayland-scanner 0.29.5", 4403 | "wayland-sys 0.29.5", 4404 | ] 4405 | 4406 | [[package]] 4407 | name = "wayland-client" 4408 | version = "0.30.2" 4409 | source = "registry+https://github.com/rust-lang/crates.io-index" 4410 | checksum = "489c9654770f674fc7e266b3c579f4053d7551df0ceb392f153adb1f9ed06ac8" 4411 | dependencies = [ 4412 | "bitflags 1.3.2", 4413 | "nix 0.26.4", 4414 | "wayland-backend", 4415 | "wayland-scanner 0.30.1", 4416 | ] 4417 | 4418 | [[package]] 4419 | name = "wayland-commons" 4420 | version = "0.29.5" 4421 | source = "registry+https://github.com/rust-lang/crates.io-index" 4422 | checksum = "8691f134d584a33a6606d9d717b95c4fa20065605f798a3f350d78dced02a902" 4423 | dependencies = [ 4424 | "nix 0.24.3", 4425 | "once_cell", 4426 | "smallvec", 4427 | "wayland-sys 0.29.5", 4428 | ] 4429 | 4430 | [[package]] 4431 | name = "wayland-cursor" 4432 | version = "0.29.5" 4433 | source = "registry+https://github.com/rust-lang/crates.io-index" 4434 | checksum = "6865c6b66f13d6257bef1cd40cbfe8ef2f150fb8ebbdb1e8e873455931377661" 4435 | dependencies = [ 4436 | "nix 0.24.3", 4437 | "wayland-client 0.29.5", 4438 | "xcursor", 4439 | ] 4440 | 4441 | [[package]] 4442 | name = "wayland-protocols" 4443 | version = "0.29.5" 4444 | source = "registry+https://github.com/rust-lang/crates.io-index" 4445 | checksum = "b950621f9354b322ee817a23474e479b34be96c2e909c14f7bc0100e9a970bc6" 4446 | dependencies = [ 4447 | "bitflags 1.3.2", 4448 | "wayland-client 0.29.5", 4449 | "wayland-commons", 4450 | "wayland-scanner 0.29.5", 4451 | ] 4452 | 4453 | [[package]] 4454 | name = "wayland-scanner" 4455 | version = "0.29.5" 4456 | source = "registry+https://github.com/rust-lang/crates.io-index" 4457 | checksum = "8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53" 4458 | dependencies = [ 4459 | "proc-macro2", 4460 | "quote", 4461 | "xml-rs", 4462 | ] 4463 | 4464 | [[package]] 4465 | name = "wayland-scanner" 4466 | version = "0.30.1" 4467 | source = "registry+https://github.com/rust-lang/crates.io-index" 4468 | checksum = "b9b873b257fbc32ec909c0eb80dea312076a67014e65e245f5eb69a6b8ab330e" 4469 | dependencies = [ 4470 | "proc-macro2", 4471 | "quick-xml", 4472 | "quote", 4473 | ] 4474 | 4475 | [[package]] 4476 | name = "wayland-sys" 4477 | version = "0.29.5" 4478 | source = "registry+https://github.com/rust-lang/crates.io-index" 4479 | checksum = "be12ce1a3c39ec7dba25594b97b42cb3195d54953ddb9d3d95a7c3902bc6e9d4" 4480 | dependencies = [ 4481 | "dlib", 4482 | "lazy_static", 4483 | "pkg-config", 4484 | ] 4485 | 4486 | [[package]] 4487 | name = "wayland-sys" 4488 | version = "0.30.1" 4489 | source = "registry+https://github.com/rust-lang/crates.io-index" 4490 | checksum = "96b2a02ac608e07132978689a6f9bf4214949c85998c247abadd4f4129b1aa06" 4491 | dependencies = [ 4492 | "dlib", 4493 | "lazy_static", 4494 | "log", 4495 | "pkg-config", 4496 | ] 4497 | 4498 | [[package]] 4499 | name = "web-sys" 4500 | version = "0.3.64" 4501 | source = "registry+https://github.com/rust-lang/crates.io-index" 4502 | checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" 4503 | dependencies = [ 4504 | "js-sys", 4505 | "wasm-bindgen", 4506 | ] 4507 | 4508 | [[package]] 4509 | name = "webpki-roots" 4510 | version = "0.25.2" 4511 | source = "registry+https://github.com/rust-lang/crates.io-index" 4512 | checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" 4513 | 4514 | [[package]] 4515 | name = "weezl" 4516 | version = "0.1.7" 4517 | source = "registry+https://github.com/rust-lang/crates.io-index" 4518 | checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb" 4519 | 4520 | [[package]] 4521 | name = "which" 4522 | version = "4.4.2" 4523 | source = "registry+https://github.com/rust-lang/crates.io-index" 4524 | checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" 4525 | dependencies = [ 4526 | "either", 4527 | "home", 4528 | "once_cell", 4529 | "rustix 0.38.17", 4530 | ] 4531 | 4532 | [[package]] 4533 | name = "wild" 4534 | version = "2.2.0" 4535 | source = "registry+https://github.com/rust-lang/crates.io-index" 4536 | checksum = "10d01931a94d5a115a53f95292f51d316856b68a035618eb831bbba593a30b67" 4537 | dependencies = [ 4538 | "glob", 4539 | ] 4540 | 4541 | [[package]] 4542 | name = "winapi" 4543 | version = "0.3.9" 4544 | source = "registry+https://github.com/rust-lang/crates.io-index" 4545 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 4546 | dependencies = [ 4547 | "winapi-i686-pc-windows-gnu", 4548 | "winapi-x86_64-pc-windows-gnu", 4549 | ] 4550 | 4551 | [[package]] 4552 | name = "winapi-i686-pc-windows-gnu" 4553 | version = "0.4.0" 4554 | source = "registry+https://github.com/rust-lang/crates.io-index" 4555 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 4556 | 4557 | [[package]] 4558 | name = "winapi-util" 4559 | version = "0.1.6" 4560 | source = "registry+https://github.com/rust-lang/crates.io-index" 4561 | checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" 4562 | dependencies = [ 4563 | "winapi", 4564 | ] 4565 | 4566 | [[package]] 4567 | name = "winapi-wsapoll" 4568 | version = "0.1.1" 4569 | source = "registry+https://github.com/rust-lang/crates.io-index" 4570 | checksum = "44c17110f57155602a80dca10be03852116403c9ff3cd25b079d666f2aa3df6e" 4571 | dependencies = [ 4572 | "winapi", 4573 | ] 4574 | 4575 | [[package]] 4576 | name = "winapi-x86_64-pc-windows-gnu" 4577 | version = "0.4.0" 4578 | source = "registry+https://github.com/rust-lang/crates.io-index" 4579 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 4580 | 4581 | [[package]] 4582 | name = "windows" 4583 | version = "0.48.0" 4584 | source = "registry+https://github.com/rust-lang/crates.io-index" 4585 | checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" 4586 | dependencies = [ 4587 | "windows-implement", 4588 | "windows-interface", 4589 | "windows-targets 0.48.5", 4590 | ] 4591 | 4592 | [[package]] 4593 | name = "windows-implement" 4594 | version = "0.48.0" 4595 | source = "registry+https://github.com/rust-lang/crates.io-index" 4596 | checksum = "5e2ee588991b9e7e6c8338edf3333fbe4da35dc72092643958ebb43f0ab2c49c" 4597 | dependencies = [ 4598 | "proc-macro2", 4599 | "quote", 4600 | "syn 1.0.109", 4601 | ] 4602 | 4603 | [[package]] 4604 | name = "windows-interface" 4605 | version = "0.48.0" 4606 | source = "registry+https://github.com/rust-lang/crates.io-index" 4607 | checksum = "e6fb8df20c9bcaa8ad6ab513f7b40104840c8867d5751126e4df3b08388d0cc7" 4608 | dependencies = [ 4609 | "proc-macro2", 4610 | "quote", 4611 | "syn 1.0.109", 4612 | ] 4613 | 4614 | [[package]] 4615 | name = "windows-sys" 4616 | version = "0.45.0" 4617 | source = "registry+https://github.com/rust-lang/crates.io-index" 4618 | checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" 4619 | dependencies = [ 4620 | "windows-targets 0.42.2", 4621 | ] 4622 | 4623 | [[package]] 4624 | name = "windows-sys" 4625 | version = "0.48.0" 4626 | source = "registry+https://github.com/rust-lang/crates.io-index" 4627 | checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 4628 | dependencies = [ 4629 | "windows-targets 0.48.5", 4630 | ] 4631 | 4632 | [[package]] 4633 | name = "windows-targets" 4634 | version = "0.42.2" 4635 | source = "registry+https://github.com/rust-lang/crates.io-index" 4636 | checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" 4637 | dependencies = [ 4638 | "windows_aarch64_gnullvm 0.42.2", 4639 | "windows_aarch64_msvc 0.42.2", 4640 | "windows_i686_gnu 0.42.2", 4641 | "windows_i686_msvc 0.42.2", 4642 | "windows_x86_64_gnu 0.42.2", 4643 | "windows_x86_64_gnullvm 0.42.2", 4644 | "windows_x86_64_msvc 0.42.2", 4645 | ] 4646 | 4647 | [[package]] 4648 | name = "windows-targets" 4649 | version = "0.48.5" 4650 | source = "registry+https://github.com/rust-lang/crates.io-index" 4651 | checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 4652 | dependencies = [ 4653 | "windows_aarch64_gnullvm 0.48.5", 4654 | "windows_aarch64_msvc 0.48.5", 4655 | "windows_i686_gnu 0.48.5", 4656 | "windows_i686_msvc 0.48.5", 4657 | "windows_x86_64_gnu 0.48.5", 4658 | "windows_x86_64_gnullvm 0.48.5", 4659 | "windows_x86_64_msvc 0.48.5", 4660 | ] 4661 | 4662 | [[package]] 4663 | name = "windows_aarch64_gnullvm" 4664 | version = "0.42.2" 4665 | source = "registry+https://github.com/rust-lang/crates.io-index" 4666 | checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" 4667 | 4668 | [[package]] 4669 | name = "windows_aarch64_gnullvm" 4670 | version = "0.48.5" 4671 | source = "registry+https://github.com/rust-lang/crates.io-index" 4672 | checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 4673 | 4674 | [[package]] 4675 | name = "windows_aarch64_msvc" 4676 | version = "0.42.2" 4677 | source = "registry+https://github.com/rust-lang/crates.io-index" 4678 | checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" 4679 | 4680 | [[package]] 4681 | name = "windows_aarch64_msvc" 4682 | version = "0.48.5" 4683 | source = "registry+https://github.com/rust-lang/crates.io-index" 4684 | checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 4685 | 4686 | [[package]] 4687 | name = "windows_i686_gnu" 4688 | version = "0.42.2" 4689 | source = "registry+https://github.com/rust-lang/crates.io-index" 4690 | checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" 4691 | 4692 | [[package]] 4693 | name = "windows_i686_gnu" 4694 | version = "0.48.5" 4695 | source = "registry+https://github.com/rust-lang/crates.io-index" 4696 | checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 4697 | 4698 | [[package]] 4699 | name = "windows_i686_msvc" 4700 | version = "0.42.2" 4701 | source = "registry+https://github.com/rust-lang/crates.io-index" 4702 | checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" 4703 | 4704 | [[package]] 4705 | name = "windows_i686_msvc" 4706 | version = "0.48.5" 4707 | source = "registry+https://github.com/rust-lang/crates.io-index" 4708 | checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 4709 | 4710 | [[package]] 4711 | name = "windows_x86_64_gnu" 4712 | version = "0.42.2" 4713 | source = "registry+https://github.com/rust-lang/crates.io-index" 4714 | checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" 4715 | 4716 | [[package]] 4717 | name = "windows_x86_64_gnu" 4718 | version = "0.48.5" 4719 | source = "registry+https://github.com/rust-lang/crates.io-index" 4720 | checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 4721 | 4722 | [[package]] 4723 | name = "windows_x86_64_gnullvm" 4724 | version = "0.42.2" 4725 | source = "registry+https://github.com/rust-lang/crates.io-index" 4726 | checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" 4727 | 4728 | [[package]] 4729 | name = "windows_x86_64_gnullvm" 4730 | version = "0.48.5" 4731 | source = "registry+https://github.com/rust-lang/crates.io-index" 4732 | checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 4733 | 4734 | [[package]] 4735 | name = "windows_x86_64_msvc" 4736 | version = "0.42.2" 4737 | source = "registry+https://github.com/rust-lang/crates.io-index" 4738 | checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" 4739 | 4740 | [[package]] 4741 | name = "windows_x86_64_msvc" 4742 | version = "0.48.5" 4743 | source = "registry+https://github.com/rust-lang/crates.io-index" 4744 | checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 4745 | 4746 | [[package]] 4747 | name = "windres" 4748 | version = "0.2.2" 4749 | source = "registry+https://github.com/rust-lang/crates.io-index" 4750 | checksum = "82115619221b2b66001a39088b8059d171b1f9005a00d6a10c6e8a71a30a4cdc" 4751 | dependencies = [ 4752 | "concat-string", 4753 | "find-winsdk", 4754 | ] 4755 | 4756 | [[package]] 4757 | name = "winit" 4758 | version = "0.28.7" 4759 | source = "registry+https://github.com/rust-lang/crates.io-index" 4760 | checksum = "9596d90b45384f5281384ab204224876e8e8bf7d58366d9b795ad99aa9894b94" 4761 | dependencies = [ 4762 | "android-activity", 4763 | "bitflags 1.3.2", 4764 | "cfg_aliases", 4765 | "core-foundation", 4766 | "core-graphics 0.22.3", 4767 | "dispatch", 4768 | "instant", 4769 | "libc", 4770 | "log", 4771 | "mio", 4772 | "ndk", 4773 | "objc2", 4774 | "once_cell", 4775 | "orbclient", 4776 | "percent-encoding", 4777 | "raw-window-handle", 4778 | "redox_syscall", 4779 | "sctk-adwaita", 4780 | "smithay-client-toolkit", 4781 | "wasm-bindgen", 4782 | "wayland-client 0.29.5", 4783 | "wayland-commons", 4784 | "wayland-protocols", 4785 | "wayland-scanner 0.29.5", 4786 | "web-sys", 4787 | "windows-sys 0.45.0", 4788 | "x11-dl", 4789 | ] 4790 | 4791 | [[package]] 4792 | name = "winnow" 4793 | version = "0.5.16" 4794 | source = "registry+https://github.com/rust-lang/crates.io-index" 4795 | checksum = "037711d82167854aff2018dfd193aa0fef5370f456732f0d5a0c59b0f1b4b907" 4796 | dependencies = [ 4797 | "memchr", 4798 | ] 4799 | 4800 | [[package]] 4801 | name = "winreg" 4802 | version = "0.5.1" 4803 | source = "registry+https://github.com/rust-lang/crates.io-index" 4804 | checksum = "a27a759395c1195c4cc5cda607ef6f8f6498f64e78f7900f5de0a127a424704a" 4805 | dependencies = [ 4806 | "serde", 4807 | "winapi", 4808 | ] 4809 | 4810 | [[package]] 4811 | name = "wio" 4812 | version = "0.2.2" 4813 | source = "registry+https://github.com/rust-lang/crates.io-index" 4814 | checksum = "5d129932f4644ac2396cb456385cbf9e63b5b30c6e8dc4820bdca4eb082037a5" 4815 | dependencies = [ 4816 | "winapi", 4817 | ] 4818 | 4819 | [[package]] 4820 | name = "x11-clipboard" 4821 | version = "0.7.1" 4822 | source = "registry+https://github.com/rust-lang/crates.io-index" 4823 | checksum = "980b9aa9226c3b7de8e2adb11bf20124327c054e0e5812d2aac0b5b5a87e7464" 4824 | dependencies = [ 4825 | "x11rb 0.10.1", 4826 | ] 4827 | 4828 | [[package]] 4829 | name = "x11-dl" 4830 | version = "2.21.0" 4831 | source = "registry+https://github.com/rust-lang/crates.io-index" 4832 | checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" 4833 | dependencies = [ 4834 | "libc", 4835 | "once_cell", 4836 | "pkg-config", 4837 | ] 4838 | 4839 | [[package]] 4840 | name = "x11rb" 4841 | version = "0.10.1" 4842 | source = "registry+https://github.com/rust-lang/crates.io-index" 4843 | checksum = "592b4883219f345e712b3209c62654ebda0bb50887f330cbd018d0f654bfd507" 4844 | dependencies = [ 4845 | "gethostname 0.2.3", 4846 | "nix 0.24.3", 4847 | "winapi", 4848 | "winapi-wsapoll", 4849 | "x11rb-protocol 0.10.0", 4850 | ] 4851 | 4852 | [[package]] 4853 | name = "x11rb" 4854 | version = "0.12.0" 4855 | source = "registry+https://github.com/rust-lang/crates.io-index" 4856 | checksum = "b1641b26d4dec61337c35a1b1aaf9e3cba8f46f0b43636c609ab0291a648040a" 4857 | dependencies = [ 4858 | "as-raw-xcb-connection", 4859 | "gethostname 0.3.0", 4860 | "libc", 4861 | "libloading 0.7.4", 4862 | "nix 0.26.4", 4863 | "once_cell", 4864 | "winapi", 4865 | "winapi-wsapoll", 4866 | "x11rb-protocol 0.12.0", 4867 | ] 4868 | 4869 | [[package]] 4870 | name = "x11rb-protocol" 4871 | version = "0.10.0" 4872 | source = "registry+https://github.com/rust-lang/crates.io-index" 4873 | checksum = "56b245751c0ac9db0e006dc812031482784e434630205a93c73cfefcaabeac67" 4874 | dependencies = [ 4875 | "nix 0.24.3", 4876 | ] 4877 | 4878 | [[package]] 4879 | name = "x11rb-protocol" 4880 | version = "0.12.0" 4881 | source = "registry+https://github.com/rust-lang/crates.io-index" 4882 | checksum = "82d6c3f9a0fb6701fab8f6cea9b0c0bd5d6876f1f89f7fada07e558077c344bc" 4883 | dependencies = [ 4884 | "nix 0.26.4", 4885 | ] 4886 | 4887 | [[package]] 4888 | name = "xattr" 4889 | version = "1.0.1" 4890 | source = "registry+https://github.com/rust-lang/crates.io-index" 4891 | checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985" 4892 | dependencies = [ 4893 | "libc", 4894 | ] 4895 | 4896 | [[package]] 4897 | name = "xcursor" 4898 | version = "0.3.4" 4899 | source = "registry+https://github.com/rust-lang/crates.io-index" 4900 | checksum = "463705a63313cd4301184381c5e8042f0a7e9b4bb63653f216311d4ae74690b7" 4901 | dependencies = [ 4902 | "nom", 4903 | ] 4904 | 4905 | [[package]] 4906 | name = "xdg-home" 4907 | version = "1.0.0" 4908 | source = "registry+https://github.com/rust-lang/crates.io-index" 4909 | checksum = "2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd" 4910 | dependencies = [ 4911 | "nix 0.26.4", 4912 | "winapi", 4913 | ] 4914 | 4915 | [[package]] 4916 | name = "xkbcommon" 4917 | version = "0.6.0" 4918 | source = "registry+https://github.com/rust-lang/crates.io-index" 4919 | checksum = "c286371c44b3572d19b09196c129a8fff47d7704d6494daefb44fec10f0278ab" 4920 | dependencies = [ 4921 | "libc", 4922 | "memmap2 0.7.1", 4923 | "xkeysym", 4924 | ] 4925 | 4926 | [[package]] 4927 | name = "xkeysym" 4928 | version = "0.2.0" 4929 | source = "registry+https://github.com/rust-lang/crates.io-index" 4930 | checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621" 4931 | 4932 | [[package]] 4933 | name = "xml-rs" 4934 | version = "0.8.19" 4935 | source = "registry+https://github.com/rust-lang/crates.io-index" 4936 | checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" 4937 | 4938 | [[package]] 4939 | name = "xmlparser" 4940 | version = "0.13.6" 4941 | source = "registry+https://github.com/rust-lang/crates.io-index" 4942 | checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" 4943 | 4944 | [[package]] 4945 | name = "xmlwriter" 4946 | version = "0.1.0" 4947 | source = "registry+https://github.com/rust-lang/crates.io-index" 4948 | checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9" 4949 | 4950 | [[package]] 4951 | name = "zbus" 4952 | version = "3.14.1" 4953 | source = "registry+https://github.com/rust-lang/crates.io-index" 4954 | checksum = "31de390a2d872e4cd04edd71b425e29853f786dc99317ed72d73d6fcf5ebb948" 4955 | dependencies = [ 4956 | "async-broadcast", 4957 | "async-executor", 4958 | "async-fs", 4959 | "async-io", 4960 | "async-lock", 4961 | "async-process", 4962 | "async-recursion", 4963 | "async-task", 4964 | "async-trait", 4965 | "blocking", 4966 | "byteorder", 4967 | "derivative", 4968 | "enumflags2", 4969 | "event-listener", 4970 | "futures-core", 4971 | "futures-sink", 4972 | "futures-util", 4973 | "hex", 4974 | "nix 0.26.4", 4975 | "once_cell", 4976 | "ordered-stream", 4977 | "rand", 4978 | "serde", 4979 | "serde_repr", 4980 | "sha1", 4981 | "static_assertions", 4982 | "tracing", 4983 | "uds_windows", 4984 | "winapi", 4985 | "xdg-home", 4986 | "zbus_macros", 4987 | "zbus_names", 4988 | "zvariant", 4989 | ] 4990 | 4991 | [[package]] 4992 | name = "zbus_macros" 4993 | version = "3.14.1" 4994 | source = "registry+https://github.com/rust-lang/crates.io-index" 4995 | checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d" 4996 | dependencies = [ 4997 | "proc-macro-crate", 4998 | "proc-macro2", 4999 | "quote", 5000 | "regex", 5001 | "syn 1.0.109", 5002 | "zvariant_utils", 5003 | ] 5004 | 5005 | [[package]] 5006 | name = "zbus_names" 5007 | version = "2.6.0" 5008 | source = "registry+https://github.com/rust-lang/crates.io-index" 5009 | checksum = "fb80bb776dbda6e23d705cf0123c3b95df99c4ebeaec6c2599d4a5419902b4a9" 5010 | dependencies = [ 5011 | "serde", 5012 | "static_assertions", 5013 | "zvariant", 5014 | ] 5015 | 5016 | [[package]] 5017 | name = "zune-inflate" 5018 | version = "0.2.54" 5019 | source = "registry+https://github.com/rust-lang/crates.io-index" 5020 | checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02" 5021 | dependencies = [ 5022 | "simd-adler32", 5023 | ] 5024 | 5025 | [[package]] 5026 | name = "zvariant" 5027 | version = "3.15.0" 5028 | source = "registry+https://github.com/rust-lang/crates.io-index" 5029 | checksum = "44b291bee0d960c53170780af148dca5fa260a63cdd24f1962fa82e03e53338c" 5030 | dependencies = [ 5031 | "byteorder", 5032 | "enumflags2", 5033 | "libc", 5034 | "serde", 5035 | "static_assertions", 5036 | "url", 5037 | "zvariant_derive", 5038 | ] 5039 | 5040 | [[package]] 5041 | name = "zvariant_derive" 5042 | version = "3.15.0" 5043 | source = "registry+https://github.com/rust-lang/crates.io-index" 5044 | checksum = "934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd" 5045 | dependencies = [ 5046 | "proc-macro-crate", 5047 | "proc-macro2", 5048 | "quote", 5049 | "syn 1.0.109", 5050 | "zvariant_utils", 5051 | ] 5052 | 5053 | [[package]] 5054 | name = "zvariant_utils" 5055 | version = "1.0.1" 5056 | source = "registry+https://github.com/rust-lang/crates.io-index" 5057 | checksum = "7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200" 5058 | dependencies = [ 5059 | "proc-macro2", 5060 | "quote", 5061 | "syn 1.0.109", 5062 | ] 5063 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "pv-unlocker" 3 | version = "0.8.0" 4 | authors = ["Carl "] 5 | edition = "2021" 6 | build = "build.rs" 7 | 8 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 9 | 10 | [dependencies] 11 | slint = "1.2.1" 12 | ab_versions = {git = "https://github.com/Vadoola/ab_versions_rs.git"} 13 | clap = { version = "4.3", features = ["derive"] } 14 | rayon = "1.5" 15 | wild = "2.1" 16 | rfd = { version = "0.12", default-features = false, features = ["xdg-portal"]} 17 | log = "0.4.20" 18 | simplelog = "0.12.1" 19 | 20 | [build-dependencies] 21 | slint-build = "1.2.1" 22 | 23 | [profile.release] 24 | #https://github.com/johnthagen/min-sized-rust 25 | strip = true 26 | opt-level = "z" 27 | lto = true 28 | codegen-units = 1 29 | #panic = "abort" 30 | 31 | [target.'cfg(windows)'.build-dependencies] 32 | windres = "0.2.2" 33 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # UPDATE 2025-03-13: If you are running a newer version of FT View / Application Manager or the Patch RollUps restoring runtimes "fixed" with this tool, no longer restore. They will continue to restore with older versions of FT View, although I'm not sure exactly at which version, or patch rollup things changed. See [Issue #7](https://github.com/Vadoola/ab_versions_rs/issues/7) for more. 2 | 3 | # PV Unlocker 4 | 5 | This is a program used to check the version of an MER PanelView runtime or FactoryTalk View PanelView archive file (APA). If the MER is locked or marked as Never allow conversion back into a Project file. This can strip that, and allow the project to be recovered. 6 | 7 | My initial crude version of this I had set up to right click on an MER or APA and get the version and unlock it. I manually edited the registry on my machine for this to work. Right now as I haven't created an installer, unless you manually set this up in the registry you won't be able to right click an MER or APA and run this. 8 | 9 | ### To Use 10 | Run the executable, click 'Select Files', and pick the files you want to open. A list of files will appear with the file name, version number, and an icon representing the locked/unlocked status. If you want to unlock a file, click the red locked icon next to it to unlock it (this will directly modify the file, so if you are worried about it breaking, work on a copy). 11 | 12 | You can also run the file from the command line and pass it a list of files such as: `pv-unlocker.exe *.mer` and it will show you the status of those files. 13 | 14 | 15 | ## Future Goals 16 | I had thought about instead of a small app, making this a windows shell extension, overlay a lock icon if the file is locked, allow you to right click and unlock it, Maybe see the Runtime version in the File Details pane. I have never made a windows shell extension before, and haven't had the time to dig into it. 17 | -------------------------------------------------------------------------------- /assets/icons/info.svg: -------------------------------------------------------------------------------- 1 | 2 | 11 | 13 | 18 | 19 | -------------------------------------------------------------------------------- /assets/icons/logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vadoola/pv-unlocker/02167c96c52f13e021b4a06b3558bc5ffdca9dd1/assets/icons/logo.ico -------------------------------------------------------------------------------- /assets/icons/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vadoola/pv-unlocker/02167c96c52f13e021b4a06b3558bc5ffdca9dd1/assets/icons/logo.png -------------------------------------------------------------------------------- /assets/icons/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 22 | 47 | 49 | 54 | 63 | 69 | 76 | 83 | 90 | 94 | 104 | 111 | 118 | 125 | 131 | 137 | 143 | 149 | 155 | 161 | 167 | 173 | 179 | 185 | 191 | 197 | 204 | 211 | 212 | 221 | 227 | 228 | 230 | 231 | 232 | image/svg+xml 233 | 235 | 237 | 238 | 240 | Openclipart 241 | 242 | 243 | Logic Controller HMI 244 | 2012-12-05T10:48:18 245 | AN HMI Screen for a Programmable Logic Controller 246 | https://openclipart.org/detail/173565/logic-controller-hmi-by-deusinvictus-173565 247 | 248 | 249 | deusinvictus 250 | 251 | 252 | 253 | 254 | Automation 255 | HMI 256 | Ladder Logic 257 | Logic Controller 258 | PLC 259 | 260 | 261 | 262 | 264 | 266 | 268 | 270 | 271 | 272 | 273 | 274 | -------------------------------------------------------------------------------- /assets/icons/protected.svg: -------------------------------------------------------------------------------- 1 | 2 | 11 | 13 | 18 | 19 | -------------------------------------------------------------------------------- /assets/icons/unlocked.svg: -------------------------------------------------------------------------------- 1 | 2 | 11 | 13 | 18 | 19 | -------------------------------------------------------------------------------- /build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | #[cfg(windows)] 3 | windres::Build::new().compile("pv-unlocker.rc").unwrap(); 4 | 5 | slint_build::compile("ui/appwindow.slint").unwrap(); 6 | } 7 | -------------------------------------------------------------------------------- /pv-unlocker.rc: -------------------------------------------------------------------------------- 1 | exe-icon ICON "assets/icons/logo.ico" 2 | logo-icon ICON "assets/icons/logo.ico" -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | #![windows_subsystem = "windows"] 2 | //#![deny(clippy::all)] 3 | //#![deny(clippy::pedantic)] 4 | //#![deny(clippy::nursery)] 5 | //#![deny(clippy::cargo)] 6 | //#![deny(missing_docs)] 7 | 8 | use ab_versions::{get_version, is_protected, strip_protection}; 9 | use clap::Parser; 10 | use log::error; 11 | use rayon::prelude::{IntoParallelRefIterator, ParallelIterator}; 12 | use rfd::FileDialog; 13 | use simplelog::{CombinedLogger, Config, LevelFilter, SimpleLogger, WriteLogger}; 14 | use slint::{Model, ModelRc, Timer, TimerMode, VecModel}; 15 | use std::{ 16 | borrow::BorrowMut, cell::RefCell, collections::HashMap, fs::File, path::PathBuf, rc::Rc, 17 | }; 18 | 19 | #[derive(Parser)] 20 | #[command(author, version, about, long_about = None)] 21 | struct Args { 22 | files: Vec, 23 | } 24 | 25 | slint::include_modules!(); 26 | 27 | fn main() -> Result<(), slint::PlatformError> { 28 | CombinedLogger::init(vec![ 29 | #[cfg(feature = "termcolor")] 30 | TermLogger::new( 31 | LevelFilter::Warn, 32 | Config::default(), 33 | TerminalMode::Mixed, 34 | ColorChoice::Auto, 35 | ), 36 | #[cfg(not(feature = "termcolor"))] 37 | SimpleLogger::new(LevelFilter::Warn, Config::default()), 38 | WriteLogger::new( 39 | LevelFilter::Info, 40 | Config::default(), 41 | File::create("my_rust_binary.log").expect("Failed to create log file"), 42 | ), 43 | ]) 44 | .expect("Failed to create logging infrastructure"); 45 | 46 | let args = Args::parse_from(wild::args()); 47 | let files = Rc::new(RefCell::new(process_paths(args.files))); 48 | 49 | let ui = AppWindow::new()?; 50 | let mut file_model = Rc::new(VecModel::default()); 51 | 52 | //if files were passed on the command line process them and add them to the UI model 53 | let info = get_file_info(&files.borrow()); 54 | file_model.borrow_mut().extend(info); 55 | 56 | ui.set_files(ModelRc::from(file_model.clone())); 57 | 58 | let unlock_file_model = file_model.clone(); 59 | let unlock_files = files.clone(); 60 | let unlock_ui = ui.as_weak(); 61 | ui.on_unlock(move |file, idx| { 62 | if let Some(path) = unlock_files.borrow().get(&file.to_string()) { 63 | if let Ok(ver) = get_version(path) { 64 | if ver.is_restorable() { 65 | let unlock_file_model = unlock_file_model.as_ref(); 66 | match strip_protection(path) { 67 | Ok(()) => { 68 | //After attempting to unlock it update the model with the new protected status 69 | //by verifying it in the file on disk 70 | if let Some(mut row_data) = unlock_file_model.row_data(idx as usize) { 71 | match is_protected(&path) { 72 | Ok(lck) => { 73 | row_data.locked = lck; 74 | unlock_file_model.set_row_data(idx as usize, row_data); 75 | } 76 | Err(e) => { 77 | error!( 78 | "Unable to confirm file {} was unlocked. Reason: {e}", 79 | path.display() 80 | ); 81 | if let Some(unlock_ui) = unlock_ui.upgrade() { 82 | row_data.note = "Unable to confirm file was unlocked".into(); 83 | unlock_file_model.set_row_data(idx as usize, row_data); 84 | unlock_ui.invoke_slide_over(idx); 85 | } 86 | } 87 | } 88 | } 89 | } 90 | Err(e) => { 91 | error!("Failed to unlock file {}. Reason: {e}", path.display()); 92 | if let Some(mut row_data) = unlock_file_model.row_data(idx as usize) { 93 | if let Some(unlock_ui) = unlock_ui.upgrade() { 94 | row_data.note = "Failed to unlock file".into(); 95 | unlock_file_model.set_row_data(idx as usize, row_data); 96 | unlock_ui.invoke_slide_over(idx); 97 | } 98 | } 99 | } 100 | } 101 | } else if let Some(unlock_ui) = unlock_ui.upgrade() { 102 | unlock_ui.invoke_slide_over(idx); 103 | } 104 | } 105 | } //else display some sort of toast message with the error? 106 | }); 107 | 108 | let sel_file_model = file_model.clone(); 109 | let mut sel_files = files.clone(); 110 | ui.on_select_files(move || { 111 | if let Some(new_files) = FileDialog::new() 112 | .add_filter("FT View Files", &["mer", "MER", "apa", "APA"]) 113 | .pick_files() 114 | { 115 | sel_files.borrow_mut().replace(process_paths(new_files)); 116 | 117 | sel_file_model.set_vec(get_file_info(&sel_files.borrow())); 118 | } 119 | }); 120 | 121 | let info_file_model_start = file_model.clone(); 122 | let mut info_timers: Vec = (0..file_model.row_count()).map(|_i|Timer::default()).collect(); 123 | ui.on_slide_over(move |idx| { 124 | let idx = idx as usize; 125 | if idx >= info_timers.len() { 126 | info_timers.extend((info_timers.len()..idx+1).map(|_| Timer::default())); 127 | } 128 | let info_file_model_stop = info_file_model_start.clone(); 129 | let info_file_model_start = info_file_model_start.as_ref(); 130 | if let Some(mut fi) = info_file_model_start.row_data(idx) { 131 | fi.note_vis = true; 132 | info_file_model_start.set_row_data(idx, fi); 133 | } 134 | info_timers[idx].start(TimerMode::SingleShot, std::time::Duration::from_secs(5), move || { 135 | let info_file_model_stop = info_file_model_stop.clone(); 136 | let info_file_model_stop = info_file_model_stop.as_ref(); 137 | if let Some(mut fi) = info_file_model_stop.row_data(idx) { 138 | fi.note_vis = false; 139 | info_file_model_stop.set_row_data(idx, fi); 140 | } 141 | }); 142 | }); 143 | 144 | ui.run() 145 | } 146 | 147 | fn process_paths(files: Vec) -> HashMap { 148 | files 149 | .into_iter() 150 | .map(|pb| { 151 | let name = { 152 | let tmp_name = pb.file_name().map(std::ffi::OsStr::to_string_lossy); 153 | 154 | if let Some(tmp_name) = tmp_name { 155 | tmp_name.to_string() 156 | } else { 157 | pb.display().to_string() 158 | } 159 | }; 160 | (name, pb) 161 | }) 162 | .collect() 163 | } 164 | 165 | fn get_file_info(files: &HashMap) -> Vec { 166 | files 167 | .par_iter() 168 | .filter_map(|(name, file)| match get_version(&file) { 169 | Ok(ver) => { 170 | let note = if ver.is_old() { 171 | if ver.is_restorable() { 172 | "As an old MER some features may not restore correctly." 173 | } else { 174 | "Restoring a file this old is currently unsupported." 175 | } 176 | } else { 177 | "" 178 | }; 179 | 180 | let lckd = if ver.is_restorable() { 181 | match is_protected(&file) { 182 | Ok(prot) => prot, 183 | Err(e) => { 184 | error!( 185 | "Unable to get file protected status from {}. Reason: {e}", 186 | file.display() 187 | ); 188 | true 189 | } 190 | } 191 | } else { 192 | true 193 | }; 194 | 195 | Some(file_info { 196 | locked: lckd, 197 | file_name: name.into(), 198 | file_ver: ver.to_string().into(), 199 | note: note.into(), 200 | note_vis: false, 201 | }) 202 | } 203 | Err(e) => { 204 | error!( 205 | "Unable to get file version from {}, file may not be a valid MER/APA file. Reason: {e}", 206 | file.display() 207 | ); 208 | None 209 | } 210 | }) 211 | .collect() 212 | } 213 | -------------------------------------------------------------------------------- /ui/appwindow.slint: -------------------------------------------------------------------------------- 1 | import { Button, VerticalBox , HorizontalBox, ListView} from "std-widgets.slint"; 2 | 3 | export struct file_info { 4 | locked: bool, 5 | file_name: string, 6 | file_ver: string, 7 | note: string, 8 | note_vis: bool, 9 | } 10 | 11 | component SlideOver inherits Rectangle { 12 | in property info: "test string"; 13 | visible: false; 14 | VerticalLayout { 15 | Rectangle { 16 | Text { 17 | text: info; 18 | vertical-alignment: center; 19 | font-weight: 900; 20 | horizontal-stretch: 1; 21 | font-size: 10pt; 22 | } 23 | } 24 | Rectangle { 25 | height: 5%; 26 | width: 100%; 27 | background: #F7630C; 28 | } 29 | } 30 | } 31 | 32 | component FileInfo inherits HorizontalLayout { 33 | 34 | in-out property info : { 35 | locked: true, 36 | file-name: "My File.mer", 37 | file-ver: "12.0", 38 | note: "test", 39 | note_vis: false, 40 | }; 41 | 42 | property icon-color: info.locked ? #ff4343 : #107c10; 43 | 44 | callback unlock(string); 45 | callback slide-over(); 46 | 47 | padding: 5px; 48 | height: 50px; 49 | 50 | Rectangle { 51 | border-width: 1px; 52 | inf-so := SlideOver { 53 | info: root.info.note; 54 | visible: info.note-vis; 55 | states [ 56 | vis when self.visible : { 57 | x: 0px; 58 | } 59 | not-vis when !self.visible : { 60 | x: root.width * -1; 61 | } 62 | ] 63 | 64 | animate x { 65 | duration: 1000ms; 66 | easing: ease-in-out; 67 | } 68 | } 69 | HorizontalBox { 70 | lbl := Text { 71 | text: "\{info.file_name}: (v\{info.file_ver})"; 72 | vertical-alignment: center; 73 | font-weight: 900; 74 | horizontal-stretch: 1; 75 | font-size: 10pt; 76 | } 77 | info-icon := Image { 78 | //this circle question icon is a temporary one while I'm offline, I just had it on my machine 79 | source: @image-url("../assets/icons/info.svg"); 80 | colorize: #F7630C; 81 | height: 80%; 82 | y: (root.height - self.height) / 2; 83 | width: self.height; 84 | visible: info.note != ""; 85 | info-ta := TouchArea { 86 | clicked => { 87 | slide-over(); 88 | } 89 | } 90 | } 91 | icon := Image { 92 | source: info.locked ? @image-url("../assets/icons/protected.svg") : @image-url("../assets/icons/unlocked.svg"); 93 | colorize: icon-color; 94 | height: 100%; 95 | width: self.height; 96 | //y: 1px; 97 | horizontal-stretch: 0; 98 | 99 | icn-ta := TouchArea { 100 | clicked => { 101 | if (info.locked) { 102 | unlock(info.file-name) 103 | } 104 | } 105 | } 106 | 107 | states [ 108 | clicked when icn-ta.pressed && info.locked: { 109 | colorize: icon-color.darker(0.4); 110 | } 111 | hvr when icn-ta.has-hover && info.locked : { 112 | colorize: icon-color.brighter(0.4); 113 | } 114 | not-hvr when !icn-ta.has-hover : { 115 | colorize: icon-color; 116 | } 117 | ] 118 | } 119 | 120 | states [ 121 | vis when !inf-so.visible : { 122 | x: 0px; 123 | } 124 | not-vis when inf-so.visible : { 125 | x: root.width; 126 | } 127 | ] 128 | 129 | animate x { 130 | duration: 1000ms; 131 | easing: ease-in-out; 132 | } 133 | } 134 | } 135 | } 136 | 137 | export component AppWindow inherits Window { 138 | min-height: 320px; 139 | min-width: 480px; 140 | icon: @image-url("../assets/icons/logo.png"); 141 | in property<[file_info]> files; 142 | 143 | callback unlock(string, int); 144 | callback select_files(); 145 | callback slide_over(int); 146 | 147 | vl := VerticalLayout { 148 | ListView { 149 | for f_info[idx] in files : FileInfo { 150 | info: f_info; 151 | unlock => { unlock(f_info.file_name, idx); } 152 | slide-over => { slide-over(idx); } 153 | } 154 | } 155 | Button { 156 | text: "Select Files"; 157 | clicked => { select_files(); } 158 | } 159 | } 160 | } --------------------------------------------------------------------------------